From babf260b5f1be2682e07c5a32341804d7d46f6df Mon Sep 17 00:00:00 2001 From: Matt Jolly Date: Sun, 3 Nov 2024 12:26:38 +1000 Subject: profiles/arch/mips: use.mask system-llvm on rust-1.71.1-r100 This requires a version of LLVM that is not keyworded for mips. Signed-off-by: Matt Jolly --- profiles/arch/mips/package.use.mask | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'profiles') 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 (2024-11-03) +# Requires llvm 16 which is not keyworded +=dev-lang/rust-1.71.1-r100 system-llvm + # Felix Janda (2024-10-20) # requires dev-libs/libcss and net-libs/libdom to be keyworded www-client/elinks libcss -- cgit v1.2.3-65-gdbad From d7bd8c4c8682accd163291d8b8900ed865ee099e Mon Sep 17 00:00:00 2001 From: Matt Jolly Date: Thu, 7 Nov 2024 11:24:05 +1000 Subject: profiles: mask dev-util/wasmer Signed-off-by: Matt Jolly --- profiles/package.mask | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'profiles') diff --git a/profiles/package.mask b/profiles/package.mask index 268e282ef5ba..6e23cfe2d5fc 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -33,6 +33,10 @@ #--- END OF EXAMPLES --- +# Matt Jolly (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 (2024-11-08) # Obsolete slot. Use a newer slot instead. Removal on 2024-12-08. dev-ruby/faker:2 -- cgit v1.2.3-65-gdbad From 0eb469f813b2dc67c0c7d6ca26bad787269937a0 Mon Sep 17 00:00:00 2001 From: Matt Jolly Date: Thu, 7 Nov 2024 12:08:23 +1000 Subject: profiles: mask dev-lang/starlark-rust Signed-off-by: Matt Jolly --- profiles/package.mask | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'profiles') diff --git a/profiles/package.mask b/profiles/package.mask index 6e23cfe2d5fc..756e586620fa 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -33,6 +33,38 @@ #--- END OF EXAMPLES --- +# Matt Jolly (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 (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 (2024-11-09) # Does not build with any rust version in the tree. Removal in 30 days. =dev-util/wasmer-0.11.0 -- cgit v1.2.3-65-gdbad From 01ba4dc61965ef7658a24728841c04c9a1ce4871 Mon Sep 17 00:00:00 2001 From: Matt Jolly Date: Mon, 4 Nov 2024 17:24:14 +1000 Subject: */*: update for slotted Rust Tidyups: - $(cargo_crate_uris) - Rust BDEPENDS come from the eclass except in very rare circumstances (RUST_OPTIONAL=1) - RUST_M{AX,IN}_VER where required. - Suboptimal crate separator (`-` -> `@`) Signed-off-by: Matt Jolly Closes: https://github.com/gentoo/gentoo/pull/39218 Signed-off-by: Matt Jolly --- app-antivirus/clamav/clamav-1.0.5-r1.ebuild | 389 +++++ app-antivirus/clamav/clamav-1.0.5.ebuild | 392 ----- app-antivirus/clamav/clamav-1.0.7-r1.ebuild | 401 ++++++ app-antivirus/clamav/clamav-1.0.7.ebuild | 404 ------ app-antivirus/clamav/clamav-1.2.2-r1.ebuild | 391 +++++ app-antivirus/clamav/clamav-1.2.2.ebuild | 393 ----- app-antivirus/clamav/clamav-1.4.1-r1.ebuild | 415 ------ app-antivirus/clamav/clamav-1.4.1-r2.ebuild | 413 ++++++ app-backup/rdedup/rdedup-1.0.2-r1.ebuild | 74 - app-backup/rdedup/rdedup-1.0.2-r2.ebuild | 74 + .../hyperfine/hyperfine-1.18.0-r1.ebuild | 204 +++ app-benchmarks/hyperfine/hyperfine-1.18.0.ebuild | 206 --- .../aardvark-dns/aardvark-dns-1.10.0-r1.ebuild | 47 + .../aardvark-dns/aardvark-dns-1.10.0.ebuild | 47 - .../aardvark-dns/aardvark-dns-1.11.0-r1.ebuild | 47 + .../aardvark-dns/aardvark-dns-1.11.0.ebuild | 47 - .../aardvark-dns/aardvark-dns-1.12.2-r1.ebuild | 47 + .../aardvark-dns/aardvark-dns-1.12.2.ebuild | 47 - .../aardvark-dns/aardvark-dns-1.9.0-r1.ebuild | 47 + .../aardvark-dns/aardvark-dns-1.9.0.ebuild | 47 - app-containers/netavark/netavark-1.10.2-r1.ebuild | 59 + app-containers/netavark/netavark-1.10.2.ebuild | 59 - app-containers/netavark/netavark-1.10.3-r1.ebuild | 59 + app-containers/netavark/netavark-1.10.3.ebuild | 59 - app-containers/netavark/netavark-1.11.0-r1.ebuild | 59 + app-containers/netavark/netavark-1.11.0.ebuild | 59 - app-containers/netavark/netavark-1.12.2-r1.ebuild | 59 + app-containers/netavark/netavark-1.12.2.ebuild | 59 - app-containers/netavark/netavark-1.9.0-r1.ebuild | 59 + app-containers/netavark/netavark-1.9.0.ebuild | 59 - app-crypt/nitrocli/nitrocli-0.4.1-r1.ebuild | 120 ++ app-crypt/nitrocli/nitrocli-0.4.1.ebuild | 120 -- app-crypt/rpm-sequoia/rpm-sequoia-1.6.0-r1.ebuild | 305 ++++ app-crypt/rpm-sequoia/rpm-sequoia-1.6.0.ebuild | 299 ---- app-crypt/rpm-sequoia/rpm-sequoia-1.7.0-r1.ebuild | 317 ++++ app-crypt/rpm-sequoia/rpm-sequoia-1.7.0.ebuild | 311 ---- .../sequoia-chameleon-gnupg-0.10.0-r1.ebuild | 453 ++++++ .../sequoia-chameleon-gnupg-0.10.0.ebuild | 447 ------ .../sequoia-chameleon-gnupg-0.10.1-r1.ebuild | 451 ++++++ .../sequoia-chameleon-gnupg-0.10.1.ebuild | 445 ------ .../sequoia-chameleon-gnupg-0.8.0-r1.ebuild | 424 ++++++ .../sequoia-chameleon-gnupg-0.8.0.ebuild | 418 ------ .../sequoia-chameleon-gnupg-0.9.0-r1.ebuild | 427 ++++++ .../sequoia-chameleon-gnupg-0.9.0.ebuild | 421 ------ app-crypt/sequoia-sq/sequoia-sq-0.35.0-r1.ebuild | 559 +++++++ app-crypt/sequoia-sq/sequoia-sq-0.35.0.ebuild | 555 ------- app-crypt/sequoia-sq/sequoia-sq-0.36.0-r1.ebuild | 563 ++++++++ app-crypt/sequoia-sq/sequoia-sq-0.36.0.ebuild | 559 ------- app-crypt/sequoia-sq/sequoia-sq-0.37.0-r1.ebuild | 589 ++++++++ app-crypt/sequoia-sq/sequoia-sq-0.37.0.ebuild | 585 -------- app-crypt/sequoia-sqv/sequoia-sqv-1.2.1-r1.ebuild | 324 +++++ app-crypt/sequoia-sqv/sequoia-sqv-1.2.1.ebuild | 318 ---- app-editors/helix/helix-24.03-r1.ebuild | 362 ----- app-editors/helix/helix-24.03-r2.ebuild | 362 +++++ app-editors/helix/helix-24.07-r1.ebuild | 363 +++++ app-editors/helix/helix-24.07.ebuild | 362 ----- app-editors/zed/zed-0.155.2-r1.ebuild | 142 ++ app-editors/zed/zed-0.155.2.ebuild | 139 -- app-editors/zed/zed-0.159.10-r1.ebuild | 171 +++ app-editors/zed/zed-0.159.10.ebuild | 168 --- app-editors/zed/zed-0.160.7-r1.ebuild | 171 +++ app-editors/zed/zed-0.160.7.ebuild | 168 --- app-emulation/ruffle/ruffle-0_p20240929-r1.ebuild | 118 ++ app-emulation/ruffle/ruffle-0_p20240929.ebuild | 117 -- app-emulation/ruffle/ruffle-0_p20241027-r1.ebuild | 118 ++ app-emulation/ruffle/ruffle-0_p20241027.ebuild | 117 -- app-emulation/ruffle/ruffle-9999.ebuild | 3 +- app-emulation/virtiofsd/virtiofsd-1.10.0-r1.ebuild | 148 ++ app-emulation/virtiofsd/virtiofsd-1.10.0.ebuild | 148 -- app-emulation/virtiofsd/virtiofsd-1.10.1-r1.ebuild | 148 ++ app-emulation/virtiofsd/virtiofsd-1.10.1.ebuild | 148 -- app-emulation/virtiofsd/virtiofsd-1.11.1-r1.ebuild | 163 +++ app-emulation/virtiofsd/virtiofsd-1.11.1.ebuild | 163 --- app-forensics/yara-x/yara-x-0.5.0-r1.ebuild | 584 ++++++++ app-forensics/yara-x/yara-x-0.5.0.ebuild | 584 -------- app-forensics/yara-x/yara-x-0.6.0-r1.ebuild | 595 ++++++++ app-forensics/yara-x/yara-x-0.6.0.ebuild | 595 -------- app-forensics/yara-x/yara-x-0.7.0-r1.ebuild | 588 ++++++++ app-forensics/yara-x/yara-x-0.7.0.ebuild | 588 -------- app-i18n/yaskkserv2/yaskkserv2-0.1.7-r1.ebuild | 232 +++ app-i18n/yaskkserv2/yaskkserv2-0.1.7.ebuild | 229 --- app-laptop/tiny-dfr/tiny-dfr-0.3.0-r1.ebuild | 260 ++++ app-laptop/tiny-dfr/tiny-dfr-0.3.0.ebuild | 255 ---- app-laptop/tiny-dfr/tiny-dfr-0.3.1-r1.ebuild | 261 ++++ app-laptop/tiny-dfr/tiny-dfr-0.3.1.ebuild | 256 ---- .../unbound-telemetry-0.1.0_pre20210920-r1.ebuild | 159 ++ .../unbound-telemetry-0.1.0_pre20210920.ebuild | 159 -- app-misc/anki/anki-24.06.3-r1.ebuild | 969 ------------- app-misc/anki/anki-24.06.3-r2.ebuild | 969 +++++++++++++ app-misc/battop/battop-0.2.4_p1-r1.ebuild | 113 ++ app-misc/battop/battop-0.2.4_p1.ebuild | 113 -- app-misc/broot/broot-1.39.1-r1.ebuild | 383 +++++ app-misc/broot/broot-1.39.1.ebuild | 384 ----- app-misc/broot/broot-1.40.0-r1.ebuild | 383 +++++ app-misc/broot/broot-1.40.0.ebuild | 384 ----- app-misc/broot/broot-1.41.1-r1.ebuild | 383 +++++ app-misc/broot/broot-1.41.1.ebuild | 384 ----- app-misc/broot/broot-1.42.0-r1.ebuild | 389 +++++ app-misc/broot/broot-1.42.0.ebuild | 389 ----- app-misc/jaq/jaq-1.4.0-r1.ebuild | 121 ++ app-misc/jaq/jaq-1.4.0.ebuild | 125 -- app-misc/jaq/jaq-1.5.0-r1.ebuild | 120 ++ app-misc/jaq/jaq-1.5.0.ebuild | 124 -- app-misc/jaq/jaq-1.6.0-r1.ebuild | 117 ++ app-misc/jaq/jaq-1.6.0.ebuild | 121 -- app-misc/jf/jf-0.6.2-r1.ebuild | 59 - app-misc/jf/jf-0.6.2-r2.ebuild | 59 + app-misc/rpick/rpick-0.9.1-r1.ebuild | 139 ++ app-misc/rpick/rpick-0.9.1.ebuild | 139 -- app-misc/skim/skim-0.10.4-r1.ebuild | 148 ++ app-misc/skim/skim-0.10.4.ebuild | 148 -- app-misc/tzupdate/tzupdate-3.1.0-r1.ebuild | 105 ++ app-misc/tzupdate/tzupdate-3.1.0.ebuild | 105 -- app-misc/weggli/metadata.xml | 2 +- app-misc/weggli/weggli-0.2.4-r1.ebuild | 142 ++ app-misc/weggli/weggli-0.2.4.ebuild | 141 -- app-misc/zellij/zellij-0.41.1-r1.ebuild | 591 ++++++++ app-misc/zellij/zellij-0.41.1.ebuild | 591 -------- app-portage/emlop/emlop-0.7.0-r1.ebuild | 131 ++ app-portage/emlop/emlop-0.7.0.ebuild | 131 -- app-portage/emlop/emlop-0.7.1-r1.ebuild | 122 ++ app-portage/emlop/emlop-0.7.1.ebuild | 122 -- app-shells/atuin/atuin-18.3.0-r1.ebuild | 596 -------- app-shells/atuin/atuin-18.3.0-r2.ebuild | 597 ++++++++ app-shells/mcfly/mcfly-0.5.13-r1.ebuild | 115 ++ app-shells/mcfly/mcfly-0.5.13.ebuild | 115 -- app-shells/mcfly/mcfly-0.9.0-r1.ebuild | 54 + app-shells/mcfly/mcfly-0.9.0.ebuild | 54 - app-shells/nushell/nushell-0.95.0-r1.ebuild | 760 ++++++++++ app-shells/nushell/nushell-0.95.0.ebuild | 760 ---------- app-shells/nushell/nushell-0.96.1-r1.ebuild | 772 ++++++++++ app-shells/nushell/nushell-0.96.1.ebuild | 772 ---------- app-shells/nushell/nushell-0.98.0-r1.ebuild | 785 ++++++++++ app-shells/nushell/nushell-0.98.0.ebuild | 785 ---------- app-shells/starship/starship-1.19.0-r1.ebuild | 58 + app-shells/starship/starship-1.19.0.ebuild | 58 - app-shells/starship/starship-1.20.1-r1.ebuild | 446 ++++++ app-shells/starship/starship-1.20.1.ebuild | 446 ------ app-shells/zoxide/zoxide-0.9.4-r1.ebuild | 160 ++ app-shells/zoxide/zoxide-0.9.4.ebuild | 160 -- app-shells/zoxide/zoxide-0.9.6-r1.ebuild | 174 +++ app-shells/zoxide/zoxide-0.9.6.ebuild | 174 --- app-text/fblog/fblog-4.10.0-r1.ebuild | 156 ++ app-text/fblog/fblog-4.10.0.ebuild | 156 -- app-text/mdbook/mdbook-0.4.40-r1.ebuild | 302 ++++ app-text/mdbook/mdbook-0.4.40.ebuild | 302 ---- dev-db/influxdb/influxdb-2.7.10-r1.ebuild | 285 ++++ dev-db/influxdb/influxdb-2.7.10.ebuild | 285 ---- dev-db/influxdb/influxdb-2.7.8-r1.ebuild | 290 ++++ dev-db/influxdb/influxdb-2.7.8.ebuild | 285 ---- dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild | 118 -- dev-java/icedtea-web/icedtea-web-1.8.8-r2.ebuild | 122 ++ dev-lang/dafny/dafny-4.8.0.ebuild | 2 +- dev-lang/dafny/dafny-4.8.1.ebuild | 2 +- dev-lang/dafny/dafny-4.9.0.ebuild | 2 +- dev-lang/gleam/gleam-1.4.1-r1.ebuild | 35 + dev-lang/gleam/gleam-1.4.1.ebuild | 35 - dev-lang/gnat-gpl/gnat-gpl-2021-r5.ebuild | 3 +- dev-lang/ruby/ruby-3.2.4-r1.ebuild | 306 ---- dev-lang/ruby/ruby-3.2.4-r2.ebuild | 308 ++++ dev-lang/ruby/ruby-3.2.4-r3.ebuild | 312 ++++ dev-lang/ruby/ruby-3.2.4.ebuild | 302 ---- dev-lang/ruby/ruby-3.2.5-r1.ebuild | 294 ++++ dev-lang/ruby/ruby-3.2.5.ebuild | 288 ---- dev-lang/ruby/ruby-3.2.6-r1.ebuild | 294 ++++ dev-lang/ruby/ruby-3.2.6.ebuild | 288 ---- dev-lang/ruby/ruby-3.3.4-r1.ebuild | 289 ---- dev-lang/ruby/ruby-3.3.4-r2.ebuild | 294 ++++ dev-lang/ruby/ruby-3.3.5-r1.ebuild | 294 ++++ dev-lang/ruby/ruby-3.3.5.ebuild | 289 ---- dev-lang/ruby/ruby-3.3.6-r1.ebuild | 298 ++++ dev-lang/ruby/ruby-3.3.6.ebuild | 293 ---- .../spidermonkey/spidermonkey-102.15.0-r1.ebuild | 459 ++++++ dev-lang/spidermonkey/spidermonkey-102.15.0.ebuild | 489 ------- .../spidermonkey/spidermonkey-115.16.0-r1.ebuild | 473 ++++++ dev-lang/spidermonkey/spidermonkey-115.16.0.ebuild | 509 ------- .../spidermonkey/spidermonkey-128.3.0-r1.ebuild | 480 ++++++ dev-lang/spidermonkey/spidermonkey-128.3.0.ebuild | 485 ------- .../spidermonkey/spidermonkey-128.4.0-r1.ebuild | 478 ++++++ dev-lang/spidermonkey/spidermonkey-128.4.0.ebuild | 485 ------- dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild | 121 -- dev-libs/dynolog/dynolog-0.3.1_p20230126-r3.ebuild | 121 ++ dev-python/adblock/adblock-0.6.0-r1.ebuild | 121 ++ dev-python/adblock/adblock-0.6.0.ebuild | 121 -- dev-python/bcrypt/bcrypt-4.2.0-r2.ebuild | 97 -- dev-python/bcrypt/bcrypt-4.2.0-r3.ebuild | 97 ++ dev-python/blake3/blake3-0.4.1-r1.ebuild | 144 ++ dev-python/blake3/blake3-0.4.1.ebuild | 139 -- dev-python/cramjam/cramjam-2.8.3-r1.ebuild | 209 +++ dev-python/cramjam/cramjam-2.8.3.ebuild | 209 --- dev-python/cramjam/cramjam-2.8.4-r1.ebuild | 215 +++ dev-python/cramjam/cramjam-2.8.4.ebuild | 215 --- dev-python/cramjam/cramjam-2.9.0-r1.ebuild | 225 +++ dev-python/cramjam/cramjam-2.9.0.ebuild | 225 --- .../cryptography/cryptography-43.0.3-r1.ebuild | 132 ++ dev-python/cryptography/cryptography-43.0.3.ebuild | 134 -- dev-python/dulwich/dulwich-0.22.4-r1.ebuild | 116 ++ dev-python/dulwich/dulwich-0.22.4.ebuild | 116 -- dev-python/jellyfish/jellyfish-1.1.0-r1.ebuild | 84 ++ dev-python/jellyfish/jellyfish-1.1.0.ebuild | 79 - dev-python/libcst/libcst-1.5.0-r1.ebuild | 200 +++ dev-python/libcst/libcst-1.5.0.ebuild | 195 --- .../mitmproxy_wireguard-0.1.20-r1.ebuild | 232 +++ .../mitmproxy_wireguard-0.1.20.ebuild | 232 --- dev-python/nh3/nh3-0.2.18-r1.ebuild | 113 ++ dev-python/nh3/nh3-0.2.18.ebuild | 113 -- dev-python/orjson/orjson-3.10.10-r1.ebuild | 89 ++ dev-python/orjson/orjson-3.10.10.ebuild | 88 -- dev-python/orjson/orjson-3.10.11-r1.ebuild | 89 ++ dev-python/orjson/orjson-3.10.11.ebuild | 88 -- dev-python/orjson/orjson-3.10.7-r1.ebuild | 93 ++ dev-python/orjson/orjson-3.10.7.ebuild | 92 -- dev-python/orjson/orjson-3.10.9-r1.ebuild | 89 ++ dev-python/orjson/orjson-3.10.9.ebuild | 88 -- .../pydantic-core/pydantic-core-2.23.4-r1.ebuild | 166 +++ .../pydantic-core/pydantic-core-2.23.4.ebuild | 167 --- .../pydantic-core/pydantic-core-2.25.0-r1.ebuild | 166 +++ .../pydantic-core/pydantic-core-2.25.0.ebuild | 167 --- .../pydantic-core/pydantic-core-2.25.1-r1.ebuild | 166 +++ .../pydantic-core/pydantic-core-2.25.1.ebuild | 167 --- .../pydantic-core/pydantic-core-2.26.0-r1.ebuild | 175 +++ .../pydantic-core/pydantic-core-2.26.0.ebuild | 176 --- .../pyproject-fmt-rust-1.1.3-r1.ebuild | 159 ++ .../pyproject-fmt-rust-1.1.3.ebuild | 159 -- .../pyproject-fmt-rust-1.1.6-r1.ebuild | 159 ++ .../pyproject-fmt-rust-1.1.6.ebuild | 159 -- .../pyproject-fmt-rust-1.2.1-r1.ebuild | 160 ++ .../pyproject-fmt-rust-1.2.1.ebuild | 160 -- .../pyproject-fmt/pyproject-fmt-2.4.2-r1.ebuild | 165 +++ .../pyproject-fmt/pyproject-fmt-2.4.2.ebuild | 165 --- .../pyproject-fmt/pyproject-fmt-2.4.3-r1.ebuild | 165 +++ .../pyproject-fmt/pyproject-fmt-2.4.3.ebuild | 165 --- .../pyproject-fmt/pyproject-fmt-2.5.0-r1.ebuild | 162 +++ .../pyproject-fmt/pyproject-fmt-2.5.0.ebuild | 162 --- dev-python/qiskit/qiskit-1.2.4-r1.ebuild | 312 ++++ dev-python/qiskit/qiskit-1.2.4.ebuild | 312 ---- dev-python/qiskit/qiskit-1.3.0_rc1-r1.ebuild | 309 ++++ dev-python/qiskit/qiskit-1.3.0_rc1.ebuild | 309 ---- dev-python/regress/regress-2024.11.1-r1.ebuild | 62 + dev-python/regress/regress-2024.11.1.ebuild | 62 - dev-python/regress/regress-2024.8.1-r1.ebuild | 62 + dev-python/regress/regress-2024.8.1.ebuild | 62 - dev-python/rpds-py/rpds-py-0.19.1-r1.ebuild | 61 + dev-python/rpds-py/rpds-py-0.19.1.ebuild | 63 - dev-python/rpds-py/rpds-py-0.20.1-r1.ebuild | 60 + dev-python/rpds-py/rpds-py-0.20.1.ebuild | 62 - dev-python/rpds-py/rpds-py-0.21.0-r1.ebuild | 60 + dev-python/rpds-py/rpds-py-0.21.0.ebuild | 62 - dev-python/rustworkx/rustworkx-0.14.2-r1.ebuild | 159 -- dev-python/rustworkx/rustworkx-0.14.2-r2.ebuild | 159 ++ dev-python/rustworkx/rustworkx-0.15.0-r1.ebuild | 154 ++ dev-python/rustworkx/rustworkx-0.15.0.ebuild | 154 -- dev-python/rustworkx/rustworkx-0.15.1-r1.ebuild | 155 ++ dev-python/rustworkx/rustworkx-0.15.1.ebuild | 155 -- .../setuptools-rust-1.10.2-r1.ebuild | 176 +++ .../setuptools-rust/setuptools-rust-1.10.2.ebuild | 176 --- dev-python/sqlglot/sqlglot-25.28.0-r1.ebuild | 133 ++ dev-python/sqlglot/sqlglot-25.28.0.ebuild | 129 -- dev-python/sqlglot/sqlglot-25.29.0-r1.ebuild | 133 ++ dev-python/sqlglot/sqlglot-25.29.0.ebuild | 129 -- dev-python/uv/uv-0.4.30-r1.ebuild | 147 ++ dev-python/uv/uv-0.4.30.ebuild | 145 -- dev-python/uv/uv-0.5.0-r1.ebuild | 168 +++ dev-python/uv/uv-0.5.0.ebuild | 166 --- dev-python/watchfiles/watchfiles-0.23.0-r1.ebuild | 127 ++ dev-python/watchfiles/watchfiles-0.23.0.ebuild | 127 -- dev-python/watchfiles/watchfiles-0.24.0-r1.ebuild | 134 ++ dev-python/watchfiles/watchfiles-0.24.0.ebuild | 134 -- dev-util/bindgen/bindgen-0.68.1-r1.ebuild | 138 ++ dev-util/bindgen/bindgen-0.68.1.ebuild | 138 -- dev-util/bindgen/bindgen-0.69.4-r1.ebuild | 134 ++ dev-util/bindgen/bindgen-0.69.4.ebuild | 134 -- dev-util/bindgen/bindgen-0.70.1-r1.ebuild | 129 ++ dev-util/bindgen/bindgen-0.70.1.ebuild | 129 -- dev-util/bingrep/bingrep-0.10.1-r1.ebuild | 114 ++ dev-util/bingrep/bingrep-0.10.1.ebuild | 104 -- dev-util/bingrep/bingrep-0.11.0-r1.ebuild | 117 ++ dev-util/bingrep/bingrep-0.11.0.ebuild | 108 -- dev-util/bpftop/bpftop-0.2.3-r1.ebuild | 128 ++ dev-util/bpftop/bpftop-0.2.3.ebuild | 128 -- dev-util/bpftop/bpftop-0.5.1-r1.ebuild | 203 +++ dev-util/bpftop/bpftop-0.5.1.ebuild | 203 --- dev-util/bugbite-cli/bugbite-cli-0.0.12-r1.ebuild | 50 + dev-util/bugbite-cli/bugbite-cli-0.0.12.ebuild | 48 - dev-util/bugbite-cli/bugbite-cli-0.0.13.ebuild | 3 +- dev-util/cargo-audit/cargo-audit-0.20.1-r1.ebuild | 404 ++++++ dev-util/cargo-audit/cargo-audit-0.20.1.ebuild | 404 ------ dev-util/cargo-audit/cargo-audit-0.21.0-r1.ebuild | 414 ++++++ dev-util/cargo-audit/cargo-audit-0.21.0.ebuild | 414 ------ dev-util/cargo-c/cargo-c-0.10.0-r1.ebuild | 394 +++++ dev-util/cargo-c/cargo-c-0.10.0.ebuild | 393 ----- dev-util/cargo-c/cargo-c-0.10.4-r1.ebuild | 383 +++++ dev-util/cargo-c/cargo-c-0.10.4.ebuild | 382 ----- dev-util/cargo-c/cargo-c-0.10.5-r1.ebuild | 388 +++++ dev-util/cargo-c/cargo-c-0.10.5.ebuild | 387 ----- dev-util/cargo-c/cargo-c-0.9.14-r1.ebuild | 204 +++ dev-util/cargo-c/cargo-c-0.9.14.ebuild | 206 --- dev-util/cargo-c/cargo-c-0.9.30-r1.ebuild | 386 +++++ dev-util/cargo-c/cargo-c-0.9.30.ebuild | 385 ----- dev-util/cargo-c/cargo-c-0.9.31-r1.ebuild | 388 +++++ dev-util/cargo-c/cargo-c-0.9.31.ebuild | 387 ----- dev-util/cargo-c/cargo-c-0.9.32-r1.ebuild | 392 +++++ dev-util/cargo-c/cargo-c-0.9.32.ebuild | 391 ----- dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r1.ebuild | 176 --- dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r2.ebuild | 184 +++ .../cargo-license/cargo-license-0.5.1-r1.ebuild | 74 + dev-util/cargo-license/cargo-license-0.5.1.ebuild | 74 - .../cargo-license/cargo-license-0.6.1-r1.ebuild | 86 ++ dev-util/cargo-license/cargo-license-0.6.1.ebuild | 86 -- .../cargo-nextest/cargo-nextest-0.9.67-r1.ebuild | 411 ++++++ dev-util/cargo-nextest/cargo-nextest-0.9.67.ebuild | 411 ------ .../cargo-nextest/cargo-nextest-0.9.72-r1.ebuild | 402 ++++++ dev-util/cargo-nextest/cargo-nextest-0.9.72.ebuild | 402 ------ .../cargo-tarpaulin-0.30.0-r1.ebuild | 278 ++++ .../cargo-tarpaulin/cargo-tarpaulin-0.30.0.ebuild | 280 ---- dev-util/cbindgen/cbindgen-0.26.0-r1.ebuild | 70 + dev-util/cbindgen/cbindgen-0.26.0.ebuild | 70 - dev-util/cbindgen/cbindgen-0.27.0-r1.ebuild | 100 ++ dev-util/cbindgen/cbindgen-0.27.0.ebuild | 100 -- dev-util/difftastic/difftastic-0.60.0-r1.ebuild | 193 +++ dev-util/difftastic/difftastic-0.60.0.ebuild | 193 --- dev-util/difftastic/difftastic-0.61.0-r1.ebuild | 189 +++ dev-util/difftastic/difftastic-0.61.0.ebuild | 189 --- dev-util/elfshaker/Manifest | 149 +- .../elfshaker/elfshaker-0.9.0_p20230918.ebuild | 137 -- .../elfshaker/elfshaker-0.9.0_p20240122.ebuild | 137 -- .../elfshaker/elfshaker-0.9.0_p20240914.ebuild | 141 ++ ...er-0.9.0_p20230918-update-rustc-serialize.patch | 16 - dev-util/git-delta/git-delta-0.16.5-r1.ebuild | 240 +++ dev-util/git-delta/git-delta-0.16.5.ebuild | 238 --- dev-util/git-delta/git-delta-0.17.0-r1.ebuild | 249 ++++ dev-util/git-delta/git-delta-0.17.0.ebuild | 246 ---- dev-util/git-delta/git-delta-0.18.1-r1.ebuild | 271 ++++ dev-util/git-delta/git-delta-0.18.1.ebuild | 268 ---- dev-util/git-delta/git-delta-0.18.2-r1.ebuild | 271 ++++ dev-util/git-delta/git-delta-0.18.2.ebuild | 268 ---- .../gnome-builder/gnome-builder-44.2-r1.ebuild | 4 +- dev-util/maturin/maturin-1.7.4-r1.ebuild | 581 ++++++++ dev-util/maturin/maturin-1.7.4.ebuild | 580 -------- dev-util/pkgcruft/pkgcruft-0.0.1-r1.ebuild | 59 + dev-util/pkgcruft/pkgcruft-0.0.1.ebuild | 59 - dev-util/pkgcruft/pkgcruft-0.0.2-r1.ebuild | 60 + dev-util/pkgcruft/pkgcruft-0.0.2.ebuild | 59 - dev-util/pkgcruft/pkgcruft-0.0.3-r1.ebuild | 60 + dev-util/pkgcruft/pkgcruft-0.0.3.ebuild | 59 - dev-util/pkgcruft/pkgcruft-9999.ebuild | 3 +- dev-util/py-spy/Manifest | 281 ++-- dev-util/py-spy/py-spy-0.3.14.ebuild | 172 --- dev-util/py-spy/py-spy-0.4.0.ebuild | 227 +++ dev-util/rinstall/rinstall-0.2.0-r1.ebuild | 108 ++ dev-util/rinstall/rinstall-0.2.0.ebuild | 108 -- dev-util/ruff/ruff-0.7.0-r1.ebuild | 491 +++++++ dev-util/ruff/ruff-0.7.0.ebuild | 492 ------- dev-util/ruff/ruff-0.7.1-r1.ebuild | 486 +++++++ dev-util/ruff/ruff-0.7.1.ebuild | 487 ------- dev-util/ruff/ruff-0.7.2-r1.ebuild | 486 +++++++ dev-util/ruff/ruff-0.7.2.ebuild | 487 ------- dev-util/rustup/rustup-1.27.0-r1.ebuild | 97 ++ dev-util/rustup/rustup-1.27.0.ebuild | 98 -- dev-util/rustup/rustup-1.27.1-r1.ebuild | 95 ++ dev-util/rustup/rustup-1.27.1.ebuild | 95 -- dev-util/rustup/rustup-9999.ebuild | 1 - dev-util/sccache/sccache-0.5.4-r1.ebuild | 496 ------- dev-util/sccache/sccache-0.5.4-r2.ebuild | 504 +++++++ dev-util/sccache/sccache-9999.ebuild | 1 - .../selenium-manager-4.25.0-r1.ebuild | 121 ++ .../selenium-manager-4.25.0.ebuild | 121 -- .../selenium-manager-4.26.0-r1.ebuild | 121 ++ .../selenium-manager-4.26.0.ebuild | 121 -- .../tree-sitter-cli-0.22.6-r1.ebuild | 32 + .../tree-sitter-cli/tree-sitter-cli-0.22.6.ebuild | 32 - .../tree-sitter-cli-0.23.0-r1.ebuild | 34 + .../tree-sitter-cli/tree-sitter-cli-0.23.0.ebuild | 34 - .../tree-sitter-cli-0.23.2-r1.ebuild | 34 + .../tree-sitter-cli/tree-sitter-cli-0.23.2.ebuild | 34 - .../tree-sitter-cli-0.24.3-r1.ebuild | 35 + .../tree-sitter-cli/tree-sitter-cli-0.24.3.ebuild | 35 - dev-util/wachy/wachy-0.1.0_alpha6-r1.ebuild | 143 -- dev-util/wachy/wachy-0.1.0_alpha6-r2.ebuild | 143 ++ dev-util/wasmer/wasmer-0.11.0.ebuild | 1 - dev-util/watchman/watchman-2023.06.19.00-r1.ebuild | 250 ++++ dev-util/watchman/watchman-2023.06.19.00.ebuild | 247 ---- dev-vcs/breezy/breezy-3.3.5-r1.ebuild | 77 + dev-vcs/breezy/breezy-3.3.5.ebuild | 77 - dev-vcs/breezy/breezy-3.3.7-r1.ebuild | 78 - dev-vcs/breezy/breezy-3.3.7-r2.ebuild | 78 + dev-vcs/git-absorb/git-absorb-0.6.15-r1.ebuild | 158 ++ dev-vcs/git-absorb/git-absorb-0.6.15.ebuild | 158 -- dev-vcs/mercurial/mercurial-6.5.3-r1.ebuild | 361 ----- dev-vcs/mercurial/mercurial-6.5.3-r2.ebuild | 364 +++++ dev-vcs/mercurial/mercurial-6.6.2-r1.ebuild | 371 ----- dev-vcs/mercurial/mercurial-6.6.2-r2.ebuild | 374 +++++ dev-vcs/mercurial/mercurial-6.7.4-r1.ebuild | 382 ----- dev-vcs/mercurial/mercurial-6.7.4-r2.ebuild | 385 +++++ dev-vcs/mercurial/mercurial-6.8.1-r1.ebuild | 401 ++++++ dev-vcs/mercurial/mercurial-6.8.1.ebuild | 398 ----- dev-vcs/mercurial/mercurial-9999.ebuild | 3 + dev-vcs/stgit/stgit-2.4.11-r1.ebuild | 211 +++ dev-vcs/stgit/stgit-2.4.11.ebuild | 211 --- dev-vcs/stgit/stgit-2.4.12-r1.ebuild | 211 +++ dev-vcs/stgit/stgit-2.4.12.ebuild | 211 --- dev-vcs/stgit/stgit-2.4.6-r1.ebuild | 217 +++ dev-vcs/stgit/stgit-2.4.6.ebuild | 217 --- games-board/jja/jja-0.9.1-r1.ebuild | 274 ++++ games-board/jja/jja-0.9.1.ebuild | 274 ---- games-emulation/rmg/rmg-0.6.5-r1.ebuild | 145 ++ games-emulation/rmg/rmg-0.6.5.ebuild | 144 -- games-emulation/rmg/rmg-0.6.6-r1.ebuild | 145 ++ games-emulation/rmg/rmg-0.6.6.ebuild | 144 -- games-emulation/rmg/rmg-9999.ebuild | 3 +- games-puzzle/syzygy/syzygy-1.0.2-r1.ebuild | 79 + games-puzzle/syzygy/syzygy-1.0.2.ebuild | 80 - games-rpg/rpg-cli/rpg-cli-1.2.0-r1.ebuild | 122 ++ games-rpg/rpg-cli/rpg-cli-1.2.0.ebuild | 122 -- games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild | 278 ---- games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild | 279 ++++ .../ja2-stracciatella-0.21.0-r1.ebuild | 278 ++++ .../ja2-stracciatella-0.21.0.ebuild | 271 ---- gnome-base/librsvg/librsvg-2.57.3-r1.ebuild | 391 +++++ gnome-base/librsvg/librsvg-2.57.3.ebuild | 389 ----- gnome-base/librsvg/librsvg-2.58.2-r1.ebuild | 408 ++++++ gnome-base/librsvg/librsvg-2.58.2.ebuild | 400 ----- gui-apps/railway/railway-2.7.0-r1.ebuild | 279 ++++ gui-apps/railway/railway-2.7.0.ebuild | 281 ---- gui-apps/tuigreet/tuigreet-0.8.0-r1.ebuild | 164 --- gui-apps/tuigreet/tuigreet-0.8.0-r2.ebuild | 164 +++ gui-apps/tuigreet/tuigreet-0.9.1-r1.ebuild | 254 ++++ gui-apps/tuigreet/tuigreet-0.9.1.ebuild | 254 ---- gui-libs/greetd/greetd-0.10.0-r1.ebuild | 136 ++ gui-libs/greetd/greetd-0.10.0.ebuild | 136 -- gui-libs/greetd/greetd-0.10.3-r1.ebuild | 139 ++ gui-libs/greetd/greetd-0.10.3.ebuild | 139 -- .../thunderbird/thunderbird-128.3.1-r1.ebuild | 1187 +++++++++++++++ mail-client/thunderbird/thunderbird-128.3.1.ebuild | 1192 --------------- .../thunderbird/thunderbird-128.3.3-r1.ebuild | 1187 +++++++++++++++ mail-client/thunderbird/thunderbird-128.3.3.ebuild | 1192 --------------- .../thunderbird/thunderbird-128.4.0-r1.ebuild | 1157 +++++++++++++++ mail-client/thunderbird/thunderbird-128.4.0.ebuild | 1162 --------------- .../thunderbird/thunderbird-128.4.2-r1.ebuild | 1156 +++++++++++++++ mail-client/thunderbird/thunderbird-128.4.2.ebuild | 1162 --------------- media-gfx/darktable/darktable-4.6.0.ebuild | 2 +- media-gfx/darktable/darktable-4.6.1.ebuild | 2 +- media-gfx/darktable/darktable-4.8.0.ebuild | 2 +- media-gfx/fotema/fotema-1.14.2-r1.ebuild | 89 -- media-gfx/fotema/fotema-1.14.2-r2.ebuild | 89 ++ media-gfx/fotema/fotema-1.14.3-r1.ebuild | 89 ++ media-gfx/fotema/fotema-1.14.3.ebuild | 89 -- media-gfx/fotema/fotema-1.14.4-r1.ebuild | 89 ++ media-gfx/fotema/fotema-1.14.4.ebuild | 89 -- .../libimagequant/libimagequant-4.2.2-r1.ebuild | 85 ++ media-gfx/libimagequant/libimagequant-4.2.2.ebuild | 86 -- .../libimagequant/libimagequant-4.3.0-r1.ebuild | 51 + media-gfx/libimagequant/libimagequant-4.3.0.ebuild | 52 - media-gfx/oxipng/oxipng-8.0.0-r1.ebuild | 117 ++ media-gfx/oxipng/oxipng-8.0.0.ebuild | 118 -- media-gfx/oxipng/oxipng-9.0.0-r1.ebuild | 118 ++ media-gfx/oxipng/oxipng-9.0.0.ebuild | 120 -- media-gfx/oxipng/oxipng-9.1.2-r1.ebuild | 128 ++ media-gfx/oxipng/oxipng-9.1.2.ebuild | 128 -- .../glycin-loaders/glycin-loaders-1.1.0-r1.ebuild | 88 ++ .../glycin-loaders/glycin-loaders-1.1.0.ebuild | 88 -- .../glycin-loaders/glycin-loaders-1.1.1-r1.ebuild | 88 ++ .../glycin-loaders/glycin-loaders-1.1.1.ebuild | 88 -- media-libs/libdovi/libdovi-3.3.1-r1.ebuild | 146 ++ media-libs/libdovi/libdovi-3.3.1.ebuild | 143 -- media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild | 77 + media-libs/libopenraw/libopenraw-0.3.7.ebuild | 74 - media-libs/mesa/mesa-24.1.7-r1.ebuild | 501 +++++++ media-libs/mesa/mesa-24.1.7.ebuild | 494 ------- media-libs/mesa/mesa-24.2.3-r1.ebuild | 497 +++++++ media-libs/mesa/mesa-24.2.3.ebuild | 490 ------- media-libs/mesa/mesa-24.2.4-r1.ebuild | 497 +++++++ media-libs/mesa/mesa-24.2.4.ebuild | 490 ------- media-libs/mesa/mesa-24.2.5-r1.ebuild | 497 +++++++ media-libs/mesa/mesa-24.2.5.ebuild | 490 ------- media-libs/mesa/mesa-24.2.6-r1.ebuild | 497 +++++++ media-libs/mesa/mesa-24.2.6.ebuild | 490 ------- media-libs/mesa/mesa-9999.ebuild | 14 +- media-sound/helvum/helvum-0.4.1-r1.ebuild | 8 +- media-sound/helvum/helvum-0.5.1-r3.ebuild | 8 +- media-sound/ncspot/ncspot-1.1.2-r1.ebuild | 590 ++++++++ media-sound/ncspot/ncspot-1.1.2.ebuild | 585 -------- media-sound/ncspot/ncspot-1.2.0-r1.ebuild | 647 +++++++++ media-sound/ncspot/ncspot-1.2.0.ebuild | 647 --------- media-sound/ncspot/ncspot-1.2.1-r1.ebuild | 653 +++++++++ media-sound/ncspot/ncspot-1.2.1.ebuild | 653 --------- .../rescrobbled/rescrobbled-0.7.1-r1.ebuild | 167 +++ media-sound/rescrobbled/rescrobbled-0.7.1.ebuild | 167 --- media-video/rav1e/rav1e-0.6.6-r1.ebuild | 306 ++++ media-video/rav1e/rav1e-0.6.6.ebuild | 307 ---- media-video/rav1e/rav1e-0.7.1-r1.ebuild | 318 ++++ media-video/rav1e/rav1e-0.7.1.ebuild | 319 ---- media-video/rav1e/rav1e-9999.ebuild | 1 - net-analyzer/suricata/suricata-7.0.5-r1.ebuild | 227 +++ net-analyzer/suricata/suricata-7.0.5.ebuild | 222 --- net-analyzer/trippy/trippy-0.10.0-r1.ebuild | 296 ++++ net-analyzer/trippy/trippy-0.10.0.ebuild | 296 ---- net-analyzer/trippy/trippy-0.11.0-r1.ebuild | 302 ++++ net-analyzer/trippy/trippy-0.11.0.ebuild | 302 ---- net-analyzer/trippy/trippy-0.9.0-r1.ebuild | 252 ++++ net-analyzer/trippy/trippy-0.9.0.ebuild | 252 ---- .../pdns-recursor/pdns-recursor-5.0.9-r1.ebuild | 133 ++ net-dns/pdns-recursor/pdns-recursor-5.0.9.ebuild | 132 -- .../pdns-recursor/pdns-recursor-5.1.2-r1.ebuild | 135 ++ net-dns/pdns-recursor/pdns-recursor-5.1.2.ebuild | 134 -- .../pdns-recursor/pdns-recursor-5.1.3-r1.ebuild | 135 ++ net-dns/pdns-recursor/pdns-recursor-5.1.3.ebuild | 134 -- net-im/fractal/fractal-8-r1.ebuild | 114 ++ net-im/fractal/fractal-8.ebuild | 111 -- net-im/synapse/synapse-1.114.0-r2.ebuild | 243 ---- net-im/synapse/synapse-1.114.0-r3.ebuild | 243 ++++ net-im/synapse/synapse-1.116.0-r3.ebuild | 243 ---- net-im/synapse/synapse-1.116.0-r5.ebuild | 243 ++++ net-im/synapse/synapse-1.117.0-r1.ebuild | 251 ++++ net-im/synapse/synapse-1.117.0.ebuild | 251 ---- net-im/synapse/synapse-1.118.0-r1.ebuild | 251 ++++ net-im/synapse/synapse-1.118.0.ebuild | 251 ---- net-libs/quiche/quiche-0.22.0-r1.ebuild | 278 ++++ net-libs/quiche/quiche-0.22.0.ebuild | 277 ---- net-libs/quiche/quiche-9999.ebuild | 5 +- net-libs/rustls-ffi/rustls-ffi-0.10.0-r1.ebuild | 120 -- net-libs/rustls-ffi/rustls-ffi-0.10.0-r2.ebuild | 120 ++ net-libs/rustls-ffi/rustls-ffi-0.12.1-r2.ebuild | 114 -- net-libs/rustls-ffi/rustls-ffi-0.12.1-r3.ebuild | 114 ++ net-libs/rustls-ffi/rustls-ffi-0.12.2-r1.ebuild | 110 ++ net-libs/rustls-ffi/rustls-ffi-0.12.2.ebuild | 110 -- net-libs/rustls-ffi/rustls-ffi-0.13.0-r1.ebuild | 107 ++ net-libs/rustls-ffi/rustls-ffi-0.13.0.ebuild | 107 -- net-libs/rustls-ffi/rustls-ffi-0.9.1-r1.ebuild | 139 -- net-libs/rustls-ffi/rustls-ffi-0.9.1-r2.ebuild | 139 ++ net-misc/asahi-btsync/asahi-btsync-0.2.0-r1.ebuild | 106 ++ net-misc/asahi-btsync/asahi-btsync-0.2.0.ebuild | 98 -- .../asahi-wifisync/asahi-wifisync-0.2.0-r1.ebuild | 106 ++ .../asahi-wifisync/asahi-wifisync-0.2.0.ebuild | 98 -- net-misc/geckodriver/geckodriver-0.35.0-r1.ebuild | 262 ++++ net-misc/geckodriver/geckodriver-0.35.0.ebuild | 261 ---- net-misc/hurl/hurl-4.1.0-r1.ebuild | 202 +++ net-misc/hurl/hurl-4.1.0.ebuild | 202 --- net-misc/hurl/hurl-5.0.1-r1.ebuild | 213 +++ net-misc/hurl/hurl-5.0.1.ebuild | 213 --- net-misc/websocat/websocat-1.12.0-r1.ebuild | 52 + net-misc/websocat/websocat-1.12.0.ebuild | 53 - net-misc/websocat/websocat-1.13.0-r1.ebuild | 50 + net-misc/websocat/websocat-1.13.0.ebuild | 51 - net-misc/zerotier/zerotier-1.14.1-r1.ebuild | 481 +++++++ net-misc/zerotier/zerotier-1.14.1.ebuild | 479 ------ net-misc/zerotier/zerotier-1.14.2-r1.ebuild | 482 +++++++ net-misc/zerotier/zerotier-1.14.2.ebuild | 480 ------ net-nds/389-ds-base/389-ds-base-3.0.2-r1.ebuild | 340 +++++ net-nds/389-ds-base/389-ds-base-3.0.2.ebuild | 333 ----- .../389-ds-base-3.0.2-fix-rust-in-configure.patch | 34 + net-news/newsboat/newsboat-2.30.1-r1.ebuild | 174 +++ net-news/newsboat/newsboat-2.30.1.ebuild | 175 --- net-news/newsboat/newsboat-2.34-r1.ebuild | 213 +++ net-news/newsboat/newsboat-2.34.ebuild | 212 --- net-p2p/arti/arti-1.2.6-r1.ebuild | 611 ++++++++ net-p2p/arti/arti-1.2.6.ebuild | 611 -------- net-p2p/arti/arti-1.2.7-r1.ebuild | 609 ++++++++ net-p2p/arti/arti-1.2.7.ebuild | 609 -------- net-vpn/vpncloud/vpncloud-2.3.0-r1.ebuild | 183 --- net-vpn/vpncloud/vpncloud-2.3.0-r2.ebuild | 183 +++ profiles/features/wd40/README | 2 +- profiles/features/wd40/package.use.mask | 4 +- sci-calculators/xsv/xsv-0.13.0-r1.ebuild | 2 - sci-libs/safetensors/safetensors-0.4.3-r1.ebuild | 106 ++ sci-libs/safetensors/safetensors-0.4.3.ebuild | 106 -- sci-libs/safetensors/safetensors-0.4.5-r1.ebuild | 107 ++ sci-libs/safetensors/safetensors-0.4.5.ebuild | 107 -- sci-libs/tokenizers/tokenizers-0.20.1-r1.ebuild | 381 +++++ sci-libs/tokenizers/tokenizers-0.20.1.ebuild | 376 ----- sys-apps/amdgpu_top/amdgpu_top-0.7.0-r1.ebuild | 429 ++++++ sys-apps/amdgpu_top/amdgpu_top-0.7.0.ebuild | 426 ------ sys-apps/amdgpu_top/amdgpu_top-0.9.1-r1.ebuild | 469 ++++++ sys-apps/amdgpu_top/amdgpu_top-0.9.1.ebuild | 469 ------ sys-apps/asahi-bless/asahi-bless-0.3.0-r1.ebuild | 103 ++ sys-apps/asahi-bless/asahi-bless-0.3.0.ebuild | 98 -- sys-apps/asahi-nvram/asahi-nvram-0.2.1-r1.ebuild | 103 ++ sys-apps/asahi-nvram/asahi-nvram-0.2.1.ebuild | 98 -- .../asahi-startup-disk-0.1.3-r1.ebuild | 134 ++ .../asahi-startup-disk-0.1.3.ebuild | 134 -- sys-apps/bat/bat-0.23.0-r1.ebuild | 229 --- sys-apps/bat/bat-0.23.0-r2.ebuild | 229 +++ sys-apps/bat/bat-0.24.0-r1.ebuild | 258 ---- sys-apps/bat/bat-0.24.0-r2.ebuild | 258 ++++ sys-apps/cyme/cyme-2.0.0-r1.ebuild | 207 +++ sys-apps/cyme/cyme-2.0.0.ebuild | 207 --- sys-apps/cyme/cyme-2.1.0-r1.ebuild | 207 +++ sys-apps/cyme/cyme-2.1.0.ebuild | 207 --- sys-apps/eza/eza-0.18.16-r1.ebuild | 249 ++++ sys-apps/eza/eza-0.18.16.ebuild | 250 ---- sys-apps/eza/eza-0.19.0-r1.ebuild | 244 ++++ sys-apps/eza/eza-0.19.0.ebuild | 245 ---- sys-apps/eza/eza-0.19.2-r1.ebuild | 256 ++++ sys-apps/eza/eza-0.19.2.ebuild | 257 ---- sys-apps/eza/eza-0.20.0-r1.ebuild | 264 ++++ sys-apps/eza/eza-0.20.0.ebuild | 265 ---- sys-apps/fd/fd-10.2.0-r1.ebuild | 183 +++ sys-apps/fd/fd-10.2.0.ebuild | 184 --- .../ipmi-fan-control-0.4.0-r1.ebuild | 161 +++ .../ipmi-fan-control/ipmi-fan-control-0.4.0.ebuild | 161 --- .../ipmi-fan-control/ipmi-fan-control-9999.ebuild | 2 +- sys-apps/lsd/lsd-1.1.3-r1.ebuild | 237 +++ sys-apps/lsd/lsd-1.1.3.ebuild | 237 --- .../pkgcraft-tools/pkgcraft-tools-0.0.14-r1.ebuild | 58 + .../pkgcraft-tools/pkgcraft-tools-0.0.14.ebuild | 55 - .../pkgcraft-tools/pkgcraft-tools-0.0.15-r1.ebuild | 59 + .../pkgcraft-tools/pkgcraft-tools-0.0.15.ebuild | 53 - .../pkgcraft-tools/pkgcraft-tools-0.0.16-r1.ebuild | 59 + .../pkgcraft-tools/pkgcraft-tools-0.0.16.ebuild | 53 - sys-apps/pkgcraft-tools/pkgcraft-tools-9999.ebuild | 10 +- sys-apps/ripgrep/ripgrep-14.1.1-r1.ebuild | 117 ++ sys-apps/ripgrep/ripgrep-14.1.1.ebuild | 116 -- .../systemctl-tui/systemctl-tui-0.3.4-r1.ebuild | 295 ++++ sys-apps/systemctl-tui/systemctl-tui-0.3.4.ebuild | 295 ---- .../uutils-coreutils-0.0.25-r1.ebuild | 384 +++++ .../uutils-coreutils-0.0.25.ebuild | 385 ----- .../uutils-coreutils-0.0.27-r1.ebuild | 415 ++++++ .../uutils-coreutils-0.0.27.ebuild | 416 ------ .../uutils-coreutils/uutils-coreutils-9999.ebuild | 1 - .../uutils-findutils-0.4.2-r1.ebuild | 15 +- .../uutils-findutils-0.5.0-r1.ebuild | 203 +++ .../uutils-findutils/uutils-findutils-0.5.0.ebuild | 199 --- .../uutils-findutils/uutils-findutils-9999.ebuild | 3 +- .../zram-generator/zram-generator-1.1.2-r1.ebuild | 97 ++ .../zram-generator/zram-generator-1.1.2.ebuild | 96 -- sys-block/dust/dust-1.1.1-r1.ebuild | 170 +++ sys-block/dust/dust-1.1.1.ebuild | 170 --- .../thin-provisioning-tools-1.0.10-r1.ebuild | 182 +++ .../thin-provisioning-tools-1.0.10.ebuild | 182 --- .../thin-provisioning-tools-1.0.13-r1.ebuild | 177 +++ .../thin-provisioning-tools-1.0.13.ebuild | 177 --- .../thin-provisioning-tools-1.0.14-r1.ebuild | 219 +++ .../thin-provisioning-tools-1.0.14.ebuild | 219 --- .../thin-provisioning-tools-1.1.0-r1.ebuild | 233 --- .../thin-provisioning-tools-1.1.0-r2.ebuild | 233 +++ sys-devel/gcc/gcc-8.5.0-r1.ebuild | 23 - sys-devel/gcc/gcc-8.5.0-r2.ebuild | 23 + .../bcachefs-tools/bcachefs-tools-1.11.0-r1.ebuild | 223 +++ sys-fs/bcachefs-tools/bcachefs-tools-1.11.0.ebuild | 224 --- .../bcachefs-tools/bcachefs-tools-1.13.0-r1.ebuild | 223 +++ sys-fs/bcachefs-tools/bcachefs-tools-1.13.0.ebuild | 223 --- .../bcachefs-tools/bcachefs-tools-1.7.0-r1.ebuild | 252 ++++ sys-fs/bcachefs-tools/bcachefs-tools-1.7.0.ebuild | 253 ---- .../bcachefs-tools/bcachefs-tools-1.9.4-r1.ebuild | 258 ++++ sys-fs/bcachefs-tools/bcachefs-tools-1.9.4.ebuild | 259 ---- sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild | 1 - sys-kernel/scx/scx-1.0.5-r1.ebuild | 398 ----- sys-kernel/scx/scx-1.0.5-r2.ebuild | 400 +++++ sys-kernel/scx/scx-1.0.6-r1.ebuild | 404 ++++++ sys-kernel/scx/scx-1.0.6.ebuild | 402 ------ sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild | 92 ++ sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild | 92 -- sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild | 93 ++ sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild | 92 -- sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild | 94 ++ sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild | 92 -- sys-libs/pkgcraft/pkgcraft-9999.ebuild | 1 - sys-power/wluma/wluma-4.3.0-r2.ebuild | 223 --- sys-power/wluma/wluma-4.3.0-r3.ebuild | 223 +++ sys-power/wluma/wluma-4.4.0-r1.ebuild | 236 --- sys-power/wluma/wluma-4.4.0-r2.ebuild | 236 +++ sys-process/below/below-0.8.1-r1.ebuild | 354 +++++ sys-process/below/below-0.8.1.ebuild | 353 ----- sys-process/bottom/bottom-0.10.1-r1.ebuild | 282 ++++ sys-process/bottom/bottom-0.10.1.ebuild | 282 ---- sys-process/bottom/bottom-0.10.2-r1.ebuild | 280 ++++ sys-process/bottom/bottom-0.10.2.ebuild | 280 ---- sys-process/procs/procs-0.14.5-r1.ebuild | 321 +++++ sys-process/procs/procs-0.14.5.ebuild | 321 ----- sys-process/procs/procs-0.14.6-r1.ebuild | 328 +++++ sys-process/procs/procs-0.14.6.ebuild | 328 ----- .../nextcloud-notify_push-0.7.0-r1.ebuild | 409 ++++++ .../nextcloud-notify_push-0.7.0.ebuild | 409 ------ .../chromium/chromium-129.0.6668.100-r1.ebuild | 1355 +++++++++++++++++ www-client/chromium/chromium-129.0.6668.100.ebuild | 1464 ------------------- .../chromium/chromium-130.0.6723.116-r1.ebuild | 1385 ++++++++++++++++++ www-client/chromium/chromium-130.0.6723.116.ebuild | 1523 -------------------- .../chromium/chromium-130.0.6723.91-r1.ebuild | 1385 ++++++++++++++++++ www-client/chromium/chromium-130.0.6723.91.ebuild | 1496 ------------------- .../chromium/chromium-131.0.6753.0-r1.ebuild | 1393 ++++++++++++++++++ www-client/chromium/chromium-131.0.6753.0.ebuild | 1510 ------------------- .../chromium/chromium-131.0.6778.24-r1.ebuild | 1395 ++++++++++++++++++ www-client/chromium/chromium-131.0.6778.24.ebuild | 1506 ------------------- www-client/firefox/firefox-115.16.1-r1.ebuild | 1353 +++++++++++++++++ www-client/firefox/firefox-115.16.1.ebuild | 1393 ------------------ www-client/firefox/firefox-128.3.1-r1.ebuild | 1363 ++++++++++++++++++ www-client/firefox/firefox-128.3.1.ebuild | 1368 ------------------ www-client/firefox/firefox-128.4.0-r1.ebuild | 1333 +++++++++++++++++ www-client/firefox/firefox-128.4.0.ebuild | 1338 ----------------- www-client/firefox/firefox-131.0.3-r1.ebuild | 1364 ++++++++++++++++++ www-client/firefox/firefox-131.0.3.ebuild | 1369 ------------------ www-client/firefox/firefox-132.0-r1.ebuild | 1338 +++++++++++++++++ www-client/firefox/firefox-132.0.1-r1.ebuild | 1336 +++++++++++++++++ www-client/firefox/firefox-132.0.1.ebuild | 1337 ----------------- www-client/firefox/firefox-132.0.ebuild | 1339 ----------------- www-client/seamonkey/seamonkey-2.53.18.2-r1.ebuild | 554 ------- www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild | 554 +++++++ www-client/seamonkey/seamonkey-2.53.19-r1.ebuild | 554 +++++++ www-client/seamonkey/seamonkey-2.53.19.ebuild | 554 ------- x11-terms/alacritty/alacritty-0.12.3-r1.ebuild | 362 +++++ x11-terms/alacritty/alacritty-0.12.3.ebuild | 364 ----- x11-terms/alacritty/alacritty-0.13.2-r1.ebuild | 388 +++++ x11-terms/alacritty/alacritty-0.13.2.ebuild | 389 ----- x11-terms/alacritty/alacritty-0.14.0-r1.ebuild | 414 ++++++ x11-terms/alacritty/alacritty-0.14.0.ebuild | 413 ------ x11-terms/alacritty/alacritty-9999.ebuild | 6 +- .../wezterm/wezterm-20240203.110809-r1.ebuild | 835 ----------- .../wezterm/wezterm-20240203.110809-r2.ebuild | 837 +++++++++++ 708 files changed, 97033 insertions(+), 97427 deletions(-) create mode 100644 app-antivirus/clamav/clamav-1.0.5-r1.ebuild delete mode 100644 app-antivirus/clamav/clamav-1.0.5.ebuild create mode 100644 app-antivirus/clamav/clamav-1.0.7-r1.ebuild delete mode 100644 app-antivirus/clamav/clamav-1.0.7.ebuild create mode 100644 app-antivirus/clamav/clamav-1.2.2-r1.ebuild delete mode 100644 app-antivirus/clamav/clamav-1.2.2.ebuild delete mode 100644 app-antivirus/clamav/clamav-1.4.1-r1.ebuild create mode 100644 app-antivirus/clamav/clamav-1.4.1-r2.ebuild delete mode 100644 app-backup/rdedup/rdedup-1.0.2-r1.ebuild create mode 100644 app-backup/rdedup/rdedup-1.0.2-r2.ebuild create mode 100644 app-benchmarks/hyperfine/hyperfine-1.18.0-r1.ebuild delete mode 100644 app-benchmarks/hyperfine/hyperfine-1.18.0.ebuild create mode 100644 app-containers/aardvark-dns/aardvark-dns-1.10.0-r1.ebuild delete mode 100644 app-containers/aardvark-dns/aardvark-dns-1.10.0.ebuild create mode 100644 app-containers/aardvark-dns/aardvark-dns-1.11.0-r1.ebuild delete mode 100644 app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild create mode 100644 app-containers/aardvark-dns/aardvark-dns-1.12.2-r1.ebuild delete mode 100644 app-containers/aardvark-dns/aardvark-dns-1.12.2.ebuild create mode 100644 app-containers/aardvark-dns/aardvark-dns-1.9.0-r1.ebuild delete mode 100644 app-containers/aardvark-dns/aardvark-dns-1.9.0.ebuild create mode 100644 app-containers/netavark/netavark-1.10.2-r1.ebuild delete mode 100644 app-containers/netavark/netavark-1.10.2.ebuild create mode 100644 app-containers/netavark/netavark-1.10.3-r1.ebuild delete mode 100644 app-containers/netavark/netavark-1.10.3.ebuild create mode 100644 app-containers/netavark/netavark-1.11.0-r1.ebuild delete mode 100644 app-containers/netavark/netavark-1.11.0.ebuild create mode 100644 app-containers/netavark/netavark-1.12.2-r1.ebuild delete mode 100644 app-containers/netavark/netavark-1.12.2.ebuild create mode 100644 app-containers/netavark/netavark-1.9.0-r1.ebuild delete mode 100644 app-containers/netavark/netavark-1.9.0.ebuild create mode 100644 app-crypt/nitrocli/nitrocli-0.4.1-r1.ebuild delete mode 100644 app-crypt/nitrocli/nitrocli-0.4.1.ebuild create mode 100644 app-crypt/rpm-sequoia/rpm-sequoia-1.6.0-r1.ebuild delete mode 100644 app-crypt/rpm-sequoia/rpm-sequoia-1.6.0.ebuild create mode 100644 app-crypt/rpm-sequoia/rpm-sequoia-1.7.0-r1.ebuild delete mode 100644 app-crypt/rpm-sequoia/rpm-sequoia-1.7.0.ebuild create mode 100644 app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.0-r1.ebuild delete mode 100644 app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.0.ebuild create mode 100644 app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.1-r1.ebuild delete mode 100644 app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.1.ebuild create mode 100644 app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.8.0-r1.ebuild delete mode 100644 app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.8.0.ebuild create mode 100644 app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.9.0-r1.ebuild delete mode 100644 app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.9.0.ebuild create mode 100644 app-crypt/sequoia-sq/sequoia-sq-0.35.0-r1.ebuild delete mode 100644 app-crypt/sequoia-sq/sequoia-sq-0.35.0.ebuild create mode 100644 app-crypt/sequoia-sq/sequoia-sq-0.36.0-r1.ebuild delete mode 100644 app-crypt/sequoia-sq/sequoia-sq-0.36.0.ebuild create mode 100644 app-crypt/sequoia-sq/sequoia-sq-0.37.0-r1.ebuild delete mode 100644 app-crypt/sequoia-sq/sequoia-sq-0.37.0.ebuild create mode 100644 app-crypt/sequoia-sqv/sequoia-sqv-1.2.1-r1.ebuild delete mode 100644 app-crypt/sequoia-sqv/sequoia-sqv-1.2.1.ebuild delete mode 100644 app-editors/helix/helix-24.03-r1.ebuild create mode 100644 app-editors/helix/helix-24.03-r2.ebuild create mode 100644 app-editors/helix/helix-24.07-r1.ebuild delete mode 100644 app-editors/helix/helix-24.07.ebuild create mode 100644 app-editors/zed/zed-0.155.2-r1.ebuild delete mode 100644 app-editors/zed/zed-0.155.2.ebuild create mode 100644 app-editors/zed/zed-0.159.10-r1.ebuild delete mode 100644 app-editors/zed/zed-0.159.10.ebuild create mode 100644 app-editors/zed/zed-0.160.7-r1.ebuild delete mode 100644 app-editors/zed/zed-0.160.7.ebuild create mode 100644 app-emulation/ruffle/ruffle-0_p20240929-r1.ebuild delete mode 100644 app-emulation/ruffle/ruffle-0_p20240929.ebuild create mode 100644 app-emulation/ruffle/ruffle-0_p20241027-r1.ebuild delete mode 100644 app-emulation/ruffle/ruffle-0_p20241027.ebuild create mode 100644 app-emulation/virtiofsd/virtiofsd-1.10.0-r1.ebuild delete mode 100644 app-emulation/virtiofsd/virtiofsd-1.10.0.ebuild create mode 100644 app-emulation/virtiofsd/virtiofsd-1.10.1-r1.ebuild delete mode 100644 app-emulation/virtiofsd/virtiofsd-1.10.1.ebuild create mode 100644 app-emulation/virtiofsd/virtiofsd-1.11.1-r1.ebuild delete mode 100644 app-emulation/virtiofsd/virtiofsd-1.11.1.ebuild create mode 100644 app-forensics/yara-x/yara-x-0.5.0-r1.ebuild delete mode 100644 app-forensics/yara-x/yara-x-0.5.0.ebuild create mode 100644 app-forensics/yara-x/yara-x-0.6.0-r1.ebuild delete mode 100644 app-forensics/yara-x/yara-x-0.6.0.ebuild create mode 100644 app-forensics/yara-x/yara-x-0.7.0-r1.ebuild delete mode 100644 app-forensics/yara-x/yara-x-0.7.0.ebuild create mode 100644 app-i18n/yaskkserv2/yaskkserv2-0.1.7-r1.ebuild delete mode 100644 app-i18n/yaskkserv2/yaskkserv2-0.1.7.ebuild create mode 100644 app-laptop/tiny-dfr/tiny-dfr-0.3.0-r1.ebuild delete mode 100644 app-laptop/tiny-dfr/tiny-dfr-0.3.0.ebuild create mode 100644 app-laptop/tiny-dfr/tiny-dfr-0.3.1-r1.ebuild delete mode 100644 app-laptop/tiny-dfr/tiny-dfr-0.3.1.ebuild create mode 100644 app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920-r1.ebuild delete mode 100644 app-metrics/unbound-telemetry/unbound-telemetry-0.1.0_pre20210920.ebuild delete mode 100644 app-misc/anki/anki-24.06.3-r1.ebuild create mode 100644 app-misc/anki/anki-24.06.3-r2.ebuild create mode 100644 app-misc/battop/battop-0.2.4_p1-r1.ebuild delete mode 100644 app-misc/battop/battop-0.2.4_p1.ebuild create mode 100644 app-misc/broot/broot-1.39.1-r1.ebuild delete mode 100644 app-misc/broot/broot-1.39.1.ebuild create mode 100644 app-misc/broot/broot-1.40.0-r1.ebuild delete mode 100644 app-misc/broot/broot-1.40.0.ebuild create mode 100644 app-misc/broot/broot-1.41.1-r1.ebuild delete mode 100644 app-misc/broot/broot-1.41.1.ebuild create mode 100644 app-misc/broot/broot-1.42.0-r1.ebuild delete mode 100644 app-misc/broot/broot-1.42.0.ebuild create mode 100644 app-misc/jaq/jaq-1.4.0-r1.ebuild delete mode 100644 app-misc/jaq/jaq-1.4.0.ebuild create mode 100644 app-misc/jaq/jaq-1.5.0-r1.ebuild delete mode 100644 app-misc/jaq/jaq-1.5.0.ebuild create mode 100644 app-misc/jaq/jaq-1.6.0-r1.ebuild delete mode 100644 app-misc/jaq/jaq-1.6.0.ebuild delete mode 100644 app-misc/jf/jf-0.6.2-r1.ebuild create mode 100644 app-misc/jf/jf-0.6.2-r2.ebuild create mode 100644 app-misc/rpick/rpick-0.9.1-r1.ebuild delete mode 100644 app-misc/rpick/rpick-0.9.1.ebuild create mode 100644 app-misc/skim/skim-0.10.4-r1.ebuild delete mode 100644 app-misc/skim/skim-0.10.4.ebuild create mode 100644 app-misc/tzupdate/tzupdate-3.1.0-r1.ebuild delete mode 100644 app-misc/tzupdate/tzupdate-3.1.0.ebuild create mode 100644 app-misc/weggli/weggli-0.2.4-r1.ebuild delete mode 100644 app-misc/weggli/weggli-0.2.4.ebuild create mode 100644 app-misc/zellij/zellij-0.41.1-r1.ebuild delete mode 100644 app-misc/zellij/zellij-0.41.1.ebuild create mode 100644 app-portage/emlop/emlop-0.7.0-r1.ebuild delete mode 100644 app-portage/emlop/emlop-0.7.0.ebuild create mode 100644 app-portage/emlop/emlop-0.7.1-r1.ebuild delete mode 100644 app-portage/emlop/emlop-0.7.1.ebuild delete mode 100644 app-shells/atuin/atuin-18.3.0-r1.ebuild create mode 100644 app-shells/atuin/atuin-18.3.0-r2.ebuild create mode 100644 app-shells/mcfly/mcfly-0.5.13-r1.ebuild delete mode 100644 app-shells/mcfly/mcfly-0.5.13.ebuild create mode 100644 app-shells/mcfly/mcfly-0.9.0-r1.ebuild delete mode 100644 app-shells/mcfly/mcfly-0.9.0.ebuild create mode 100644 app-shells/nushell/nushell-0.95.0-r1.ebuild delete mode 100644 app-shells/nushell/nushell-0.95.0.ebuild create mode 100644 app-shells/nushell/nushell-0.96.1-r1.ebuild delete mode 100644 app-shells/nushell/nushell-0.96.1.ebuild create mode 100644 app-shells/nushell/nushell-0.98.0-r1.ebuild delete mode 100644 app-shells/nushell/nushell-0.98.0.ebuild create mode 100644 app-shells/starship/starship-1.19.0-r1.ebuild delete mode 100644 app-shells/starship/starship-1.19.0.ebuild create mode 100644 app-shells/starship/starship-1.20.1-r1.ebuild delete mode 100644 app-shells/starship/starship-1.20.1.ebuild create mode 100644 app-shells/zoxide/zoxide-0.9.4-r1.ebuild delete mode 100644 app-shells/zoxide/zoxide-0.9.4.ebuild create mode 100644 app-shells/zoxide/zoxide-0.9.6-r1.ebuild delete mode 100644 app-shells/zoxide/zoxide-0.9.6.ebuild create mode 100644 app-text/fblog/fblog-4.10.0-r1.ebuild delete mode 100644 app-text/fblog/fblog-4.10.0.ebuild create mode 100644 app-text/mdbook/mdbook-0.4.40-r1.ebuild delete mode 100644 app-text/mdbook/mdbook-0.4.40.ebuild create mode 100644 dev-db/influxdb/influxdb-2.7.10-r1.ebuild delete mode 100644 dev-db/influxdb/influxdb-2.7.10.ebuild create mode 100644 dev-db/influxdb/influxdb-2.7.8-r1.ebuild delete mode 100644 dev-db/influxdb/influxdb-2.7.8.ebuild delete mode 100644 dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild create mode 100644 dev-java/icedtea-web/icedtea-web-1.8.8-r2.ebuild create mode 100644 dev-lang/gleam/gleam-1.4.1-r1.ebuild delete mode 100644 dev-lang/gleam/gleam-1.4.1.ebuild delete mode 100644 dev-lang/ruby/ruby-3.2.4-r1.ebuild create mode 100644 dev-lang/ruby/ruby-3.2.4-r2.ebuild create mode 100644 dev-lang/ruby/ruby-3.2.4-r3.ebuild delete mode 100644 dev-lang/ruby/ruby-3.2.4.ebuild create mode 100644 dev-lang/ruby/ruby-3.2.5-r1.ebuild delete mode 100644 dev-lang/ruby/ruby-3.2.5.ebuild create mode 100644 dev-lang/ruby/ruby-3.2.6-r1.ebuild delete mode 100644 dev-lang/ruby/ruby-3.2.6.ebuild delete mode 100644 dev-lang/ruby/ruby-3.3.4-r1.ebuild create mode 100644 dev-lang/ruby/ruby-3.3.4-r2.ebuild create mode 100644 dev-lang/ruby/ruby-3.3.5-r1.ebuild delete mode 100644 dev-lang/ruby/ruby-3.3.5.ebuild create mode 100644 dev-lang/ruby/ruby-3.3.6-r1.ebuild delete mode 100644 dev-lang/ruby/ruby-3.3.6.ebuild create mode 100644 dev-lang/spidermonkey/spidermonkey-102.15.0-r1.ebuild delete mode 100644 dev-lang/spidermonkey/spidermonkey-102.15.0.ebuild create mode 100644 dev-lang/spidermonkey/spidermonkey-115.16.0-r1.ebuild delete mode 100644 dev-lang/spidermonkey/spidermonkey-115.16.0.ebuild create mode 100644 dev-lang/spidermonkey/spidermonkey-128.3.0-r1.ebuild delete mode 100644 dev-lang/spidermonkey/spidermonkey-128.3.0.ebuild create mode 100644 dev-lang/spidermonkey/spidermonkey-128.4.0-r1.ebuild delete mode 100644 dev-lang/spidermonkey/spidermonkey-128.4.0.ebuild delete mode 100644 dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild create mode 100644 dev-libs/dynolog/dynolog-0.3.1_p20230126-r3.ebuild create mode 100644 dev-python/adblock/adblock-0.6.0-r1.ebuild delete mode 100644 dev-python/adblock/adblock-0.6.0.ebuild delete mode 100644 dev-python/bcrypt/bcrypt-4.2.0-r2.ebuild create mode 100644 dev-python/bcrypt/bcrypt-4.2.0-r3.ebuild create mode 100644 dev-python/blake3/blake3-0.4.1-r1.ebuild delete mode 100644 dev-python/blake3/blake3-0.4.1.ebuild create mode 100644 dev-python/cramjam/cramjam-2.8.3-r1.ebuild delete mode 100644 dev-python/cramjam/cramjam-2.8.3.ebuild create mode 100644 dev-python/cramjam/cramjam-2.8.4-r1.ebuild delete mode 100644 dev-python/cramjam/cramjam-2.8.4.ebuild create mode 100644 dev-python/cramjam/cramjam-2.9.0-r1.ebuild delete mode 100644 dev-python/cramjam/cramjam-2.9.0.ebuild create mode 100644 dev-python/cryptography/cryptography-43.0.3-r1.ebuild delete mode 100644 dev-python/cryptography/cryptography-43.0.3.ebuild create mode 100644 dev-python/dulwich/dulwich-0.22.4-r1.ebuild delete mode 100644 dev-python/dulwich/dulwich-0.22.4.ebuild create mode 100644 dev-python/jellyfish/jellyfish-1.1.0-r1.ebuild delete mode 100644 dev-python/jellyfish/jellyfish-1.1.0.ebuild create mode 100644 dev-python/libcst/libcst-1.5.0-r1.ebuild delete mode 100644 dev-python/libcst/libcst-1.5.0.ebuild create mode 100644 dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20-r1.ebuild delete mode 100644 dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild create mode 100644 dev-python/nh3/nh3-0.2.18-r1.ebuild delete mode 100644 dev-python/nh3/nh3-0.2.18.ebuild create mode 100644 dev-python/orjson/orjson-3.10.10-r1.ebuild delete mode 100644 dev-python/orjson/orjson-3.10.10.ebuild create mode 100644 dev-python/orjson/orjson-3.10.11-r1.ebuild delete mode 100644 dev-python/orjson/orjson-3.10.11.ebuild create mode 100644 dev-python/orjson/orjson-3.10.7-r1.ebuild delete mode 100644 dev-python/orjson/orjson-3.10.7.ebuild create mode 100644 dev-python/orjson/orjson-3.10.9-r1.ebuild delete mode 100644 dev-python/orjson/orjson-3.10.9.ebuild create mode 100644 dev-python/pydantic-core/pydantic-core-2.23.4-r1.ebuild delete mode 100644 dev-python/pydantic-core/pydantic-core-2.23.4.ebuild create mode 100644 dev-python/pydantic-core/pydantic-core-2.25.0-r1.ebuild delete mode 100644 dev-python/pydantic-core/pydantic-core-2.25.0.ebuild create mode 100644 dev-python/pydantic-core/pydantic-core-2.25.1-r1.ebuild delete mode 100644 dev-python/pydantic-core/pydantic-core-2.25.1.ebuild create mode 100644 dev-python/pydantic-core/pydantic-core-2.26.0-r1.ebuild delete mode 100644 dev-python/pydantic-core/pydantic-core-2.26.0.ebuild create mode 100644 dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3-r1.ebuild delete mode 100644 dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3.ebuild create mode 100644 dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.6-r1.ebuild delete mode 100644 dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.6.ebuild create mode 100644 dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.2.1-r1.ebuild delete mode 100644 dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.2.1.ebuild create mode 100644 dev-python/pyproject-fmt/pyproject-fmt-2.4.2-r1.ebuild delete mode 100644 dev-python/pyproject-fmt/pyproject-fmt-2.4.2.ebuild create mode 100644 dev-python/pyproject-fmt/pyproject-fmt-2.4.3-r1.ebuild delete mode 100644 dev-python/pyproject-fmt/pyproject-fmt-2.4.3.ebuild create mode 100644 dev-python/pyproject-fmt/pyproject-fmt-2.5.0-r1.ebuild delete mode 100644 dev-python/pyproject-fmt/pyproject-fmt-2.5.0.ebuild create mode 100644 dev-python/qiskit/qiskit-1.2.4-r1.ebuild delete mode 100644 dev-python/qiskit/qiskit-1.2.4.ebuild create mode 100644 dev-python/qiskit/qiskit-1.3.0_rc1-r1.ebuild delete mode 100644 dev-python/qiskit/qiskit-1.3.0_rc1.ebuild create mode 100644 dev-python/regress/regress-2024.11.1-r1.ebuild delete mode 100644 dev-python/regress/regress-2024.11.1.ebuild create mode 100644 dev-python/regress/regress-2024.8.1-r1.ebuild delete mode 100644 dev-python/regress/regress-2024.8.1.ebuild create mode 100644 dev-python/rpds-py/rpds-py-0.19.1-r1.ebuild delete mode 100644 dev-python/rpds-py/rpds-py-0.19.1.ebuild create mode 100644 dev-python/rpds-py/rpds-py-0.20.1-r1.ebuild delete mode 100644 dev-python/rpds-py/rpds-py-0.20.1.ebuild create mode 100644 dev-python/rpds-py/rpds-py-0.21.0-r1.ebuild delete mode 100644 dev-python/rpds-py/rpds-py-0.21.0.ebuild delete mode 100644 dev-python/rustworkx/rustworkx-0.14.2-r1.ebuild create mode 100644 dev-python/rustworkx/rustworkx-0.14.2-r2.ebuild create mode 100644 dev-python/rustworkx/rustworkx-0.15.0-r1.ebuild delete mode 100644 dev-python/rustworkx/rustworkx-0.15.0.ebuild create mode 100644 dev-python/rustworkx/rustworkx-0.15.1-r1.ebuild delete mode 100644 dev-python/rustworkx/rustworkx-0.15.1.ebuild create mode 100644 dev-python/setuptools-rust/setuptools-rust-1.10.2-r1.ebuild delete mode 100644 dev-python/setuptools-rust/setuptools-rust-1.10.2.ebuild create mode 100644 dev-python/sqlglot/sqlglot-25.28.0-r1.ebuild delete mode 100644 dev-python/sqlglot/sqlglot-25.28.0.ebuild create mode 100644 dev-python/sqlglot/sqlglot-25.29.0-r1.ebuild delete mode 100644 dev-python/sqlglot/sqlglot-25.29.0.ebuild create mode 100644 dev-python/uv/uv-0.4.30-r1.ebuild delete mode 100644 dev-python/uv/uv-0.4.30.ebuild create mode 100644 dev-python/uv/uv-0.5.0-r1.ebuild delete mode 100644 dev-python/uv/uv-0.5.0.ebuild create mode 100644 dev-python/watchfiles/watchfiles-0.23.0-r1.ebuild delete mode 100644 dev-python/watchfiles/watchfiles-0.23.0.ebuild create mode 100644 dev-python/watchfiles/watchfiles-0.24.0-r1.ebuild delete mode 100644 dev-python/watchfiles/watchfiles-0.24.0.ebuild create mode 100644 dev-util/bindgen/bindgen-0.68.1-r1.ebuild delete mode 100644 dev-util/bindgen/bindgen-0.68.1.ebuild create mode 100644 dev-util/bindgen/bindgen-0.69.4-r1.ebuild delete mode 100644 dev-util/bindgen/bindgen-0.69.4.ebuild create mode 100644 dev-util/bindgen/bindgen-0.70.1-r1.ebuild delete mode 100644 dev-util/bindgen/bindgen-0.70.1.ebuild create mode 100644 dev-util/bingrep/bingrep-0.10.1-r1.ebuild delete mode 100644 dev-util/bingrep/bingrep-0.10.1.ebuild create mode 100644 dev-util/bingrep/bingrep-0.11.0-r1.ebuild delete mode 100644 dev-util/bingrep/bingrep-0.11.0.ebuild create mode 100644 dev-util/bpftop/bpftop-0.2.3-r1.ebuild delete mode 100644 dev-util/bpftop/bpftop-0.2.3.ebuild create mode 100644 dev-util/bpftop/bpftop-0.5.1-r1.ebuild delete mode 100644 dev-util/bpftop/bpftop-0.5.1.ebuild create mode 100644 dev-util/bugbite-cli/bugbite-cli-0.0.12-r1.ebuild delete mode 100644 dev-util/bugbite-cli/bugbite-cli-0.0.12.ebuild create mode 100644 dev-util/cargo-audit/cargo-audit-0.20.1-r1.ebuild delete mode 100644 dev-util/cargo-audit/cargo-audit-0.20.1.ebuild create mode 100644 dev-util/cargo-audit/cargo-audit-0.21.0-r1.ebuild delete mode 100644 dev-util/cargo-audit/cargo-audit-0.21.0.ebuild create mode 100644 dev-util/cargo-c/cargo-c-0.10.0-r1.ebuild delete mode 100644 dev-util/cargo-c/cargo-c-0.10.0.ebuild create mode 100644 dev-util/cargo-c/cargo-c-0.10.4-r1.ebuild delete mode 100644 dev-util/cargo-c/cargo-c-0.10.4.ebuild create mode 100644 dev-util/cargo-c/cargo-c-0.10.5-r1.ebuild delete mode 100644 dev-util/cargo-c/cargo-c-0.10.5.ebuild create mode 100644 dev-util/cargo-c/cargo-c-0.9.14-r1.ebuild delete mode 100644 dev-util/cargo-c/cargo-c-0.9.14.ebuild create mode 100644 dev-util/cargo-c/cargo-c-0.9.30-r1.ebuild delete mode 100644 dev-util/cargo-c/cargo-c-0.9.30.ebuild create mode 100644 dev-util/cargo-c/cargo-c-0.9.31-r1.ebuild delete mode 100644 dev-util/cargo-c/cargo-c-0.9.31.ebuild create mode 100644 dev-util/cargo-c/cargo-c-0.9.32-r1.ebuild delete mode 100644 dev-util/cargo-c/cargo-c-0.9.32.ebuild delete mode 100644 dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r1.ebuild create mode 100644 dev-util/cargo-ebuild/cargo-ebuild-0.5.4-r2.ebuild create mode 100644 dev-util/cargo-license/cargo-license-0.5.1-r1.ebuild delete mode 100644 dev-util/cargo-license/cargo-license-0.5.1.ebuild create mode 100644 dev-util/cargo-license/cargo-license-0.6.1-r1.ebuild delete mode 100644 dev-util/cargo-license/cargo-license-0.6.1.ebuild create mode 100644 dev-util/cargo-nextest/cargo-nextest-0.9.67-r1.ebuild delete mode 100644 dev-util/cargo-nextest/cargo-nextest-0.9.67.ebuild create mode 100644 dev-util/cargo-nextest/cargo-nextest-0.9.72-r1.ebuild delete mode 100644 dev-util/cargo-nextest/cargo-nextest-0.9.72.ebuild create mode 100644 dev-util/cargo-tarpaulin/cargo-tarpaulin-0.30.0-r1.ebuild delete mode 100644 dev-util/cargo-tarpaulin/cargo-tarpaulin-0.30.0.ebuild create mode 100644 dev-util/cbindgen/cbindgen-0.26.0-r1.ebuild delete mode 100644 dev-util/cbindgen/cbindgen-0.26.0.ebuild create mode 100644 dev-util/cbindgen/cbindgen-0.27.0-r1.ebuild delete mode 100644 dev-util/cbindgen/cbindgen-0.27.0.ebuild create mode 100644 dev-util/difftastic/difftastic-0.60.0-r1.ebuild delete mode 100644 dev-util/difftastic/difftastic-0.60.0.ebuild create mode 100644 dev-util/difftastic/difftastic-0.61.0-r1.ebuild delete mode 100644 dev-util/difftastic/difftastic-0.61.0.ebuild delete mode 100644 dev-util/elfshaker/elfshaker-0.9.0_p20230918.ebuild delete mode 100644 dev-util/elfshaker/elfshaker-0.9.0_p20240122.ebuild create mode 100644 dev-util/elfshaker/elfshaker-0.9.0_p20240914.ebuild delete mode 100644 dev-util/elfshaker/files/elfshaker-0.9.0_p20230918-update-rustc-serialize.patch create mode 100644 dev-util/git-delta/git-delta-0.16.5-r1.ebuild delete mode 100644 dev-util/git-delta/git-delta-0.16.5.ebuild create mode 100644 dev-util/git-delta/git-delta-0.17.0-r1.ebuild delete mode 100644 dev-util/git-delta/git-delta-0.17.0.ebuild create mode 100644 dev-util/git-delta/git-delta-0.18.1-r1.ebuild delete mode 100644 dev-util/git-delta/git-delta-0.18.1.ebuild create mode 100644 dev-util/git-delta/git-delta-0.18.2-r1.ebuild delete mode 100644 dev-util/git-delta/git-delta-0.18.2.ebuild create mode 100644 dev-util/maturin/maturin-1.7.4-r1.ebuild delete mode 100644 dev-util/maturin/maturin-1.7.4.ebuild create mode 100644 dev-util/pkgcruft/pkgcruft-0.0.1-r1.ebuild delete mode 100644 dev-util/pkgcruft/pkgcruft-0.0.1.ebuild create mode 100644 dev-util/pkgcruft/pkgcruft-0.0.2-r1.ebuild delete mode 100644 dev-util/pkgcruft/pkgcruft-0.0.2.ebuild create mode 100644 dev-util/pkgcruft/pkgcruft-0.0.3-r1.ebuild delete mode 100644 dev-util/pkgcruft/pkgcruft-0.0.3.ebuild delete mode 100644 dev-util/py-spy/py-spy-0.3.14.ebuild create mode 100644 dev-util/py-spy/py-spy-0.4.0.ebuild create mode 100644 dev-util/rinstall/rinstall-0.2.0-r1.ebuild delete mode 100644 dev-util/rinstall/rinstall-0.2.0.ebuild create mode 100644 dev-util/ruff/ruff-0.7.0-r1.ebuild delete mode 100644 dev-util/ruff/ruff-0.7.0.ebuild create mode 100644 dev-util/ruff/ruff-0.7.1-r1.ebuild delete mode 100644 dev-util/ruff/ruff-0.7.1.ebuild create mode 100644 dev-util/ruff/ruff-0.7.2-r1.ebuild delete mode 100644 dev-util/ruff/ruff-0.7.2.ebuild create mode 100644 dev-util/rustup/rustup-1.27.0-r1.ebuild delete mode 100644 dev-util/rustup/rustup-1.27.0.ebuild create mode 100644 dev-util/rustup/rustup-1.27.1-r1.ebuild delete mode 100644 dev-util/rustup/rustup-1.27.1.ebuild delete mode 100644 dev-util/sccache/sccache-0.5.4-r1.ebuild create mode 100644 dev-util/sccache/sccache-0.5.4-r2.ebuild create mode 100644 dev-util/selenium-manager/selenium-manager-4.25.0-r1.ebuild delete mode 100644 dev-util/selenium-manager/selenium-manager-4.25.0.ebuild create mode 100644 dev-util/selenium-manager/selenium-manager-4.26.0-r1.ebuild delete mode 100644 dev-util/selenium-manager/selenium-manager-4.26.0.ebuild create mode 100644 dev-util/tree-sitter-cli/tree-sitter-cli-0.22.6-r1.ebuild delete mode 100644 dev-util/tree-sitter-cli/tree-sitter-cli-0.22.6.ebuild create mode 100644 dev-util/tree-sitter-cli/tree-sitter-cli-0.23.0-r1.ebuild delete mode 100644 dev-util/tree-sitter-cli/tree-sitter-cli-0.23.0.ebuild create mode 100644 dev-util/tree-sitter-cli/tree-sitter-cli-0.23.2-r1.ebuild delete mode 100644 dev-util/tree-sitter-cli/tree-sitter-cli-0.23.2.ebuild create mode 100644 dev-util/tree-sitter-cli/tree-sitter-cli-0.24.3-r1.ebuild delete mode 100644 dev-util/tree-sitter-cli/tree-sitter-cli-0.24.3.ebuild delete mode 100644 dev-util/wachy/wachy-0.1.0_alpha6-r1.ebuild create mode 100644 dev-util/wachy/wachy-0.1.0_alpha6-r2.ebuild create mode 100644 dev-util/watchman/watchman-2023.06.19.00-r1.ebuild delete mode 100644 dev-util/watchman/watchman-2023.06.19.00.ebuild create mode 100644 dev-vcs/breezy/breezy-3.3.5-r1.ebuild delete mode 100644 dev-vcs/breezy/breezy-3.3.5.ebuild delete mode 100644 dev-vcs/breezy/breezy-3.3.7-r1.ebuild create mode 100644 dev-vcs/breezy/breezy-3.3.7-r2.ebuild create mode 100644 dev-vcs/git-absorb/git-absorb-0.6.15-r1.ebuild delete mode 100644 dev-vcs/git-absorb/git-absorb-0.6.15.ebuild delete mode 100644 dev-vcs/mercurial/mercurial-6.5.3-r1.ebuild create mode 100644 dev-vcs/mercurial/mercurial-6.5.3-r2.ebuild delete mode 100644 dev-vcs/mercurial/mercurial-6.6.2-r1.ebuild create mode 100644 dev-vcs/mercurial/mercurial-6.6.2-r2.ebuild delete mode 100644 dev-vcs/mercurial/mercurial-6.7.4-r1.ebuild create mode 100644 dev-vcs/mercurial/mercurial-6.7.4-r2.ebuild create mode 100644 dev-vcs/mercurial/mercurial-6.8.1-r1.ebuild delete mode 100644 dev-vcs/mercurial/mercurial-6.8.1.ebuild create mode 100644 dev-vcs/stgit/stgit-2.4.11-r1.ebuild delete mode 100644 dev-vcs/stgit/stgit-2.4.11.ebuild create mode 100644 dev-vcs/stgit/stgit-2.4.12-r1.ebuild delete mode 100644 dev-vcs/stgit/stgit-2.4.12.ebuild create mode 100644 dev-vcs/stgit/stgit-2.4.6-r1.ebuild delete mode 100644 dev-vcs/stgit/stgit-2.4.6.ebuild create mode 100644 games-board/jja/jja-0.9.1-r1.ebuild delete mode 100644 games-board/jja/jja-0.9.1.ebuild create mode 100644 games-emulation/rmg/rmg-0.6.5-r1.ebuild delete mode 100644 games-emulation/rmg/rmg-0.6.5.ebuild create mode 100644 games-emulation/rmg/rmg-0.6.6-r1.ebuild delete mode 100644 games-emulation/rmg/rmg-0.6.6.ebuild create mode 100644 games-puzzle/syzygy/syzygy-1.0.2-r1.ebuild delete mode 100644 games-puzzle/syzygy/syzygy-1.0.2.ebuild create mode 100644 games-rpg/rpg-cli/rpg-cli-1.2.0-r1.ebuild delete mode 100644 games-rpg/rpg-cli/rpg-cli-1.2.0.ebuild delete mode 100644 games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild create mode 100644 games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild create mode 100644 games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0-r1.ebuild delete mode 100644 games-strategy/ja2-stracciatella/ja2-stracciatella-0.21.0.ebuild create mode 100644 gnome-base/librsvg/librsvg-2.57.3-r1.ebuild delete mode 100644 gnome-base/librsvg/librsvg-2.57.3.ebuild create mode 100644 gnome-base/librsvg/librsvg-2.58.2-r1.ebuild delete mode 100644 gnome-base/librsvg/librsvg-2.58.2.ebuild create mode 100644 gui-apps/railway/railway-2.7.0-r1.ebuild delete mode 100644 gui-apps/railway/railway-2.7.0.ebuild delete mode 100644 gui-apps/tuigreet/tuigreet-0.8.0-r1.ebuild create mode 100644 gui-apps/tuigreet/tuigreet-0.8.0-r2.ebuild create mode 100644 gui-apps/tuigreet/tuigreet-0.9.1-r1.ebuild delete mode 100644 gui-apps/tuigreet/tuigreet-0.9.1.ebuild create mode 100644 gui-libs/greetd/greetd-0.10.0-r1.ebuild delete mode 100644 gui-libs/greetd/greetd-0.10.0.ebuild create mode 100644 gui-libs/greetd/greetd-0.10.3-r1.ebuild delete mode 100644 gui-libs/greetd/greetd-0.10.3.ebuild create mode 100644 mail-client/thunderbird/thunderbird-128.3.1-r1.ebuild delete mode 100644 mail-client/thunderbird/thunderbird-128.3.1.ebuild create mode 100644 mail-client/thunderbird/thunderbird-128.3.3-r1.ebuild delete mode 100644 mail-client/thunderbird/thunderbird-128.3.3.ebuild create mode 100644 mail-client/thunderbird/thunderbird-128.4.0-r1.ebuild delete mode 100644 mail-client/thunderbird/thunderbird-128.4.0.ebuild create mode 100644 mail-client/thunderbird/thunderbird-128.4.2-r1.ebuild delete mode 100644 mail-client/thunderbird/thunderbird-128.4.2.ebuild delete mode 100644 media-gfx/fotema/fotema-1.14.2-r1.ebuild create mode 100644 media-gfx/fotema/fotema-1.14.2-r2.ebuild create mode 100644 media-gfx/fotema/fotema-1.14.3-r1.ebuild delete mode 100644 media-gfx/fotema/fotema-1.14.3.ebuild create mode 100644 media-gfx/fotema/fotema-1.14.4-r1.ebuild delete mode 100644 media-gfx/fotema/fotema-1.14.4.ebuild create mode 100644 media-gfx/libimagequant/libimagequant-4.2.2-r1.ebuild delete mode 100644 media-gfx/libimagequant/libimagequant-4.2.2.ebuild create mode 100644 media-gfx/libimagequant/libimagequant-4.3.0-r1.ebuild delete mode 100644 media-gfx/libimagequant/libimagequant-4.3.0.ebuild create mode 100644 media-gfx/oxipng/oxipng-8.0.0-r1.ebuild delete mode 100644 media-gfx/oxipng/oxipng-8.0.0.ebuild create mode 100644 media-gfx/oxipng/oxipng-9.0.0-r1.ebuild delete mode 100644 media-gfx/oxipng/oxipng-9.0.0.ebuild create mode 100644 media-gfx/oxipng/oxipng-9.1.2-r1.ebuild delete mode 100644 media-gfx/oxipng/oxipng-9.1.2.ebuild create mode 100644 media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild delete mode 100644 media-libs/glycin-loaders/glycin-loaders-1.1.0.ebuild create mode 100644 media-libs/glycin-loaders/glycin-loaders-1.1.1-r1.ebuild delete mode 100644 media-libs/glycin-loaders/glycin-loaders-1.1.1.ebuild create mode 100644 media-libs/libdovi/libdovi-3.3.1-r1.ebuild delete mode 100644 media-libs/libdovi/libdovi-3.3.1.ebuild create mode 100644 media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild delete mode 100644 media-libs/libopenraw/libopenraw-0.3.7.ebuild create mode 100644 media-libs/mesa/mesa-24.1.7-r1.ebuild delete mode 100644 media-libs/mesa/mesa-24.1.7.ebuild create mode 100644 media-libs/mesa/mesa-24.2.3-r1.ebuild delete mode 100644 media-libs/mesa/mesa-24.2.3.ebuild create mode 100644 media-libs/mesa/mesa-24.2.4-r1.ebuild delete mode 100644 media-libs/mesa/mesa-24.2.4.ebuild create mode 100644 media-libs/mesa/mesa-24.2.5-r1.ebuild delete mode 100644 media-libs/mesa/mesa-24.2.5.ebuild create mode 100644 media-libs/mesa/mesa-24.2.6-r1.ebuild delete mode 100644 media-libs/mesa/mesa-24.2.6.ebuild create mode 100644 media-sound/ncspot/ncspot-1.1.2-r1.ebuild delete mode 100644 media-sound/ncspot/ncspot-1.1.2.ebuild create mode 100644 media-sound/ncspot/ncspot-1.2.0-r1.ebuild delete mode 100644 media-sound/ncspot/ncspot-1.2.0.ebuild create mode 100644 media-sound/ncspot/ncspot-1.2.1-r1.ebuild delete mode 100644 media-sound/ncspot/ncspot-1.2.1.ebuild create mode 100644 media-sound/rescrobbled/rescrobbled-0.7.1-r1.ebuild delete mode 100644 media-sound/rescrobbled/rescrobbled-0.7.1.ebuild create mode 100644 media-video/rav1e/rav1e-0.6.6-r1.ebuild delete mode 100644 media-video/rav1e/rav1e-0.6.6.ebuild create mode 100644 media-video/rav1e/rav1e-0.7.1-r1.ebuild delete mode 100644 media-video/rav1e/rav1e-0.7.1.ebuild create mode 100644 net-analyzer/suricata/suricata-7.0.5-r1.ebuild delete mode 100644 net-analyzer/suricata/suricata-7.0.5.ebuild create mode 100644 net-analyzer/trippy/trippy-0.10.0-r1.ebuild delete mode 100644 net-analyzer/trippy/trippy-0.10.0.ebuild create mode 100644 net-analyzer/trippy/trippy-0.11.0-r1.ebuild delete mode 100644 net-analyzer/trippy/trippy-0.11.0.ebuild create mode 100644 net-analyzer/trippy/trippy-0.9.0-r1.ebuild delete mode 100644 net-analyzer/trippy/trippy-0.9.0.ebuild create mode 100644 net-dns/pdns-recursor/pdns-recursor-5.0.9-r1.ebuild delete mode 100644 net-dns/pdns-recursor/pdns-recursor-5.0.9.ebuild create mode 100644 net-dns/pdns-recursor/pdns-recursor-5.1.2-r1.ebuild delete mode 100644 net-dns/pdns-recursor/pdns-recursor-5.1.2.ebuild create mode 100644 net-dns/pdns-recursor/pdns-recursor-5.1.3-r1.ebuild delete mode 100644 net-dns/pdns-recursor/pdns-recursor-5.1.3.ebuild create mode 100644 net-im/fractal/fractal-8-r1.ebuild delete mode 100644 net-im/fractal/fractal-8.ebuild delete mode 100644 net-im/synapse/synapse-1.114.0-r2.ebuild create mode 100644 net-im/synapse/synapse-1.114.0-r3.ebuild delete mode 100644 net-im/synapse/synapse-1.116.0-r3.ebuild create mode 100644 net-im/synapse/synapse-1.116.0-r5.ebuild create mode 100644 net-im/synapse/synapse-1.117.0-r1.ebuild delete mode 100644 net-im/synapse/synapse-1.117.0.ebuild create mode 100644 net-im/synapse/synapse-1.118.0-r1.ebuild delete mode 100644 net-im/synapse/synapse-1.118.0.ebuild create mode 100644 net-libs/quiche/quiche-0.22.0-r1.ebuild delete mode 100644 net-libs/quiche/quiche-0.22.0.ebuild delete mode 100644 net-libs/rustls-ffi/rustls-ffi-0.10.0-r1.ebuild create mode 100644 net-libs/rustls-ffi/rustls-ffi-0.10.0-r2.ebuild delete mode 100644 net-libs/rustls-ffi/rustls-ffi-0.12.1-r2.ebuild create mode 100644 net-libs/rustls-ffi/rustls-ffi-0.12.1-r3.ebuild create mode 100644 net-libs/rustls-ffi/rustls-ffi-0.12.2-r1.ebuild delete mode 100644 net-libs/rustls-ffi/rustls-ffi-0.12.2.ebuild create mode 100644 net-libs/rustls-ffi/rustls-ffi-0.13.0-r1.ebuild delete mode 100644 net-libs/rustls-ffi/rustls-ffi-0.13.0.ebuild delete mode 100644 net-libs/rustls-ffi/rustls-ffi-0.9.1-r1.ebuild create mode 100644 net-libs/rustls-ffi/rustls-ffi-0.9.1-r2.ebuild create mode 100644 net-misc/asahi-btsync/asahi-btsync-0.2.0-r1.ebuild delete mode 100644 net-misc/asahi-btsync/asahi-btsync-0.2.0.ebuild create mode 100644 net-misc/asahi-wifisync/asahi-wifisync-0.2.0-r1.ebuild delete mode 100644 net-misc/asahi-wifisync/asahi-wifisync-0.2.0.ebuild create mode 100644 net-misc/geckodriver/geckodriver-0.35.0-r1.ebuild delete mode 100644 net-misc/geckodriver/geckodriver-0.35.0.ebuild create mode 100644 net-misc/hurl/hurl-4.1.0-r1.ebuild delete mode 100644 net-misc/hurl/hurl-4.1.0.ebuild create mode 100644 net-misc/hurl/hurl-5.0.1-r1.ebuild delete mode 100644 net-misc/hurl/hurl-5.0.1.ebuild create mode 100644 net-misc/websocat/websocat-1.12.0-r1.ebuild delete mode 100644 net-misc/websocat/websocat-1.12.0.ebuild create mode 100644 net-misc/websocat/websocat-1.13.0-r1.ebuild delete mode 100644 net-misc/websocat/websocat-1.13.0.ebuild create mode 100644 net-misc/zerotier/zerotier-1.14.1-r1.ebuild delete mode 100644 net-misc/zerotier/zerotier-1.14.1.ebuild create mode 100644 net-misc/zerotier/zerotier-1.14.2-r1.ebuild delete mode 100644 net-misc/zerotier/zerotier-1.14.2.ebuild create mode 100644 net-nds/389-ds-base/389-ds-base-3.0.2-r1.ebuild delete mode 100644 net-nds/389-ds-base/389-ds-base-3.0.2.ebuild create mode 100644 net-nds/389-ds-base/files/389-ds-base-3.0.2-fix-rust-in-configure.patch create mode 100644 net-news/newsboat/newsboat-2.30.1-r1.ebuild delete mode 100644 net-news/newsboat/newsboat-2.30.1.ebuild create mode 100644 net-news/newsboat/newsboat-2.34-r1.ebuild delete mode 100644 net-news/newsboat/newsboat-2.34.ebuild create mode 100644 net-p2p/arti/arti-1.2.6-r1.ebuild delete mode 100644 net-p2p/arti/arti-1.2.6.ebuild create mode 100644 net-p2p/arti/arti-1.2.7-r1.ebuild delete mode 100644 net-p2p/arti/arti-1.2.7.ebuild delete mode 100644 net-vpn/vpncloud/vpncloud-2.3.0-r1.ebuild create mode 100644 net-vpn/vpncloud/vpncloud-2.3.0-r2.ebuild create mode 100644 sci-libs/safetensors/safetensors-0.4.3-r1.ebuild delete mode 100644 sci-libs/safetensors/safetensors-0.4.3.ebuild create mode 100644 sci-libs/safetensors/safetensors-0.4.5-r1.ebuild delete mode 100644 sci-libs/safetensors/safetensors-0.4.5.ebuild create mode 100644 sci-libs/tokenizers/tokenizers-0.20.1-r1.ebuild delete mode 100644 sci-libs/tokenizers/tokenizers-0.20.1.ebuild create mode 100644 sys-apps/amdgpu_top/amdgpu_top-0.7.0-r1.ebuild delete mode 100644 sys-apps/amdgpu_top/amdgpu_top-0.7.0.ebuild create mode 100644 sys-apps/amdgpu_top/amdgpu_top-0.9.1-r1.ebuild delete mode 100644 sys-apps/amdgpu_top/amdgpu_top-0.9.1.ebuild create mode 100644 sys-apps/asahi-bless/asahi-bless-0.3.0-r1.ebuild delete mode 100644 sys-apps/asahi-bless/asahi-bless-0.3.0.ebuild create mode 100644 sys-apps/asahi-nvram/asahi-nvram-0.2.1-r1.ebuild delete mode 100644 sys-apps/asahi-nvram/asahi-nvram-0.2.1.ebuild create mode 100644 sys-apps/asahi-startup-disk/asahi-startup-disk-0.1.3-r1.ebuild delete mode 100644 sys-apps/asahi-startup-disk/asahi-startup-disk-0.1.3.ebuild delete mode 100644 sys-apps/bat/bat-0.23.0-r1.ebuild create mode 100644 sys-apps/bat/bat-0.23.0-r2.ebuild delete mode 100644 sys-apps/bat/bat-0.24.0-r1.ebuild create mode 100644 sys-apps/bat/bat-0.24.0-r2.ebuild create mode 100644 sys-apps/cyme/cyme-2.0.0-r1.ebuild delete mode 100644 sys-apps/cyme/cyme-2.0.0.ebuild create mode 100644 sys-apps/cyme/cyme-2.1.0-r1.ebuild delete mode 100644 sys-apps/cyme/cyme-2.1.0.ebuild create mode 100644 sys-apps/eza/eza-0.18.16-r1.ebuild delete mode 100644 sys-apps/eza/eza-0.18.16.ebuild create mode 100644 sys-apps/eza/eza-0.19.0-r1.ebuild delete mode 100644 sys-apps/eza/eza-0.19.0.ebuild create mode 100644 sys-apps/eza/eza-0.19.2-r1.ebuild delete mode 100644 sys-apps/eza/eza-0.19.2.ebuild create mode 100644 sys-apps/eza/eza-0.20.0-r1.ebuild delete mode 100644 sys-apps/eza/eza-0.20.0.ebuild create mode 100644 sys-apps/fd/fd-10.2.0-r1.ebuild delete mode 100644 sys-apps/fd/fd-10.2.0.ebuild create mode 100644 sys-apps/ipmi-fan-control/ipmi-fan-control-0.4.0-r1.ebuild delete mode 100644 sys-apps/ipmi-fan-control/ipmi-fan-control-0.4.0.ebuild create mode 100644 sys-apps/lsd/lsd-1.1.3-r1.ebuild delete mode 100644 sys-apps/lsd/lsd-1.1.3.ebuild create mode 100644 sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.14-r1.ebuild delete mode 100644 sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.14.ebuild create mode 100644 sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.15-r1.ebuild delete mode 100644 sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.15.ebuild create mode 100644 sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.16-r1.ebuild delete mode 100644 sys-apps/pkgcraft-tools/pkgcraft-tools-0.0.16.ebuild create mode 100644 sys-apps/ripgrep/ripgrep-14.1.1-r1.ebuild delete mode 100644 sys-apps/ripgrep/ripgrep-14.1.1.ebuild create mode 100644 sys-apps/systemctl-tui/systemctl-tui-0.3.4-r1.ebuild delete mode 100644 sys-apps/systemctl-tui/systemctl-tui-0.3.4.ebuild create mode 100644 sys-apps/uutils-coreutils/uutils-coreutils-0.0.25-r1.ebuild delete mode 100644 sys-apps/uutils-coreutils/uutils-coreutils-0.0.25.ebuild create mode 100644 sys-apps/uutils-coreutils/uutils-coreutils-0.0.27-r1.ebuild delete mode 100644 sys-apps/uutils-coreutils/uutils-coreutils-0.0.27.ebuild create mode 100644 sys-apps/uutils-findutils/uutils-findutils-0.5.0-r1.ebuild delete mode 100644 sys-apps/uutils-findutils/uutils-findutils-0.5.0.ebuild create mode 100644 sys-apps/zram-generator/zram-generator-1.1.2-r1.ebuild delete mode 100644 sys-apps/zram-generator/zram-generator-1.1.2.ebuild create mode 100644 sys-block/dust/dust-1.1.1-r1.ebuild delete mode 100644 sys-block/dust/dust-1.1.1.ebuild create mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild delete mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10.ebuild create mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild delete mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild create mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild delete mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14.ebuild delete mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r1.ebuild create mode 100644 sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild delete mode 100644 sys-devel/gcc/gcc-8.5.0-r1.ebuild create mode 100644 sys-devel/gcc/gcc-8.5.0-r2.ebuild create mode 100644 sys-fs/bcachefs-tools/bcachefs-tools-1.11.0-r1.ebuild delete mode 100644 sys-fs/bcachefs-tools/bcachefs-tools-1.11.0.ebuild create mode 100644 sys-fs/bcachefs-tools/bcachefs-tools-1.13.0-r1.ebuild delete mode 100644 sys-fs/bcachefs-tools/bcachefs-tools-1.13.0.ebuild create mode 100644 sys-fs/bcachefs-tools/bcachefs-tools-1.7.0-r1.ebuild delete mode 100644 sys-fs/bcachefs-tools/bcachefs-tools-1.7.0.ebuild create mode 100644 sys-fs/bcachefs-tools/bcachefs-tools-1.9.4-r1.ebuild delete mode 100644 sys-fs/bcachefs-tools/bcachefs-tools-1.9.4.ebuild delete mode 100644 sys-kernel/scx/scx-1.0.5-r1.ebuild create mode 100644 sys-kernel/scx/scx-1.0.5-r2.ebuild create mode 100644 sys-kernel/scx/scx-1.0.6-r1.ebuild delete mode 100644 sys-kernel/scx/scx-1.0.6.ebuild create mode 100644 sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild delete mode 100644 sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild create mode 100644 sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild delete mode 100644 sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild create mode 100644 sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild delete mode 100644 sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild delete mode 100644 sys-power/wluma/wluma-4.3.0-r2.ebuild create mode 100644 sys-power/wluma/wluma-4.3.0-r3.ebuild delete mode 100644 sys-power/wluma/wluma-4.4.0-r1.ebuild create mode 100644 sys-power/wluma/wluma-4.4.0-r2.ebuild create mode 100644 sys-process/below/below-0.8.1-r1.ebuild delete mode 100644 sys-process/below/below-0.8.1.ebuild create mode 100644 sys-process/bottom/bottom-0.10.1-r1.ebuild delete mode 100644 sys-process/bottom/bottom-0.10.1.ebuild create mode 100644 sys-process/bottom/bottom-0.10.2-r1.ebuild delete mode 100644 sys-process/bottom/bottom-0.10.2.ebuild create mode 100644 sys-process/procs/procs-0.14.5-r1.ebuild delete mode 100644 sys-process/procs/procs-0.14.5.ebuild create mode 100644 sys-process/procs/procs-0.14.6-r1.ebuild delete mode 100644 sys-process/procs/procs-0.14.6.ebuild create mode 100644 www-apps/nextcloud-notify_push/nextcloud-notify_push-0.7.0-r1.ebuild delete mode 100644 www-apps/nextcloud-notify_push/nextcloud-notify_push-0.7.0.ebuild create mode 100644 www-client/chromium/chromium-129.0.6668.100-r1.ebuild delete mode 100644 www-client/chromium/chromium-129.0.6668.100.ebuild create mode 100644 www-client/chromium/chromium-130.0.6723.116-r1.ebuild delete mode 100644 www-client/chromium/chromium-130.0.6723.116.ebuild create mode 100644 www-client/chromium/chromium-130.0.6723.91-r1.ebuild delete mode 100644 www-client/chromium/chromium-130.0.6723.91.ebuild create mode 100644 www-client/chromium/chromium-131.0.6753.0-r1.ebuild delete mode 100644 www-client/chromium/chromium-131.0.6753.0.ebuild create mode 100644 www-client/chromium/chromium-131.0.6778.24-r1.ebuild delete mode 100644 www-client/chromium/chromium-131.0.6778.24.ebuild create mode 100644 www-client/firefox/firefox-115.16.1-r1.ebuild delete mode 100644 www-client/firefox/firefox-115.16.1.ebuild create mode 100644 www-client/firefox/firefox-128.3.1-r1.ebuild delete mode 100644 www-client/firefox/firefox-128.3.1.ebuild create mode 100644 www-client/firefox/firefox-128.4.0-r1.ebuild delete mode 100644 www-client/firefox/firefox-128.4.0.ebuild create mode 100644 www-client/firefox/firefox-131.0.3-r1.ebuild delete mode 100644 www-client/firefox/firefox-131.0.3.ebuild create mode 100644 www-client/firefox/firefox-132.0-r1.ebuild create mode 100644 www-client/firefox/firefox-132.0.1-r1.ebuild delete mode 100644 www-client/firefox/firefox-132.0.1.ebuild delete mode 100644 www-client/firefox/firefox-132.0.ebuild delete mode 100644 www-client/seamonkey/seamonkey-2.53.18.2-r1.ebuild create mode 100644 www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild create mode 100644 www-client/seamonkey/seamonkey-2.53.19-r1.ebuild delete mode 100644 www-client/seamonkey/seamonkey-2.53.19.ebuild create mode 100644 x11-terms/alacritty/alacritty-0.12.3-r1.ebuild delete mode 100644 x11-terms/alacritty/alacritty-0.12.3.ebuild create mode 100644 x11-terms/alacritty/alacritty-0.13.2-r1.ebuild delete mode 100644 x11-terms/alacritty/alacritty-0.13.2.ebuild create mode 100644 x11-terms/alacritty/alacritty-0.14.0-r1.ebuild delete mode 100644 x11-terms/alacritty/alacritty-0.14.0.ebuild delete mode 100644 x11-terms/wezterm/wezterm-20240203.110809-r1.ebuild create mode 100644 x11-terms/wezterm/wezterm-20240203.110809-r2.ebuild (limited to 'profiles') diff --git a/app-antivirus/clamav/clamav-1.0.5-r1.ebuild b/app-antivirus/clamav/clamav-1.0.5-r1.ebuild new file mode 100644 index 000000000000..50043bc0c4d6 --- /dev/null +++ b/app-antivirus/clamav/clamav-1.0.5-r1.ebuild @@ -0,0 +1,389 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT=13 +PYTHON_COMPAT=( python3_{10..12} ) + +# Auto-Generated by cargo-ebuild 0.5.4-r1 +CRATES=" + adler@1.0.2 + autocfg@1.1.0 + bindgen@0.65.1 + bit_field@0.10.1 + bitflags@1.3.2 + block-buffer@0.10.3 + bumpalo@3.12.0 + bytemuck@1.13.0 + byteorder@1.4.3 + cbindgen@0.20.0 + cc@1.0.83 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.4.0 + color_quant@1.1.0 + cpufeatures@0.2.5 + crc32fast@1.3.2 + crossbeam-channel@0.5.8 + crossbeam-deque@0.8.2 + crossbeam-epoch@0.9.13 + crossbeam-utils@0.8.14 + crunchy@0.2.2 + crypto-common@0.1.6 + digest@0.10.6 + either@1.8.1 + errno@0.3.3 + errno-dragonfly@0.1.2 + exr@1.5.3 + fastrand@1.8.0 + flate2@1.0.25 + flume@0.10.14 + futures-core@0.3.26 + futures-sink@0.3.26 + generic-array@0.14.6 + getrandom@0.2.8 + gif@0.11.4 + glob@0.3.1 + half@2.2.1 + hashbrown@0.12.3 + heck@0.3.3 + hermit-abi@0.2.6 + hermit-abi@0.3.3 + hex@0.4.3 + image@0.24.5 + indexmap@1.9.2 + instant@0.1.12 + io-lifetimes@1.0.11 + itoa@1.0.5 + jpeg-decoder@0.3.0 + js-sys@0.3.61 + lazy_static@1.4.0 + lazycell@1.3.0 + lebe@0.5.2 + libc@0.2.139 + libloading@0.7.4 + linux-raw-sys@0.1.4 + lock_api@0.4.9 + log@0.4.17 + memchr@2.5.0 + memoffset@0.7.1 + minimal-lexical@0.2.1 + miniz_oxide@0.6.2 + nanorand@0.7.0 + nom@7.1.3 + num-complex@0.4.3 + num-integer@0.1.45 + num-rational@0.4.1 + num-traits@0.2.15 + num_cpus@1.15.0 + once_cell@1.17.0 + peeking_take_while@0.1.2 + pin-project@1.0.12 + pin-project-internal@1.0.12 + png@0.17.7 + prettyplease@0.2.4 + primal-check@0.3.3 + proc-macro2@1.0.66 + quote@1.0.26 + rayon@1.6.1 + rayon-core@1.10.2 + redox_syscall@0.2.16 + regex@1.7.1 + regex-syntax@0.6.28 + rustc-hash@1.1.0 + rustdct@0.7.1 + rustfft@6.1.0 + rustix@0.36.15 + ryu@1.0.12 + scoped_threadpool@0.1.9 + scopeguard@1.1.0 + serde@1.0.152 + serde_derive@1.0.152 + serde_json@1.0.93 + sha2@0.10.6 + shlex@1.1.0 + simd-adler32@0.3.4 + smallvec@1.10.0 + spin@0.9.8 + strength_reduce@0.2.4 + syn@1.0.107 + syn@2.0.15 + tempfile@3.4.0 + thiserror@1.0.38 + thiserror-impl@1.0.38 + threadpool@1.8.1 + tiff@0.8.1 + toml@0.5.11 + transpose@0.2.2 + typenum@1.16.0 + unicode-ident@1.0.6 + unicode-segmentation@1.10.1 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + 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 + weezl@0.1.7 + which@4.4.0 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.42.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + zune-inflate@0.2.42 +" + +inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles + +MY_P=${P//_/-} + +DESCRIPTION="Clam Anti-Virus Scanner" +HOMEPAGE="https://www.clamav.net/" +SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz + ${CARGO_CRATE_URIS}" +S=${WORKDIR}/clamav-${MY_P} + +LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" +SLOT="0/lts" +if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +fi + +IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test" + +REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter ) + clamonacc? ( clamapp ) + milter? ( clamapp ) + test? ( !libclamav-only )" + +RESTRICT="!test? ( test )" + +# Require acct-{user,group}/clamav at build time so that we can set +# the permissions on /var/lib/clamav in src_install rather than in +# pkg_postinst; calling "chown" on the live filesystem scares me. +COMMON_DEPEND=" + acct-group/clamav + acct-user/clamav + app-arch/bzip2 + dev-libs/json-c:= + dev-libs/libltdl + dev-libs/libpcre2:= + dev-libs/libxml2 + dev-libs/openssl:= + >=sys-libs/zlib-1.2.2:= + virtual/libiconv + !libclamav-only? ( net-misc/curl ) + clamapp? ( sys-libs/ncurses:= net-misc/curl ) + elibc_musl? ( sys-libs/fts-standalone ) + jit? ( \ + "${ED}"/etc/clamav/clamd.conf || die + + sed -e "s:^\(Example\):\# \1:" \ + -e "s/^#\(PidFile .*\)/\1/" \ + -e "s/^#\(DatabaseOwner .*\)/\1/" \ + -e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \ + -e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \ + -e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \ + -e "s/^#\(DatabaseDirectory .*\)/\1/" \ + "${ED}"/etc/clamav/freshclam.conf.sample > \ + "${ED}"/etc/clamav/freshclam.conf || die + + if use milter ; then + # Note: only keep the "unix" ClamdSocket and MilterSocket! + sed -e "s:^\(Example\):\# \1:" \ + -e "s/^#\(PidFile .*\)/\1/" \ + -e "s/^#\(ClamdSocket unix:.*\)/\1/" \ + -e "s/^#\(User .*\)/\1/" \ + -e "s/^#\(MilterSocket unix:.*\)/\1/" \ + -e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \ + "${ED}"/etc/clamav/clamav-milter.conf.sample > \ + "${ED}"/etc/clamav/clamav-milter.conf || die + + systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service + fi + + local i + for i in clamd freshclam clamav-milter + do + if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then + mv "${ED}"/etc/"${i}".conf{.sample,} || die + fi + done + + # These both need to be writable by the clamav user + # TODO: use syslog by default; that's what it's for. + diropts -o clamav -g clamav + keepdir /var/lib/clamav + keepdir /var/log/clamav + fi + fi + + if use doc ; then + local HTML_DOCS=( docs/html/. ) + einstalldocs + fi + + # Don't install man pages for utilities we didn't install + if use libclamav-only ; then + rm -r "${ED}"/usr/share/man || die + fi + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + if ! use libclamav-only ; then + if use systemd ; then + tmpfiles_process clamav.conf + fi + fi + + if use milter ; then + elog "For simple instructions how to setup the clamav-milter read the" + elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}" + fi + + local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d ) + if [[ ! -f "${databases}" ]] ; then + ewarn "You must run freshclam manually to populate the virus database" + ewarn "before starting clamav for the first time." + fi + + if ! systemd_is_booted ; then + ewarn "This version of ClamAV provides separate OpenRC services" + ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The" + ewarn "clamd service now starts only the clamd daemon itself. You" + ewarn "should add freshclam (and perhaps clamav-milter) to any" + ewarn "runlevels that previously contained clamd." + fi +} diff --git a/app-antivirus/clamav/clamav-1.0.5.ebuild b/app-antivirus/clamav/clamav-1.0.5.ebuild deleted file mode 100644 index 5759a6890ff1..000000000000 --- a/app-antivirus/clamav/clamav-1.0.5.ebuild +++ /dev/null @@ -1,392 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_MAX_SLOT=13 -PYTHON_COMPAT=( python3_{10..12} ) - -# Auto-Generated by cargo-ebuild 0.5.4-r1 -CRATES=" - adler@1.0.2 - autocfg@1.1.0 - bindgen@0.65.1 - bit_field@0.10.1 - bitflags@1.3.2 - block-buffer@0.10.3 - bumpalo@3.12.0 - bytemuck@1.13.0 - byteorder@1.4.3 - cbindgen@0.20.0 - cc@1.0.83 - cexpr@0.6.0 - cfg-if@1.0.0 - clang-sys@1.4.0 - color_quant@1.1.0 - cpufeatures@0.2.5 - crc32fast@1.3.2 - crossbeam-channel@0.5.8 - crossbeam-deque@0.8.2 - crossbeam-epoch@0.9.13 - crossbeam-utils@0.8.14 - crunchy@0.2.2 - crypto-common@0.1.6 - digest@0.10.6 - either@1.8.1 - errno@0.3.3 - errno-dragonfly@0.1.2 - exr@1.5.3 - fastrand@1.8.0 - flate2@1.0.25 - flume@0.10.14 - futures-core@0.3.26 - futures-sink@0.3.26 - generic-array@0.14.6 - getrandom@0.2.8 - gif@0.11.4 - glob@0.3.1 - half@2.2.1 - hashbrown@0.12.3 - heck@0.3.3 - hermit-abi@0.2.6 - hermit-abi@0.3.3 - hex@0.4.3 - image@0.24.5 - indexmap@1.9.2 - instant@0.1.12 - io-lifetimes@1.0.11 - itoa@1.0.5 - jpeg-decoder@0.3.0 - js-sys@0.3.61 - lazy_static@1.4.0 - lazycell@1.3.0 - lebe@0.5.2 - libc@0.2.139 - libloading@0.7.4 - linux-raw-sys@0.1.4 - lock_api@0.4.9 - log@0.4.17 - memchr@2.5.0 - memoffset@0.7.1 - minimal-lexical@0.2.1 - miniz_oxide@0.6.2 - nanorand@0.7.0 - nom@7.1.3 - num-complex@0.4.3 - num-integer@0.1.45 - num-rational@0.4.1 - num-traits@0.2.15 - num_cpus@1.15.0 - once_cell@1.17.0 - peeking_take_while@0.1.2 - pin-project@1.0.12 - pin-project-internal@1.0.12 - png@0.17.7 - prettyplease@0.2.4 - primal-check@0.3.3 - proc-macro2@1.0.66 - quote@1.0.26 - rayon@1.6.1 - rayon-core@1.10.2 - redox_syscall@0.2.16 - regex@1.7.1 - regex-syntax@0.6.28 - rustc-hash@1.1.0 - rustdct@0.7.1 - rustfft@6.1.0 - rustix@0.36.15 - ryu@1.0.12 - scoped_threadpool@0.1.9 - scopeguard@1.1.0 - serde@1.0.152 - serde_derive@1.0.152 - serde_json@1.0.93 - sha2@0.10.6 - shlex@1.1.0 - simd-adler32@0.3.4 - smallvec@1.10.0 - spin@0.9.8 - strength_reduce@0.2.4 - syn@1.0.107 - syn@2.0.15 - tempfile@3.4.0 - thiserror@1.0.38 - thiserror-impl@1.0.38 - threadpool@1.8.1 - tiff@0.8.1 - toml@0.5.11 - transpose@0.2.2 - typenum@1.16.0 - unicode-ident@1.0.6 - unicode-segmentation@1.10.1 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - 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 - weezl@0.1.7 - which@4.4.0 - winapi@0.3.9 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - windows-sys@0.42.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - zune-inflate@0.2.42 -" - -inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles - -MY_P=${P//_/-} - -DESCRIPTION="Clam Anti-Virus Scanner" -HOMEPAGE="https://www.clamav.net/" -SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz - ${CARGO_CRATE_URIS}" -S=${WORKDIR}/clamav-${MY_P} - -LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" -SLOT="0/lts" -if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 ~arm arm64 ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" -fi - -IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test" - -REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter ) - clamonacc? ( clamapp ) - milter? ( clamapp ) - test? ( !libclamav-only )" - -RESTRICT="!test? ( test )" - -# Require acct-{user,group}/clamav at build time so that we can set -# the permissions on /var/lib/clamav in src_install rather than in -# pkg_postinst; calling "chown" on the live filesystem scares me. -COMMON_DEPEND=" - acct-group/clamav - acct-user/clamav - app-arch/bzip2 - dev-libs/json-c:= - dev-libs/libltdl - dev-libs/libpcre2:= - dev-libs/libxml2 - dev-libs/openssl:= - >=sys-libs/zlib-1.2.2:= - virtual/libiconv - !libclamav-only? ( net-misc/curl ) - clamapp? ( sys-libs/ncurses:= net-misc/curl ) - elibc_musl? ( sys-libs/fts-standalone ) - jit? ( \ - "${ED}"/etc/clamav/clamd.conf || die - - sed -e "s:^\(Example\):\# \1:" \ - -e "s/^#\(PidFile .*\)/\1/" \ - -e "s/^#\(DatabaseOwner .*\)/\1/" \ - -e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \ - -e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \ - -e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \ - -e "s/^#\(DatabaseDirectory .*\)/\1/" \ - "${ED}"/etc/clamav/freshclam.conf.sample > \ - "${ED}"/etc/clamav/freshclam.conf || die - - if use milter ; then - # Note: only keep the "unix" ClamdSocket and MilterSocket! - sed -e "s:^\(Example\):\# \1:" \ - -e "s/^#\(PidFile .*\)/\1/" \ - -e "s/^#\(ClamdSocket unix:.*\)/\1/" \ - -e "s/^#\(User .*\)/\1/" \ - -e "s/^#\(MilterSocket unix:.*\)/\1/" \ - -e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \ - "${ED}"/etc/clamav/clamav-milter.conf.sample > \ - "${ED}"/etc/clamav/clamav-milter.conf || die - - systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service - fi - - local i - for i in clamd freshclam clamav-milter - do - if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then - mv "${ED}"/etc/"${i}".conf{.sample,} || die - fi - done - - # These both need to be writable by the clamav user - # TODO: use syslog by default; that's what it's for. - diropts -o clamav -g clamav - keepdir /var/lib/clamav - keepdir /var/log/clamav - fi - fi - - if use doc ; then - local HTML_DOCS=( docs/html/. ) - einstalldocs - fi - - # Don't install man pages for utilities we didn't install - if use libclamav-only ; then - rm -r "${ED}"/usr/share/man || die - fi - - find "${ED}" -name '*.la' -delete || die -} - -pkg_postinst() { - if ! use libclamav-only ; then - if use systemd ; then - tmpfiles_process clamav.conf - fi - fi - - if use milter ; then - elog "For simple instructions how to setup the clamav-milter read the" - elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}" - fi - - local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d ) - if [[ ! -f "${databases}" ]] ; then - ewarn "You must run freshclam manually to populate the virus database" - ewarn "before starting clamav for the first time." - fi - - if ! systemd_is_booted ; then - ewarn "This version of ClamAV provides separate OpenRC services" - ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The" - ewarn "clamd service now starts only the clamd daemon itself. You" - ewarn "should add freshclam (and perhaps clamav-milter) to any" - ewarn "runlevels that previously contained clamd." - fi -} diff --git a/app-antivirus/clamav/clamav-1.0.7-r1.ebuild b/app-antivirus/clamav/clamav-1.0.7-r1.ebuild new file mode 100644 index 000000000000..571fa8143a9b --- /dev/null +++ b/app-antivirus/clamav/clamav-1.0.7-r1.ebuild @@ -0,0 +1,401 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_MAX_SLOT=13 +PYTHON_COMPAT=( python3_{10..12} ) + +# Auto-Generated by cargo-ebuild 0.5.4-r1 +CRATES=" + adler@1.0.2 + autocfg@1.1.0 + bindgen@0.65.1 + bit_field@0.10.1 + bitflags@1.3.2 + block-buffer@0.10.3 + bumpalo@3.12.0 + bytemuck@1.13.0 + byteorder@1.4.3 + cbindgen@0.20.0 + cc@1.0.83 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.4.0 + color_quant@1.1.0 + cpufeatures@0.2.5 + crc32fast@1.3.2 + crossbeam-channel@0.5.8 + crossbeam-deque@0.8.2 + crossbeam-epoch@0.9.13 + crossbeam-utils@0.8.14 + crunchy@0.2.2 + crypto-common@0.1.6 + digest@0.10.6 + either@1.8.1 + errno@0.3.3 + errno-dragonfly@0.1.2 + exr@1.5.3 + fastrand@1.8.0 + fdeflate@0.3.4 + flate2@1.0.25 + flume@0.10.14 + futures-core@0.3.26 + futures-sink@0.3.26 + generic-array@0.14.6 + getrandom@0.2.8 + gif@0.11.4 + glob@0.3.1 + half@2.2.1 + hashbrown@0.12.3 + heck@0.3.3 + hermit-abi@0.2.6 + hermit-abi@0.3.3 + hex@0.4.3 + image@0.24.5 + indexmap@1.9.2 + instant@0.1.12 + io-lifetimes@1.0.11 + itoa@1.0.5 + jpeg-decoder@0.3.0 + js-sys@0.3.61 + lazy_static@1.4.0 + lazycell@1.3.0 + lebe@0.5.2 + libc@0.2.139 + libloading@0.7.4 + linux-raw-sys@0.1.4 + lock_api@0.4.9 + log@0.4.17 + memchr@2.5.0 + memoffset@0.7.1 + minimal-lexical@0.2.1 + miniz_oxide@0.6.2 + miniz_oxide@0.7.2 + nanorand@0.7.0 + nom@7.1.3 + num-complex@0.4.3 + num-integer@0.1.45 + num-rational@0.4.1 + num-traits@0.2.15 + num_cpus@1.15.0 + once_cell@1.17.0 + peeking_take_while@0.1.2 + pin-project@1.0.12 + pin-project-internal@1.0.12 + png@0.17.13 + prettyplease@0.2.4 + primal-check@0.3.3 + proc-macro2@1.0.66 + quote@1.0.26 + rayon@1.6.1 + rayon-core@1.10.2 + redox_syscall@0.2.16 + regex@1.7.1 + regex-syntax@0.6.28 + rustc-hash@1.1.0 + rustdct@0.7.1 + rustfft@6.1.0 + rustix@0.36.15 + ryu@1.0.12 + scoped_threadpool@0.1.9 + scopeguard@1.1.0 + serde@1.0.152 + serde_derive@1.0.152 + serde_json@1.0.93 + sha2@0.10.6 + shlex@1.3.0 + simd-adler32@0.3.4 + smallvec@1.10.0 + spin@0.9.8 + strength_reduce@0.2.4 + syn@1.0.107 + syn@2.0.15 + tempfile@3.4.0 + thiserror@1.0.38 + thiserror-impl@1.0.38 + threadpool@1.8.1 + tiff@0.8.1 + toml@0.5.11 + transpose@0.2.3 + typenum@1.16.0 + unicode-ident@1.0.6 + unicode-segmentation@1.10.1 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + 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 + weezl@0.1.7 + which@4.4.0 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.42.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + zune-inflate@0.2.42 +" + +inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles + +MY_P=${P//_/-} + +DESCRIPTION="Clam Anti-Virus Scanner" +HOMEPAGE="https://www.clamav.net/" +SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz + ${CARGO_CRATE_URIS}" +S=${WORKDIR}/clamav-${MY_P} + +LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" +SLOT="0/lts" +if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +fi + +IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test" + +REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter ) + clamonacc? ( clamapp ) + milter? ( clamapp ) + test? ( !libclamav-only )" + +RESTRICT="!test? ( test )" + +# Require acct-{user,group}/clamav at build time so that we can set +# the permissions on /var/lib/clamav in src_install rather than in +# pkg_postinst; calling "chown" on the live filesystem scares me. +COMMON_DEPEND=" + acct-group/clamav + acct-user/clamav + app-arch/bzip2 + dev-libs/json-c:= + dev-libs/libltdl + dev-libs/libpcre2:= + dev-libs/libxml2 + dev-libs/openssl:= + >=sys-libs/zlib-1.2.2:= + virtual/libiconv + !libclamav-only? ( net-misc/curl ) + clamapp? ( sys-libs/ncurses:= net-misc/curl ) + elibc_musl? ( sys-libs/fts-standalone ) + jit? ( \ + "${ED}"/etc/clamav/clamd.conf || die + + sed -e "s:^\(Example\):\# \1:" \ + -e "s/^#\(PidFile .*\)/\1/" \ + -e "s/^#\(DatabaseOwner .*\)/\1/" \ + -e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \ + -e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \ + -e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \ + -e "s/^#\(DatabaseDirectory .*\)/\1/" \ + "${ED}"/etc/clamav/freshclam.conf.sample > \ + "${ED}"/etc/clamav/freshclam.conf || die + + if use milter ; then + # Note: only keep the "unix" ClamdSocket and MilterSocket! + sed -e "s:^\(Example\):\# \1:" \ + -e "s/^#\(PidFile .*\)/\1/" \ + -e "s/^#\(ClamdSocket unix:.*\)/\1/" \ + -e "s/^#\(User .*\)/\1/" \ + -e "s/^#\(MilterSocket unix:.*\)/\1/" \ + -e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \ + "${ED}"/etc/clamav/clamav-milter.conf.sample > \ + "${ED}"/etc/clamav/clamav-milter.conf || die + + systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service + fi + + local i + for i in clamd freshclam clamav-milter + do + if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then + mv "${ED}"/etc/"${i}".conf{.sample,} || die + fi + done + + # These both need to be writable by the clamav user + # TODO: use syslog by default; that's what it's for. + diropts -o clamav -g clamav + keepdir /var/lib/clamav + keepdir /var/log/clamav + fi + fi + + if use doc ; then + local HTML_DOCS=( docs/html/. ) + einstalldocs + fi + + # Don't install man pages for utilities we didn't install + if use libclamav-only ; then + rm -r "${ED}"/usr/share/man || die + fi + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + if ! use libclamav-only ; then + if use systemd ; then + tmpfiles_process clamav.conf + fi + fi + + if use milter ; then + elog "For simple instructions how to setup the clamav-milter read the" + elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}" + fi + + local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d ) + if [[ ! -f "${databases}" ]] ; then + ewarn "You must run freshclam manually to populate the virus database" + ewarn "before starting clamav for the first time." + fi + + if ! systemd_is_booted ; then + ewarn "This version of ClamAV provides separate OpenRC services" + ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The" + ewarn "clamd service now starts only the clamd daemon itself. You" + ewarn "should add freshclam (and perhaps clamav-milter) to any" + ewarn "runlevels that previously contained clamd." + fi +} diff --git a/app-antivirus/clamav/clamav-1.0.7.ebuild b/app-antivirus/clamav/clamav-1.0.7.ebuild deleted file mode 100644 index 70d983eb73e3..000000000000 --- a/app-antivirus/clamav/clamav-1.0.7.ebuild +++ /dev/null @@ -1,404 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_MAX_SLOT=13 -PYTHON_COMPAT=( python3_{10..12} ) - -# Auto-Generated by cargo-ebuild 0.5.4-r1 -CRATES=" - adler@1.0.2 - autocfg@1.1.0 - bindgen@0.65.1 - bit_field@0.10.1 - bitflags@1.3.2 - block-buffer@0.10.3 - bumpalo@3.12.0 - bytemuck@1.13.0 - byteorder@1.4.3 - cbindgen@0.20.0 - cc@1.0.83 - cexpr@0.6.0 - cfg-if@1.0.0 - clang-sys@1.4.0 - color_quant@1.1.0 - cpufeatures@0.2.5 - crc32fast@1.3.2 - crossbeam-channel@0.5.8 - crossbeam-deque@0.8.2 - crossbeam-epoch@0.9.13 - crossbeam-utils@0.8.14 - crunchy@0.2.2 - crypto-common@0.1.6 - digest@0.10.6 - either@1.8.1 - errno@0.3.3 - errno-dragonfly@0.1.2 - exr@1.5.3 - fastrand@1.8.0 - fdeflate@0.3.4 - flate2@1.0.25 - flume@0.10.14 - futures-core@0.3.26 - futures-sink@0.3.26 - generic-array@0.14.6 - getrandom@0.2.8 - gif@0.11.4 - glob@0.3.1 - half@2.2.1 - hashbrown@0.12.3 - heck@0.3.3 - hermit-abi@0.2.6 - hermit-abi@0.3.3 - hex@0.4.3 - image@0.24.5 - indexmap@1.9.2 - instant@0.1.12 - io-lifetimes@1.0.11 - itoa@1.0.5 - jpeg-decoder@0.3.0 - js-sys@0.3.61 - lazy_static@1.4.0 - lazycell@1.3.0 - lebe@0.5.2 - libc@0.2.139 - libloading@0.7.4 - linux-raw-sys@0.1.4 - lock_api@0.4.9 - log@0.4.17 - memchr@2.5.0 - memoffset@0.7.1 - minimal-lexical@0.2.1 - miniz_oxide@0.6.2 - miniz_oxide@0.7.2 - nanorand@0.7.0 - nom@7.1.3 - num-complex@0.4.3 - num-integer@0.1.45 - num-rational@0.4.1 - num-traits@0.2.15 - num_cpus@1.15.0 - once_cell@1.17.0 - peeking_take_while@0.1.2 - pin-project@1.0.12 - pin-project-internal@1.0.12 - png@0.17.13 - prettyplease@0.2.4 - primal-check@0.3.3 - proc-macro2@1.0.66 - quote@1.0.26 - rayon@1.6.1 - rayon-core@1.10.2 - redox_syscall@0.2.16 - regex@1.7.1 - regex-syntax@0.6.28 - rustc-hash@1.1.0 - rustdct@0.7.1 - rustfft@6.1.0 - rustix@0.36.15 - ryu@1.0.12 - scoped_threadpool@0.1.9 - scopeguard@1.1.0 - serde@1.0.152 - serde_derive@1.0.152 - serde_json@1.0.93 - sha2@0.10.6 - shlex@1.3.0 - simd-adler32@0.3.4 - smallvec@1.10.0 - spin@0.9.8 - strength_reduce@0.2.4 - syn@1.0.107 - syn@2.0.15 - tempfile@3.4.0 - thiserror@1.0.38 - thiserror-impl@1.0.38 - threadpool@1.8.1 - tiff@0.8.1 - toml@0.5.11 - transpose@0.2.3 - typenum@1.16.0 - unicode-ident@1.0.6 - unicode-segmentation@1.10.1 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - 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 - weezl@0.1.7 - which@4.4.0 - winapi@0.3.9 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - windows-sys@0.42.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - zune-inflate@0.2.42 -" - -inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles - -MY_P=${P//_/-} - -DESCRIPTION="Clam Anti-Virus Scanner" -HOMEPAGE="https://www.clamav.net/" -SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz - ${CARGO_CRATE_URIS}" -S=${WORKDIR}/clamav-${MY_P} - -LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" -SLOT="0/lts" -if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" -fi - -IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test" - -REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter ) - clamonacc? ( clamapp ) - milter? ( clamapp ) - test? ( !libclamav-only )" - -RESTRICT="!test? ( test )" - -# Require acct-{user,group}/clamav at build time so that we can set -# the permissions on /var/lib/clamav in src_install rather than in -# pkg_postinst; calling "chown" on the live filesystem scares me. -COMMON_DEPEND=" - acct-group/clamav - acct-user/clamav - app-arch/bzip2 - dev-libs/json-c:= - dev-libs/libltdl - dev-libs/libpcre2:= - dev-libs/libxml2 - dev-libs/openssl:= - >=sys-libs/zlib-1.2.2:= - virtual/libiconv - !libclamav-only? ( net-misc/curl ) - clamapp? ( sys-libs/ncurses:= net-misc/curl ) - elibc_musl? ( sys-libs/fts-standalone ) - jit? ( \ - "${ED}"/etc/clamav/clamd.conf || die - - sed -e "s:^\(Example\):\# \1:" \ - -e "s/^#\(PidFile .*\)/\1/" \ - -e "s/^#\(DatabaseOwner .*\)/\1/" \ - -e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \ - -e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \ - -e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \ - -e "s/^#\(DatabaseDirectory .*\)/\1/" \ - "${ED}"/etc/clamav/freshclam.conf.sample > \ - "${ED}"/etc/clamav/freshclam.conf || die - - if use milter ; then - # Note: only keep the "unix" ClamdSocket and MilterSocket! - sed -e "s:^\(Example\):\# \1:" \ - -e "s/^#\(PidFile .*\)/\1/" \ - -e "s/^#\(ClamdSocket unix:.*\)/\1/" \ - -e "s/^#\(User .*\)/\1/" \ - -e "s/^#\(MilterSocket unix:.*\)/\1/" \ - -e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \ - "${ED}"/etc/clamav/clamav-milter.conf.sample > \ - "${ED}"/etc/clamav/clamav-milter.conf || die - - systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service - fi - - local i - for i in clamd freshclam clamav-milter - do - if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then - mv "${ED}"/etc/"${i}".conf{.sample,} || die - fi - done - - # These both need to be writable by the clamav user - # TODO: use syslog by default; that's what it's for. - diropts -o clamav -g clamav - keepdir /var/lib/clamav - keepdir /var/log/clamav - fi - fi - - if use doc ; then - local HTML_DOCS=( docs/html/. ) - einstalldocs - fi - - # Don't install man pages for utilities we didn't install - if use libclamav-only ; then - rm -r "${ED}"/usr/share/man || die - fi - - find "${ED}" -name '*.la' -delete || die -} - -pkg_postinst() { - if ! use libclamav-only ; then - if use systemd ; then - tmpfiles_process clamav.conf - fi - fi - - if use milter ; then - elog "For simple instructions how to setup the clamav-milter read the" - elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}" - fi - - local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d ) - if [[ ! -f "${databases}" ]] ; then - ewarn "You must run freshclam manually to populate the virus database" - ewarn "before starting clamav for the first time." - fi - - if ! systemd_is_booted ; then - ewarn "This version of ClamAV provides separate OpenRC services" - ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The" - ewarn "clamd service now starts only the clamd daemon itself. You" - ewarn "should add freshclam (and perhaps clamav-milter) to any" - ewarn "runlevels that previously contained clamd." - fi -} diff --git a/app-antivirus/clamav/clamav-1.2.2-r1.ebuild b/app-antivirus/clamav/clamav-1.2.2-r1.ebuild new file mode 100644 index 000000000000..aa5502025906 --- /dev/null +++ b/app-antivirus/clamav/clamav-1.2.2-r1.ebuild @@ -0,0 +1,391 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +# Upstream are working on updating clamav's LLVM bytecode interpreter to work +# with later versions of LLVM, but it's not ready yet. See: +# https://github.com/Cisco-Talos/clamav/issues/581 +# This does not impact the ability of the package to build with llvm/clang otherwise. +LLVM_MAX_SLOT=13 +PYTHON_COMPAT=( python3_{10..12} ) + +CRATES=" + adler@1.0.2 + aho-corasick@1.0.5 + autocfg@1.1.0 + base64@0.21.3 + bindgen@0.65.1 + bit_field@0.10.2 + bitflags@1.3.2 + bitflags@2.4.0 + block-buffer@0.10.4 + bumpalo@3.13.0 + bytemuck@1.14.0 + byteorder@1.4.3 + cbindgen@0.25.0 + cc@1.0.83 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.6.1 + color_quant@1.1.0 + cpufeatures@0.2.9 + crc32fast@1.3.2 + crossbeam-channel@0.5.8 + crossbeam-deque@0.8.3 + crossbeam-epoch@0.9.15 + crossbeam-utils@0.8.16 + crunchy@0.2.2 + crypto-common@0.1.6 + digest@0.10.7 + either@1.9.0 + errno-dragonfly@0.1.2 + errno@0.3.3 + exr@1.7.0 + fastrand@2.0.0 + fdeflate@0.3.0 + flate2@1.0.27 + flume@0.10.14 + futures-core@0.3.28 + futures-sink@0.3.28 + generic-array@0.14.7 + getrandom@0.2.10 + gif@0.12.0 + glob@0.3.1 + half@2.2.1 + hashbrown@0.12.3 + heck@0.4.1 + hermit-abi@0.3.2 + hex@0.4.3 + home@0.5.5 + image@0.24.7 + indexmap@1.9.3 + itoa@1.0.9 + jpeg-decoder@0.3.0 + js-sys@0.3.64 + lazy_static@1.4.0 + lazycell@1.3.0 + lebe@0.5.2 + libc@0.2.147 + libloading@0.7.4 + linux-raw-sys@0.4.5 + lock_api@0.4.10 + log@0.4.20 + memchr@2.6.3 + memoffset@0.9.0 + minimal-lexical@0.2.1 + miniz_oxide@0.7.1 + nanorand@0.7.0 + nom@7.1.3 + 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 + once_cell@1.18.0 + peeking_take_while@0.1.2 + pin-project-internal@1.1.3 + pin-project@1.1.3 + png@0.17.10 + prettyplease@0.2.15 + primal-check@0.3.3 + proc-macro2@1.0.66 + qoi@0.4.1 + quote@1.0.33 + rayon-core@1.11.0 + rayon@1.7.0 + redox_syscall@0.3.5 + regex-automata@0.3.8 + regex-syntax@0.7.5 + regex@1.9.5 + rustc-hash@1.1.0 + rustdct@0.7.1 + rustfft@6.1.0 + rustix@0.38.11 + ryu@1.0.15 + scopeguard@1.2.0 + serde@1.0.188 + serde_derive@1.0.188 + serde_json@1.0.105 + sha1@0.10.5 + sha2@0.10.7 + shlex@1.2.0 + simd-adler32@0.3.7 + smallvec@1.11.0 + spin@0.9.8 + strength_reduce@0.2.4 + syn@1.0.109 + syn@2.0.31 + tempfile@3.8.0 + thiserror-impl@1.0.48 + thiserror@1.0.48 + tiff@0.9.0 + toml@0.5.11 + transpose@0.2.2 + typenum@1.16.0 + unicode-ident@1.0.11 + unicode-segmentation@1.10.1 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.87 + wasm-bindgen-macro-support@0.2.87 + wasm-bindgen-macro@0.2.87 + wasm-bindgen-shared@0.2.87 + wasm-bindgen@0.2.87 + weezl@0.1.7 + which@4.4.2 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + 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 + zune-inflate@0.2.54 +" + +inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles + +MY_P=${P//_/-} + +DESCRIPTION="Clam Anti-Virus Scanner" +HOMEPAGE="https://www.clamav.net/" +SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz + ${CARGO_CRATE_URIS}" +S=${WORKDIR}/clamav-${MY_P} + +LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" +# 0/sts (short term support) if not an LTS release +SLOT="0/sts" +if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +fi + +IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test" + +REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter ) + clamonacc? ( clamapp ) + milter? ( clamapp ) + test? ( !libclamav-only )" + +RESTRICT="!test? ( test )" + +# Require acct-{user,group}/clamav at build time so that we can set +# the permissions on /var/lib/clamav in src_install rather than in +# pkg_postinst; calling "chown" on the live filesystem scares me. +COMMON_DEPEND=" + acct-group/clamav + acct-user/clamav + app-arch/bzip2 + dev-libs/json-c:= + dev-libs/libltdl + dev-libs/libpcre2:= + dev-libs/libxml2 + dev-libs/openssl:= + >=sys-libs/zlib-1.2.2:= + virtual/libiconv + !libclamav-only? ( net-misc/curl ) + clamapp? ( sys-libs/ncurses:= net-misc/curl ) + elibc_musl? ( sys-libs/fts-standalone ) + jit? ( \ + "${ED}"/etc/clamav/clamd.conf || die + + sed -e "s:^\(Example\):\# \1:" \ + -e "s/^#\(PidFile .*\)/\1/" \ + -e "s/^#\(DatabaseOwner .*\)/\1/" \ + -e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \ + -e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \ + -e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \ + -e "s/^#\(DatabaseDirectory .*\)/\1/" \ + "${ED}"/etc/clamav/freshclam.conf.sample > \ + "${ED}"/etc/clamav/freshclam.conf || die + + if use milter ; then + # Note: only keep the "unix" ClamdSocket and MilterSocket! + sed -e "s:^\(Example\):\# \1:" \ + -e "s/^#\(PidFile .*\)/\1/" \ + -e "s/^#\(ClamdSocket unix:.*\)/\1/" \ + -e "s/^#\(User .*\)/\1/" \ + -e "s/^#\(MilterSocket unix:.*\)/\1/" \ + -e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \ + "${ED}"/etc/clamav/clamav-milter.conf.sample > \ + "${ED}"/etc/clamav/clamav-milter.conf || die + + systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service + fi + + local i + for i in clamd freshclam clamav-milter + do + if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then + mv "${ED}"/etc/"${i}".conf{.sample,} || die + fi + done + + # These both need to be writable by the clamav user + # TODO: use syslog by default; that's what it's for. + diropts -o clamav -g clamav + keepdir /var/lib/clamav + keepdir /var/log/clamav + fi + fi + + if use doc ; then + local HTML_DOCS=( docs/html/. ) + einstalldocs + fi + + # Don't install man pages for utilities we didn't install + if use libclamav-only ; then + rm -r "${ED}"/usr/share/man || die + fi + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + if ! use libclamav-only ; then + if use systemd ; then + tmpfiles_process clamav.conf + fi + fi + + if use milter ; then + elog "For simple instructions how to setup the clamav-milter read the" + elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}" + fi + + local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d ) + if [[ ! -f "${databases}" ]] ; then + ewarn "You must run freshclam manually to populate the virus database" + ewarn "before starting clamav for the first time." + fi + + if ! systemd_is_booted ; then + ewarn "This version of ClamAV provides separate OpenRC services" + ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The" + ewarn "clamd service now starts only the clamd daemon itself. You" + ewarn "should add freshclam (and perhaps clamav-milter) to any" + ewarn "runlevels that previously contained clamd." + fi +} diff --git a/app-antivirus/clamav/clamav-1.2.2.ebuild b/app-antivirus/clamav/clamav-1.2.2.ebuild deleted file mode 100644 index a7f3533276d6..000000000000 --- a/app-antivirus/clamav/clamav-1.2.2.ebuild +++ /dev/null @@ -1,393 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -# Upstream are working on updating clamav's LLVM bytecode interpreter to work -# with later versions of LLVM, but it's not ready yet. See: -# https://github.com/Cisco-Talos/clamav/issues/581 -# This does not impact the ability of the package to build with llvm/clang otherwise. -LLVM_MAX_SLOT=13 -PYTHON_COMPAT=( python3_{10..12} ) - -CRATES=" - adler@1.0.2 - aho-corasick@1.0.5 - autocfg@1.1.0 - base64@0.21.3 - bindgen@0.65.1 - bit_field@0.10.2 - bitflags@1.3.2 - bitflags@2.4.0 - block-buffer@0.10.4 - bumpalo@3.13.0 - bytemuck@1.14.0 - byteorder@1.4.3 - cbindgen@0.25.0 - cc@1.0.83 - cexpr@0.6.0 - cfg-if@1.0.0 - clang-sys@1.6.1 - color_quant@1.1.0 - cpufeatures@0.2.9 - crc32fast@1.3.2 - crossbeam-channel@0.5.8 - crossbeam-deque@0.8.3 - crossbeam-epoch@0.9.15 - crossbeam-utils@0.8.16 - crunchy@0.2.2 - crypto-common@0.1.6 - digest@0.10.7 - either@1.9.0 - errno-dragonfly@0.1.2 - errno@0.3.3 - exr@1.7.0 - fastrand@2.0.0 - fdeflate@0.3.0 - flate2@1.0.27 - flume@0.10.14 - futures-core@0.3.28 - futures-sink@0.3.28 - generic-array@0.14.7 - getrandom@0.2.10 - gif@0.12.0 - glob@0.3.1 - half@2.2.1 - hashbrown@0.12.3 - heck@0.4.1 - hermit-abi@0.3.2 - hex@0.4.3 - home@0.5.5 - image@0.24.7 - indexmap@1.9.3 - itoa@1.0.9 - jpeg-decoder@0.3.0 - js-sys@0.3.64 - lazy_static@1.4.0 - lazycell@1.3.0 - lebe@0.5.2 - libc@0.2.147 - libloading@0.7.4 - linux-raw-sys@0.4.5 - lock_api@0.4.10 - log@0.4.20 - memchr@2.6.3 - memoffset@0.9.0 - minimal-lexical@0.2.1 - miniz_oxide@0.7.1 - nanorand@0.7.0 - nom@7.1.3 - 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 - once_cell@1.18.0 - peeking_take_while@0.1.2 - pin-project-internal@1.1.3 - pin-project@1.1.3 - png@0.17.10 - prettyplease@0.2.15 - primal-check@0.3.3 - proc-macro2@1.0.66 - qoi@0.4.1 - quote@1.0.33 - rayon-core@1.11.0 - rayon@1.7.0 - redox_syscall@0.3.5 - regex-automata@0.3.8 - regex-syntax@0.7.5 - regex@1.9.5 - rustc-hash@1.1.0 - rustdct@0.7.1 - rustfft@6.1.0 - rustix@0.38.11 - ryu@1.0.15 - scopeguard@1.2.0 - serde@1.0.188 - serde_derive@1.0.188 - serde_json@1.0.105 - sha1@0.10.5 - sha2@0.10.7 - shlex@1.2.0 - simd-adler32@0.3.7 - smallvec@1.11.0 - spin@0.9.8 - strength_reduce@0.2.4 - syn@1.0.109 - syn@2.0.31 - tempfile@3.8.0 - thiserror-impl@1.0.48 - thiserror@1.0.48 - tiff@0.9.0 - toml@0.5.11 - transpose@0.2.2 - typenum@1.16.0 - unicode-ident@1.0.11 - unicode-segmentation@1.10.1 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.87 - wasm-bindgen-macro-support@0.2.87 - wasm-bindgen-macro@0.2.87 - wasm-bindgen-shared@0.2.87 - wasm-bindgen@0.2.87 - weezl@0.1.7 - which@4.4.2 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - 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 - zune-inflate@0.2.54 -" - -inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles - -MY_P=${P//_/-} - -DESCRIPTION="Clam Anti-Virus Scanner" -HOMEPAGE="https://www.clamav.net/" -SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz - ${CARGO_CRATE_URIS}" -S=${WORKDIR}/clamav-${MY_P} - -LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" -# 0/sts (short term support) if not an LTS release -SLOT="0/sts" -if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" -fi - -IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test" - -REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter ) - clamonacc? ( clamapp ) - milter? ( clamapp ) - test? ( !libclamav-only )" - -RESTRICT="!test? ( test )" - -# Require acct-{user,group}/clamav at build time so that we can set -# the permissions on /var/lib/clamav in src_install rather than in -# pkg_postinst; calling "chown" on the live filesystem scares me. -COMMON_DEPEND=" - acct-group/clamav - acct-user/clamav - app-arch/bzip2 - dev-libs/json-c:= - dev-libs/libltdl - dev-libs/libpcre2:= - dev-libs/libxml2 - dev-libs/openssl:= - >=sys-libs/zlib-1.2.2:= - virtual/libiconv - !libclamav-only? ( net-misc/curl ) - clamapp? ( sys-libs/ncurses:= net-misc/curl ) - elibc_musl? ( sys-libs/fts-standalone ) - jit? ( \ - "${ED}"/etc/clamav/clamd.conf || die - - sed -e "s:^\(Example\):\# \1:" \ - -e "s/^#\(PidFile .*\)/\1/" \ - -e "s/^#\(DatabaseOwner .*\)/\1/" \ - -e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \ - -e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \ - -e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \ - -e "s/^#\(DatabaseDirectory .*\)/\1/" \ - "${ED}"/etc/clamav/freshclam.conf.sample > \ - "${ED}"/etc/clamav/freshclam.conf || die - - if use milter ; then - # Note: only keep the "unix" ClamdSocket and MilterSocket! - sed -e "s:^\(Example\):\# \1:" \ - -e "s/^#\(PidFile .*\)/\1/" \ - -e "s/^#\(ClamdSocket unix:.*\)/\1/" \ - -e "s/^#\(User .*\)/\1/" \ - -e "s/^#\(MilterSocket unix:.*\)/\1/" \ - -e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \ - "${ED}"/etc/clamav/clamav-milter.conf.sample > \ - "${ED}"/etc/clamav/clamav-milter.conf || die - - systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service - fi - - local i - for i in clamd freshclam clamav-milter - do - if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then - mv "${ED}"/etc/"${i}".conf{.sample,} || die - fi - done - - # These both need to be writable by the clamav user - # TODO: use syslog by default; that's what it's for. - diropts -o clamav -g clamav - keepdir /var/lib/clamav - keepdir /var/log/clamav - fi - fi - - if use doc ; then - local HTML_DOCS=( docs/html/. ) - einstalldocs - fi - - # Don't install man pages for utilities we didn't install - if use libclamav-only ; then - rm -r "${ED}"/usr/share/man || die - fi - - find "${ED}" -name '*.la' -delete || die -} - -pkg_postinst() { - if ! use libclamav-only ; then - if use systemd ; then - tmpfiles_process clamav.conf - fi - fi - - if use milter ; then - elog "For simple instructions how to setup the clamav-milter read the" - elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}" - fi - - local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d ) - if [[ ! -f "${databases}" ]] ; then - ewarn "You must run freshclam manually to populate the virus database" - ewarn "before starting clamav for the first time." - fi - - if ! systemd_is_booted ; then - ewarn "This version of ClamAV provides separate OpenRC services" - ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The" - ewarn "clamd service now starts only the clamd daemon itself. You" - ewarn "should add freshclam (and perhaps clamav-milter) to any" - ewarn "runlevels that previously contained clamd." - fi -} diff --git a/app-antivirus/clamav/clamav-1.4.1-r1.ebuild b/app-antivirus/clamav/clamav-1.4.1-r1.ebuild deleted file mode 100644 index e5e30c4f8dc5..000000000000 --- a/app-antivirus/clamav/clamav-1.4.1-r1.ebuild +++ /dev/null @@ -1,415 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -# Upstream are working on updating clamav's LLVM bytecode interpreter to work -# with later versions of LLVM, but it's not ready yet. See: -# https://github.com/Cisco-Talos/clamav/issues/581 -# This does not impact the ability of the package to build with llvm/clang otherwise. -LLVM_MAX_SLOT=13 -PYTHON_COMPAT=( python3_{11..13} ) - -CRATES=" - adler@1.0.2 - adler32@1.2.0 - aho-corasick@1.1.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - autocfg@1.3.0 - base64@0.21.7 - bindgen@0.65.1 - bit_field@0.10.2 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - bumpalo@3.16.0 - bytemuck@1.15.0 - byteorder@1.5.0 - bytes@1.6.0 - bzip2-rs@0.1.2 - cbindgen@0.25.0 - cc@1.0.97 - cexpr@0.6.0 - cfg-if@1.0.0 - chrono@0.4.38 - clang-sys@1.7.0 - color_quant@1.1.0 - core-foundation-sys@0.8.6 - cpufeatures@0.2.12 - crc32fast@1.4.0 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.19 - crunchy@0.2.2 - crypto-common@0.1.6 - delharc@0.6.1 - digest@0.10.7 - either@1.11.0 - encoding_rs@0.8.34 - enum-primitive-derive@0.2.2 - errno@0.3.8 - exr@1.72.0 - fastrand@2.1.0 - fdeflate@0.3.4 - flate2@1.0.30 - flume@0.11.0 - generic-array@0.14.7 - gif@0.13.1 - glob@0.3.1 - half@2.4.1 - hashbrown@0.12.3 - heck@0.4.1 - hex@0.4.3 - hex-literal@0.4.1 - home@0.5.9 - iana-time-zone@0.1.60 - iana-time-zone-haiku@0.1.2 - image@0.24.9 - indexmap@1.9.3 - inflate@0.4.5 - itertools@0.10.5 - itoa@1.0.11 - jpeg-decoder@0.3.1 - js-sys@0.3.69 - lazy_static@1.4.0 - lazycell@1.3.0 - lebe@0.5.2 - libc@0.2.155 - libloading@0.8.3 - linux-raw-sys@0.4.13 - lock_api@0.4.12 - log@0.4.21 - memchr@2.7.2 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - nom@7.1.3 - num-complex@0.4.5 - num-integer@0.1.46 - num-traits@0.2.19 - once_cell@1.19.0 - paste@1.0.14 - peeking_take_while@0.1.2 - png@0.17.13 - prettyplease@0.2.19 - primal-check@0.3.3 - proc-macro2@1.0.81 - qoi@0.4.1 - quote@1.0.36 - rayon@1.10.0 - rayon-core@1.12.1 - regex@1.10.4 - regex-automata@0.4.6 - regex-syntax@0.8.3 - rustc-hash@1.1.0 - rustdct@0.7.1 - rustfft@6.2.0 - rustix@0.38.34 - ryu@1.0.17 - scopeguard@1.2.0 - serde@1.0.200 - serde_derive@1.0.200 - serde_json@1.0.116 - sha1@0.10.6 - sha2@0.10.8 - shlex@1.3.0 - simd-adler32@0.3.7 - smallvec@1.13.2 - spin@0.9.8 - strength_reduce@0.2.4 - syn@1.0.109 - syn@2.0.60 - tempfile@3.10.1 - thiserror@1.0.59 - thiserror-impl@1.0.59 - tiff@0.9.1 - tinyvec@1.6.0 - toml@0.5.11 - transpose@0.2.3 - typenum@1.17.0 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - uuid@1.8.0 - version_check@0.9.4 - wasm-bindgen@0.2.92 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-shared@0.2.92 - weezl@0.1.8 - which@4.4.2 - widestring@1.1.0 - windows-core@0.52.0 - windows-sys@0.52.0 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.52.5 - zune-inflate@0.2.54 -" - -# Get the commit from the CLAM-2329-new-from-slice branch -declare -A GIT_CRATES=( - [onenote_parser]="https://github.com/Cisco-Talos/onenote.rs;29c08532252b917543ff268284f926f30876bb79;onenote.rs-%commit%" -) - -inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles - -MY_P=${P//_/-} - -DESCRIPTION="Clam Anti-Virus Scanner" -HOMEPAGE="https://www.clamav.net/" -SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz - ${CARGO_CRATE_URIS}" -S=${WORKDIR}/clamav-${MY_P} - -LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" -# 0/sts (short term support) if not an LTS release -SLOT="0/sts" -if [[ ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" -fi - -IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test" - -REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter ) - clamonacc? ( clamapp ) - milter? ( clamapp ) - test? ( !libclamav-only )" - -RESTRICT="!test? ( test )" - -# Require acct-{user,group}/clamav at build time so that we can set -# the permissions on /var/lib/clamav in src_install rather than in -# pkg_postinst; calling "chown" on the live filesystem scares me. -COMMON_DEPEND=" - acct-group/clamav - acct-user/clamav - app-arch/bzip2 - dev-libs/json-c:= - dev-libs/libltdl - dev-libs/libpcre2:= - dev-libs/libxml2 - dev-libs/openssl:= - >=sys-libs/zlib-1.2.2:= - virtual/libiconv - !libclamav-only? ( net-misc/curl ) - clamapp? ( sys-libs/ncurses:= net-misc/curl ) - elibc_musl? ( sys-libs/fts-standalone ) - jit? ( \ - "${ED}"/etc/clamav/clamd.conf || die - - sed -e "s:^\(Example\):\# \1:" \ - -e "s:^#\(PidFile\) .*:\1 ${EPREFIX}/run/freshclam.pid:" \ - -e "s/^#\(DatabaseOwner .*\)/\1/" \ - -e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \ - -e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \ - -e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \ - -e "s/^#\(DatabaseDirectory .*\)/\1/" \ - "${ED}"/etc/clamav/freshclam.conf.sample > \ - "${ED}"/etc/clamav/freshclam.conf || die - - if use milter ; then - # Note: only keep the "unix" ClamdSocket and MilterSocket! - sed -e "s:^\(Example\):\# \1:" \ - -e "s:^\#\(PidFile\) .*:\1 ${EPREFIX}/run/clamav-milter.pid:" \ - -e "s/^#\(ClamdSocket unix:.*\)/\1/" \ - -e "s/^#\(User .*\)/\1/" \ - -e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \ - "${ED}"/etc/clamav/clamav-milter.conf.sample > \ - "${ED}"/etc/clamav/clamav-milter.conf || die - - systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service - fi - - local i - for i in clamd freshclam clamav-milter - do - if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then - mv "${ED}"/etc/"${i}".conf{.sample,} || die - fi - done - - # These both need to be writable by the clamav user - # TODO: use syslog by default; that's what it's for. - diropts -o clamav -g clamav - keepdir /var/lib/clamav - keepdir /var/log/clamav - fi - fi - - if use doc ; then - local HTML_DOCS=( docs/html/. ) - einstalldocs - fi - - # Don't install man pages for utilities we didn't install - if use libclamav-only ; then - rm -r "${ED}"/usr/share/man || die - fi - - find "${ED}" -name '*.la' -delete || die -} - -pkg_postinst() { - if ! use libclamav-only ; then - if use systemd ; then - tmpfiles_process clamav-r1.conf - fi - fi - - if use milter ; then - elog "For simple instructions how to setup the clamav-milter read the" - elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}" - fi - - local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d ) - if [[ ! -f "${databases}" ]] ; then - ewarn "You must run freshclam manually to populate the virus database" - ewarn "before starting clamav for the first time." - fi - - if ! systemd_is_booted ; then - ewarn "This version of ClamAV provides separate OpenRC services" - ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The" - ewarn "clamd service now starts only the clamd daemon itself. You" - ewarn "should add freshclam (and perhaps clamav-milter) to any" - ewarn "runlevels that previously contained clamd." - else - if [[ -n "${REPLACING_VERSIONS}" ]] && ver_test "${REPLACING_VERSIONS}" -le 1.3.1; then - ewarn "From 1.3.1-r1 the Gentoo-provided systemd services have been" - ewarn "Retired in favour of using the units shipped by upstream." - ewarn "Ensure that any required services are configured and started." - ewarn "clamd@.service has been retired as part of this transition." - fi - fi - - if [[ -z ${REPLACING_VERSIONS} ]] && use clamonacc; then - einfo "'clamonacc' requires additional configuration before it" - einfo "can be enabled, and may not produce any output if not properly" - einfo "configured. Read the appropriate man page if clamonacc is desired." - fi - -} diff --git a/app-antivirus/clamav/clamav-1.4.1-r2.ebuild b/app-antivirus/clamav/clamav-1.4.1-r2.ebuild new file mode 100644 index 000000000000..296e17179a3a --- /dev/null +++ b/app-antivirus/clamav/clamav-1.4.1-r2.ebuild @@ -0,0 +1,413 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +# Upstream are working on updating clamav's LLVM bytecode interpreter to work +# with later versions of LLVM, but it's not ready yet. See: +# https://github.com/Cisco-Talos/clamav/issues/581 +# This does not impact the ability of the package to build with llvm/clang otherwise. +LLVM_MAX_SLOT=13 +PYTHON_COMPAT=( python3_{11..13} ) + +CRATES=" + adler@1.0.2 + adler32@1.2.0 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + autocfg@1.3.0 + base64@0.21.7 + bindgen@0.65.1 + bit_field@0.10.2 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + bumpalo@3.16.0 + bytemuck@1.15.0 + byteorder@1.5.0 + bytes@1.6.0 + bzip2-rs@0.1.2 + cbindgen@0.25.0 + cc@1.0.97 + cexpr@0.6.0 + cfg-if@1.0.0 + chrono@0.4.38 + clang-sys@1.7.0 + color_quant@1.1.0 + core-foundation-sys@0.8.6 + cpufeatures@0.2.12 + crc32fast@1.4.0 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.19 + crunchy@0.2.2 + crypto-common@0.1.6 + delharc@0.6.1 + digest@0.10.7 + either@1.11.0 + encoding_rs@0.8.34 + enum-primitive-derive@0.2.2 + errno@0.3.8 + exr@1.72.0 + fastrand@2.1.0 + fdeflate@0.3.4 + flate2@1.0.30 + flume@0.11.0 + generic-array@0.14.7 + gif@0.13.1 + glob@0.3.1 + half@2.4.1 + hashbrown@0.12.3 + heck@0.4.1 + hex@0.4.3 + hex-literal@0.4.1 + home@0.5.9 + iana-time-zone@0.1.60 + iana-time-zone-haiku@0.1.2 + image@0.24.9 + indexmap@1.9.3 + inflate@0.4.5 + itertools@0.10.5 + itoa@1.0.11 + jpeg-decoder@0.3.1 + js-sys@0.3.69 + lazy_static@1.4.0 + lazycell@1.3.0 + lebe@0.5.2 + libc@0.2.155 + libloading@0.8.3 + linux-raw-sys@0.4.13 + lock_api@0.4.12 + log@0.4.21 + memchr@2.7.2 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + nom@7.1.3 + num-complex@0.4.5 + num-integer@0.1.46 + num-traits@0.2.19 + once_cell@1.19.0 + paste@1.0.14 + peeking_take_while@0.1.2 + png@0.17.13 + prettyplease@0.2.19 + primal-check@0.3.3 + proc-macro2@1.0.81 + qoi@0.4.1 + quote@1.0.36 + rayon@1.10.0 + rayon-core@1.12.1 + regex@1.10.4 + regex-automata@0.4.6 + regex-syntax@0.8.3 + rustc-hash@1.1.0 + rustdct@0.7.1 + rustfft@6.2.0 + rustix@0.38.34 + ryu@1.0.17 + scopeguard@1.2.0 + serde@1.0.200 + serde_derive@1.0.200 + serde_json@1.0.116 + sha1@0.10.6 + sha2@0.10.8 + shlex@1.3.0 + simd-adler32@0.3.7 + smallvec@1.13.2 + spin@0.9.8 + strength_reduce@0.2.4 + syn@1.0.109 + syn@2.0.60 + tempfile@3.10.1 + thiserror@1.0.59 + thiserror-impl@1.0.59 + tiff@0.9.1 + tinyvec@1.6.0 + toml@0.5.11 + transpose@0.2.3 + typenum@1.17.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + uuid@1.8.0 + version_check@0.9.4 + wasm-bindgen@0.2.92 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-shared@0.2.92 + weezl@0.1.8 + which@4.4.2 + widestring@1.1.0 + windows-core@0.52.0 + windows-sys@0.52.0 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.52.5 + zune-inflate@0.2.54 +" + +# Get the commit from the CLAM-2329-new-from-slice branch +declare -A GIT_CRATES=( + [onenote_parser]="https://github.com/Cisco-Talos/onenote.rs;29c08532252b917543ff268284f926f30876bb79;onenote.rs-%commit%" +) + +inherit cargo cmake flag-o-matic llvm python-any-r1 systemd tmpfiles + +MY_P=${P//_/-} + +DESCRIPTION="Clam Anti-Virus Scanner" +HOMEPAGE="https://www.clamav.net/" +SRC_URI="https://github.com/Cisco-Talos/clamav/archive/refs/tags/${MY_P}.tar.gz + ${CARGO_CRATE_URIS}" +S=${WORKDIR}/clamav-${MY_P} + +LICENSE="Apache-2.0 BSD GPL-2 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" +# 0/sts (short term support) if not an LTS release +SLOT="0/sts" +if [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" +fi + +IUSE="doc clamonacc +clamapp experimental jit libclamav-only milter rar selinux +system-mspack systemd test" + +REQUIRED_USE="libclamav-only? ( !clamonacc !clamapp !milter ) + clamonacc? ( clamapp ) + milter? ( clamapp ) + test? ( !libclamav-only )" + +RESTRICT="!test? ( test )" + +# Require acct-{user,group}/clamav at build time so that we can set +# the permissions on /var/lib/clamav in src_install rather than in +# pkg_postinst; calling "chown" on the live filesystem scares me. +COMMON_DEPEND=" + acct-group/clamav + acct-user/clamav + app-arch/bzip2 + dev-libs/json-c:= + dev-libs/libltdl + dev-libs/libpcre2:= + dev-libs/libxml2 + dev-libs/openssl:= + >=sys-libs/zlib-1.2.2:= + virtual/libiconv + !libclamav-only? ( net-misc/curl ) + clamapp? ( sys-libs/ncurses:= net-misc/curl ) + elibc_musl? ( sys-libs/fts-standalone ) + jit? ( \ + "${ED}"/etc/clamav/clamd.conf || die + + sed -e "s:^\(Example\):\# \1:" \ + -e "s:^#\(PidFile\) .*:\1 ${EPREFIX}/run/freshclam.pid:" \ + -e "s/^#\(DatabaseOwner .*\)/\1/" \ + -e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \ + -e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamav/clamd.conf:" \ + -e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \ + -e "s/^#\(DatabaseDirectory .*\)/\1/" \ + "${ED}"/etc/clamav/freshclam.conf.sample > \ + "${ED}"/etc/clamav/freshclam.conf || die + + if use milter ; then + # Note: only keep the "unix" ClamdSocket and MilterSocket! + sed -e "s:^\(Example\):\# \1:" \ + -e "s:^\#\(PidFile\) .*:\1 ${EPREFIX}/run/clamav-milter.pid:" \ + -e "s/^#\(ClamdSocket unix:.*\)/\1/" \ + -e "s/^#\(User .*\)/\1/" \ + -e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \ + "${ED}"/etc/clamav/clamav-milter.conf.sample > \ + "${ED}"/etc/clamav/clamav-milter.conf || die + + systemd_newunit "${FILESDIR}/clamav-milter.service-0.104.0" clamav-milter.service + fi + + local i + for i in clamd freshclam clamav-milter + do + if [[ -f "${ED}"/etc/"${i}".conf.sample ]] ; then + mv "${ED}"/etc/"${i}".conf{.sample,} || die + fi + done + + # These both need to be writable by the clamav user + # TODO: use syslog by default; that's what it's for. + diropts -o clamav -g clamav + keepdir /var/lib/clamav + keepdir /var/log/clamav + fi + fi + + if use doc ; then + local HTML_DOCS=( docs/html/. ) + einstalldocs + fi + + # Don't install man pages for utilities we didn't install + if use libclamav-only ; then + rm -r "${ED}"/usr/share/man || die + fi + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + if ! use libclamav-only ; then + if use systemd ; then + tmpfiles_process clamav-r1.conf + fi + fi + + if use milter ; then + elog "For simple instructions how to setup the clamav-milter read the" + elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}" + fi + + local databases=( "${EROOT}"/var/lib/clamav/main.c[lv]d ) + if [[ ! -f "${databases}" ]] ; then + ewarn "You must run freshclam manually to populate the virus database" + ewarn "before starting clamav for the first time." + fi + + if ! systemd_is_booted ; then + ewarn "This version of ClamAV provides separate OpenRC services" + ewarn "for clamd, freshclam, clamav-milter, and clamonacc. The" + ewarn "clamd service now starts only the clamd daemon itself. You" + ewarn "should add freshclam (and perhaps clamav-milter) to any" + ewarn "runlevels that previously contained clamd." + else + if [[ -n "${REPLACING_VERSIONS}" ]] && ver_test "${REPLACING_VERSIONS}" -le 1.3.1; then + ewarn "From 1.3.1-r1 the Gentoo-provided systemd services have been" + ewarn "Retired in favour of using the units shipped by upstream." + ewarn "Ensure that any required services are configured and started." + ewarn "clamd@.service has been retired as part of this transition." + fi + fi + + if [[ -z ${REPLACING_VERSIONS} ]] && use clamonacc; then + einfo "'clamonacc' requires additional configuration before it" + einfo "can be enabled, and may not produce any output if not properly" + einfo "configured. Read the appropriate man page if clamonacc is desired." + fi + +} diff --git a/app-backup/rdedup/rdedup-1.0.2-r1.ebuild b/app-backup/rdedup/rdedup-1.0.2-r1.ebuild deleted file mode 100644 index b5cc8252eaf7..000000000000 --- a/app-backup/rdedup/rdedup-1.0.2-r1.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick@0.5.3 - argparse@0.2.2 - cc@1.0.99 - env_logger@0.3.5 - flate2@0.2.20 - fs2@0.2.5 - fuchsia-cprng@0.1.1 - gcc@0.3.55 - kernel32-sys@0.2.2 - libc@0.2.155 - libsodium-sys@0.0.12 - log@0.3.9 - log@0.4.21 - memchr@0.1.11 - miniz-sys@0.1.12 - pkg-config@0.3.30 - rand@0.3.23 - rand@0.4.6 - rand_core@0.3.1 - rand_core@0.4.2 - rdrand@0.4.0 - regex@0.1.80 - regex-syntax@0.3.9 - rollsum@0.2.1 - rpassword@0.2.3 - rust-crypto@0.2.36 - rustc-serialize@0.3.25 - serde@0.7.15 - sodiumoxide@0.0.12 - termios@0.2.2 - thread-id@2.0.0 - thread_local@0.2.7 - time@0.1.45 - utf8-ranges@0.1.3 - wasi@0.10.0+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 - rdedup@${PV} - rdedup-lib@${PV} -" - -inherit cargo - -DESCRIPTION="Data deduplication with compression and public key encryption" -HOMEPAGE="https://github.com/dpc/rdedup" -SRC_URI="${CARGO_CRATE_URIS}" - -LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 Unlicense" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=">=dev-libs/libsodium-1.0.11:=" -DEPEND="${RDEPEND}" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_prepare() { - default - ln -sf "${WORKDIR}/cargo_home/gentoo/rdedup-lib-${PV}" lib || die -} - -src_install() { - cargo_src_install - dodoc {CHANGELOG,README}.md -} diff --git a/app-backup/rdedup/rdedup-1.0.2-r2.ebuild b/app-backup/rdedup/rdedup-1.0.2-r2.ebuild new file mode 100644 index 000000000000..b5cc8252eaf7 --- /dev/null +++ b/app-backup/rdedup/rdedup-1.0.2-r2.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@0.5.3 + argparse@0.2.2 + cc@1.0.99 + env_logger@0.3.5 + flate2@0.2.20 + fs2@0.2.5 + fuchsia-cprng@0.1.1 + gcc@0.3.55 + kernel32-sys@0.2.2 + libc@0.2.155 + libsodium-sys@0.0.12 + log@0.3.9 + log@0.4.21 + memchr@0.1.11 + miniz-sys@0.1.12 + pkg-config@0.3.30 + rand@0.3.23 + rand@0.4.6 + rand_core@0.3.1 + rand_core@0.4.2 + rdrand@0.4.0 + regex@0.1.80 + regex-syntax@0.3.9 + rollsum@0.2.1 + rpassword@0.2.3 + rust-crypto@0.2.36 + rustc-serialize@0.3.25 + serde@0.7.15 + sodiumoxide@0.0.12 + termios@0.2.2 + thread-id@2.0.0 + thread_local@0.2.7 + time@0.1.45 + utf8-ranges@0.1.3 + wasi@0.10.0+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 + rdedup@${PV} + rdedup-lib@${PV} +" + +inherit cargo + +DESCRIPTION="Data deduplication with compression and public key encryption" +HOMEPAGE="https://github.com/dpc/rdedup" +SRC_URI="${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 Unlicense" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=">=dev-libs/libsodium-1.0.11:=" +DEPEND="${RDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + default + ln -sf "${WORKDIR}/cargo_home/gentoo/rdedup-lib-${PV}" lib || die +} + +src_install() { + cargo_src_install + dodoc {CHANGELOG,README}.md +} diff --git a/app-benchmarks/hyperfine/hyperfine-1.18.0-r1.ebuild b/app-benchmarks/hyperfine/hyperfine-1.18.0-r1.ebuild new file mode 100644 index 000000000000..c293416066e5 --- /dev/null +++ b/app-benchmarks/hyperfine/hyperfine-1.18.0-r1.ebuild @@ -0,0 +1,204 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + ahash@0.7.6 + ahash@0.8.3 + aho-corasick@1.1.1 + anstream@0.6.4 + anstyle-parse@0.2.2 + anstyle-query@1.0.0 + anstyle-wincon@3.0.1 + anstyle@1.0.4 + anyhow@1.0.75 + approx@0.5.1 + arrayvec@0.7.4 + assert_cmd@2.0.12 + atty@0.2.14 + autocfg@0.1.8 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.4.0 + bitvec@1.0.1 + borsh-derive-internal@0.10.3 + borsh-derive@0.10.3 + borsh-schema-derive-internal@0.10.3 + borsh@0.10.3 + bstr@1.6.2 + bytecheck@0.6.11 + bytecheck_derive@0.6.11 + bytes@1.5.0 + cc@1.0.83 + cfg-if@1.0.0 + clap@4.4.6 + clap_builder@4.4.6 + clap_complete@4.4.3 + clap_lex@0.5.1 + cloudabi@0.0.3 + colorchoice@1.0.0 + colored@2.0.4 + console@0.15.7 + csv-core@0.1.11 + csv@1.3.0 + difflib@0.4.0 + doc-comment@0.3.3 + either@1.9.0 + encode_unicode@0.3.6 + errno-dragonfly@0.1.2 + errno@0.3.4 + fastrand@2.0.1 + float-cmp@0.9.0 + fuchsia-cprng@0.1.1 + funty@2.0.0 + getrandom@0.2.10 + hashbrown@0.12.3 + hashbrown@0.13.2 + hermit-abi@0.1.19 + hermit-abi@0.3.3 + indicatif@0.17.4 + instant@0.1.12 + is-terminal@0.4.9 + itertools@0.11.0 + itoa@1.0.9 + lazy_static@1.4.0 + libc@0.2.148 + linux-raw-sys@0.4.8 + memchr@2.6.4 + memoffset@0.7.1 + nix@0.26.4 + normalize-line-endings@0.3.0 + num-bigint@0.2.6 + num-complex@0.2.4 + num-integer@0.1.45 + num-iter@0.1.43 + num-rational@0.2.4 + num-traits@0.2.16 + num@0.2.1 + number_prefix@0.4.0 + once_cell@1.18.0 + pin-utils@0.1.0 + portable-atomic@1.4.3 + ppv-lite86@0.2.17 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.0.4 + proc-macro-crate@0.1.5 + proc-macro2@1.0.67 + ptr_meta@0.1.4 + ptr_meta_derive@0.1.4 + quote@1.0.33 + radium@0.7.0 + rand@0.6.5 + rand@0.8.5 + rand_chacha@0.1.1 + rand_chacha@0.3.1 + rand_core@0.3.1 + rand_core@0.4.2 + rand_core@0.6.4 + rand_hc@0.1.0 + rand_isaac@0.1.1 + rand_jitter@0.1.4 + rand_os@0.1.3 + rand_pcg@0.1.2 + rand_xorshift@0.1.1 + rdrand@0.4.0 + redox_syscall@0.3.5 + regex-automata@0.3.9 + regex-syntax@0.7.5 + regex@1.9.6 + rend@0.4.1 + rkyv@0.7.42 + rkyv_derive@0.7.42 + rust_decimal@1.32.0 + rustix@0.38.17 + ryu@1.0.15 + seahash@4.1.0 + serde@1.0.188 + serde_derive@1.0.188 + serde_json@1.0.107 + shell-words@1.1.0 + simdutf8@0.1.4 + statistical@1.0.0 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.37 + tap@1.0.1 + tempfile@3.8.0 + terminal_size@0.3.0 + termtree@0.4.1 + thiserror-impl@1.0.49 + thiserror@1.0.49 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.5.11 + unicode-ident@1.0.12 + unicode-width@0.1.11 + utf8parse@0.2.1 + uuid@1.4.1 + version_check@0.9.4 + wait-timeout@0.2.0 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + wyz@0.5.1 +" + +inherit bash-completion-r1 cargo + +DESCRIPTION="A command-line benchmarking tool (runs other benchmarks)" +HOMEPAGE="https://github.com/sharkdp/hyperfine" +SRC_URI=" + https://github.com/sharkdp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + default + + sed -i '/strip =/d' Cargo.toml || die +} + +src_install() { + local build_dir="$(dirname $(find "$(cargo_target_dir)" -name ${PN}.bash -print -quit))" + + newbashcomp "${build_dir}/${PN}.bash" "${PN}" + + insinto /usr/share/zsh/site-functions + doins "${build_dir}/_${PN}" + + insinto /usr/share/fish/vendor_completions.d + doins "${build_dir}/${PN}.fish" + + cargo_src_install + doman doc/hyperfine.1 + einstalldocs +} diff --git a/app-benchmarks/hyperfine/hyperfine-1.18.0.ebuild b/app-benchmarks/hyperfine/hyperfine-1.18.0.ebuild deleted file mode 100644 index 4275055e68c6..000000000000 --- a/app-benchmarks/hyperfine/hyperfine-1.18.0.ebuild +++ /dev/null @@ -1,206 +0,0 @@ -# Copyright 2020-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - ahash@0.7.6 - ahash@0.8.3 - aho-corasick@1.1.1 - anstream@0.6.4 - anstyle-parse@0.2.2 - anstyle-query@1.0.0 - anstyle-wincon@3.0.1 - anstyle@1.0.4 - anyhow@1.0.75 - approx@0.5.1 - arrayvec@0.7.4 - assert_cmd@2.0.12 - atty@0.2.14 - autocfg@0.1.8 - autocfg@1.1.0 - bitflags@1.3.2 - bitflags@2.4.0 - bitvec@1.0.1 - borsh-derive-internal@0.10.3 - borsh-derive@0.10.3 - borsh-schema-derive-internal@0.10.3 - borsh@0.10.3 - bstr@1.6.2 - bytecheck@0.6.11 - bytecheck_derive@0.6.11 - bytes@1.5.0 - cc@1.0.83 - cfg-if@1.0.0 - clap@4.4.6 - clap_builder@4.4.6 - clap_complete@4.4.3 - clap_lex@0.5.1 - cloudabi@0.0.3 - colorchoice@1.0.0 - colored@2.0.4 - console@0.15.7 - csv-core@0.1.11 - csv@1.3.0 - difflib@0.4.0 - doc-comment@0.3.3 - either@1.9.0 - encode_unicode@0.3.6 - errno-dragonfly@0.1.2 - errno@0.3.4 - fastrand@2.0.1 - float-cmp@0.9.0 - fuchsia-cprng@0.1.1 - funty@2.0.0 - getrandom@0.2.10 - hashbrown@0.12.3 - hashbrown@0.13.2 - hermit-abi@0.1.19 - hermit-abi@0.3.3 - indicatif@0.17.4 - instant@0.1.12 - is-terminal@0.4.9 - itertools@0.11.0 - itoa@1.0.9 - lazy_static@1.4.0 - libc@0.2.148 - linux-raw-sys@0.4.8 - memchr@2.6.4 - memoffset@0.7.1 - nix@0.26.4 - normalize-line-endings@0.3.0 - num-bigint@0.2.6 - num-complex@0.2.4 - num-integer@0.1.45 - num-iter@0.1.43 - num-rational@0.2.4 - num-traits@0.2.16 - num@0.2.1 - number_prefix@0.4.0 - once_cell@1.18.0 - pin-utils@0.1.0 - portable-atomic@1.4.3 - ppv-lite86@0.2.17 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.0.4 - proc-macro-crate@0.1.5 - proc-macro2@1.0.67 - ptr_meta@0.1.4 - ptr_meta_derive@0.1.4 - quote@1.0.33 - radium@0.7.0 - rand@0.6.5 - rand@0.8.5 - rand_chacha@0.1.1 - rand_chacha@0.3.1 - rand_core@0.3.1 - rand_core@0.4.2 - rand_core@0.6.4 - rand_hc@0.1.0 - rand_isaac@0.1.1 - rand_jitter@0.1.4 - rand_os@0.1.3 - rand_pcg@0.1.2 - rand_xorshift@0.1.1 - rdrand@0.4.0 - redox_syscall@0.3.5 - regex-automata@0.3.9 - regex-syntax@0.7.5 - regex@1.9.6 - rend@0.4.1 - rkyv@0.7.42 - rkyv_derive@0.7.42 - rust_decimal@1.32.0 - rustix@0.38.17 - ryu@1.0.15 - seahash@4.1.0 - serde@1.0.188 - serde_derive@1.0.188 - serde_json@1.0.107 - shell-words@1.1.0 - simdutf8@0.1.4 - statistical@1.0.0 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.37 - tap@1.0.1 - tempfile@3.8.0 - terminal_size@0.3.0 - termtree@0.4.1 - thiserror-impl@1.0.49 - thiserror@1.0.49 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - toml@0.5.11 - unicode-ident@1.0.12 - unicode-width@0.1.11 - utf8parse@0.2.1 - uuid@1.4.1 - version_check@0.9.4 - wait-timeout@0.2.0 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - wyz@0.5.1 -" - -inherit bash-completion-r1 cargo - -DESCRIPTION="A command-line benchmarking tool (runs other benchmarks)" -HOMEPAGE="https://github.com/sharkdp/hyperfine" -SRC_URI=" - https://github.com/sharkdp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0" -# Dependent crate licenses -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() { - default - - sed -i '/strip =/d' Cargo.toml || die -} - -src_install() { - local build_dir="$(dirname $(find "$(cargo_target_dir)" -name ${PN}.bash -print -quit))" - - newbashcomp "${build_dir}/${PN}.bash" "${PN}" - - insinto /usr/share/zsh/site-functions - doins "${build_dir}/_${PN}" - - insinto /usr/share/fish/vendor_completions.d - doins "${build_dir}/${PN}.fish" - - cargo_src_install - doman doc/hyperfine.1 - einstalldocs -} diff --git a/app-containers/aardvark-dns/aardvark-dns-1.10.0-r1.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.10.0-r1.ebuild new file mode 100644 index 000000000000..3f6fb3a7a9f2 --- /dev/null +++ b/app-containers/aardvark-dns/aardvark-dns-1.10.0-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" +inherit cargo + +DESCRIPTION="A container-focused DNS server" +HOMEPAGE="https://github.com/containers/aardvark-dns" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/aardvark-dns.git" +else + SRC_URI="${CARGO_CRATE_URIS}" + SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="amd64 arm64 ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" +SLOT="0" +QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" +QA_PRESTRIPPED="usr/libexec/podman/${PN}" +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_install() { + export PREFIX="${EPREFIX}"/usr + default +} diff --git a/app-containers/aardvark-dns/aardvark-dns-1.10.0.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.10.0.ebuild deleted file mode 100644 index 3f6fb3a7a9f2..000000000000 --- a/app-containers/aardvark-dns/aardvark-dns-1.10.0.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" -inherit cargo - -DESCRIPTION="A container-focused DNS server" -HOMEPAGE="https://github.com/containers/aardvark-dns" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/aardvark-dns.git" -else - SRC_URI="${CARGO_CRATE_URIS}" - SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="amd64 arm64 ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" -SLOT="0" -QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" -QA_PRESTRIPPED="usr/libexec/podman/${PN}" -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_install() { - export PREFIX="${EPREFIX}"/usr - default -} diff --git a/app-containers/aardvark-dns/aardvark-dns-1.11.0-r1.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.11.0-r1.ebuild new file mode 100644 index 000000000000..ff2bd6fba837 --- /dev/null +++ b/app-containers/aardvark-dns/aardvark-dns-1.11.0-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" +inherit cargo + +DESCRIPTION="A container-focused DNS server" +HOMEPAGE="https://github.com/containers/aardvark-dns" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/aardvark-dns.git" +else + SRC_URI="${CARGO_CRATE_URIS}" + SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" +SLOT="0" +QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" +QA_PRESTRIPPED="usr/libexec/podman/${PN}" +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_install() { + export PREFIX="${EPREFIX}"/usr + default +} diff --git a/app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild deleted file mode 100644 index ff2bd6fba837..000000000000 --- a/app-containers/aardvark-dns/aardvark-dns-1.11.0.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" -inherit cargo - -DESCRIPTION="A container-focused DNS server" -HOMEPAGE="https://github.com/containers/aardvark-dns" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/aardvark-dns.git" -else - SRC_URI="${CARGO_CRATE_URIS}" - SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" -SLOT="0" -QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" -QA_PRESTRIPPED="usr/libexec/podman/${PN}" -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_install() { - export PREFIX="${EPREFIX}"/usr - default -} diff --git a/app-containers/aardvark-dns/aardvark-dns-1.12.2-r1.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.12.2-r1.ebuild new file mode 100644 index 000000000000..6eb7550f45c2 --- /dev/null +++ b/app-containers/aardvark-dns/aardvark-dns-1.12.2-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" +inherit cargo + +DESCRIPTION="A container-focused DNS server" +HOMEPAGE="https://github.com/containers/aardvark-dns" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/aardvark-dns.git" +else + SRC_URI="${CARGO_CRATE_URIS}" + SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" +SLOT="0" +QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" +QA_PRESTRIPPED="usr/libexec/podman/${PN}" +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_install() { + export PREFIX="${EPREFIX}"/usr + default +} diff --git a/app-containers/aardvark-dns/aardvark-dns-1.12.2.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.12.2.ebuild deleted file mode 100644 index 6eb7550f45c2..000000000000 --- a/app-containers/aardvark-dns/aardvark-dns-1.12.2.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" -inherit cargo - -DESCRIPTION="A container-focused DNS server" -HOMEPAGE="https://github.com/containers/aardvark-dns" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/aardvark-dns.git" -else - SRC_URI="${CARGO_CRATE_URIS}" - SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" -SLOT="0" -QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" -QA_PRESTRIPPED="usr/libexec/podman/${PN}" -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_install() { - export PREFIX="${EPREFIX}"/usr - default -} diff --git a/app-containers/aardvark-dns/aardvark-dns-1.9.0-r1.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.9.0-r1.ebuild new file mode 100644 index 000000000000..3f6fb3a7a9f2 --- /dev/null +++ b/app-containers/aardvark-dns/aardvark-dns-1.9.0-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" +inherit cargo + +DESCRIPTION="A container-focused DNS server" +HOMEPAGE="https://github.com/containers/aardvark-dns" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/aardvark-dns.git" +else + SRC_URI="${CARGO_CRATE_URIS}" + SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="amd64 arm64 ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" +SLOT="0" +QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" +QA_PRESTRIPPED="usr/libexec/podman/${PN}" +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_install() { + export PREFIX="${EPREFIX}"/usr + default +} diff --git a/app-containers/aardvark-dns/aardvark-dns-1.9.0.ebuild b/app-containers/aardvark-dns/aardvark-dns-1.9.0.ebuild deleted file mode 100644 index 3f6fb3a7a9f2..000000000000 --- a/app-containers/aardvark-dns/aardvark-dns-1.9.0.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" -inherit cargo - -DESCRIPTION="A container-focused DNS server" -HOMEPAGE="https://github.com/containers/aardvark-dns" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/aardvark-dns.git" -else - SRC_URI="${CARGO_CRATE_URIS}" - SRC_URI+="https://github.com/containers/aardvark-dns/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="amd64 arm64 ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" 0BSD Apache-2.0-with-LLVM-exceptions MIT Unlicense Unicode-DFS-2016 ZLIB" -SLOT="0" -QA_FLAGS_IGNORED="usr/libexec/podman/${PN}" -QA_PRESTRIPPED="usr/libexec/podman/${PN}" -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_install() { - export PREFIX="${EPREFIX}"/usr - default -} diff --git a/app-containers/netavark/netavark-1.10.2-r1.ebuild b/app-containers/netavark/netavark-1.10.2-r1.ebuild new file mode 100644 index 000000000000..42ba29c8332d --- /dev/null +++ b/app-containers/netavark/netavark-1.10.2-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" + +inherit cargo systemd + +DESCRIPTION="A container network stack" +HOMEPAGE="https://github.com/containers/netavark" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/netavark.git" +else + SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" +SLOT="0" +BDEPEND="dev-go/go-md2man + dev-libs/protobuf" + +QA_FLAGS_IGNORED=" + usr/libexec/podman/${PN}" +QA_PRESTRIPPED=" + usr/libexec/podman/${PN}" + +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_compile() { + cargo_src_compile + export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" + emake docs +} + +# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) +src_install() { + default +} diff --git a/app-containers/netavark/netavark-1.10.2.ebuild b/app-containers/netavark/netavark-1.10.2.ebuild deleted file mode 100644 index 42ba29c8332d..000000000000 --- a/app-containers/netavark/netavark-1.10.2.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" - -inherit cargo systemd - -DESCRIPTION="A container network stack" -HOMEPAGE="https://github.com/containers/netavark" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/netavark.git" -else - SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" -SLOT="0" -BDEPEND="dev-go/go-md2man - dev-libs/protobuf" - -QA_FLAGS_IGNORED=" - usr/libexec/podman/${PN}" -QA_PRESTRIPPED=" - usr/libexec/podman/${PN}" - -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_compile() { - cargo_src_compile - export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" - emake docs -} - -# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) -src_install() { - default -} diff --git a/app-containers/netavark/netavark-1.10.3-r1.ebuild b/app-containers/netavark/netavark-1.10.3-r1.ebuild new file mode 100644 index 000000000000..499417f28d96 --- /dev/null +++ b/app-containers/netavark/netavark-1.10.3-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" + +inherit cargo systemd + +DESCRIPTION="A container network stack" +HOMEPAGE="https://github.com/containers/netavark" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/netavark.git" +else + SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="amd64 arm64 ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" +SLOT="0" +BDEPEND="dev-go/go-md2man + dev-libs/protobuf" + +QA_FLAGS_IGNORED=" + usr/libexec/podman/${PN}" +QA_PRESTRIPPED=" + usr/libexec/podman/${PN}" + +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_compile() { + cargo_src_compile + export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" + emake docs +} + +# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) +src_install() { + default +} diff --git a/app-containers/netavark/netavark-1.10.3.ebuild b/app-containers/netavark/netavark-1.10.3.ebuild deleted file mode 100644 index 499417f28d96..000000000000 --- a/app-containers/netavark/netavark-1.10.3.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" - -inherit cargo systemd - -DESCRIPTION="A container network stack" -HOMEPAGE="https://github.com/containers/netavark" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/netavark.git" -else - SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="amd64 arm64 ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" -SLOT="0" -BDEPEND="dev-go/go-md2man - dev-libs/protobuf" - -QA_FLAGS_IGNORED=" - usr/libexec/podman/${PN}" -QA_PRESTRIPPED=" - usr/libexec/podman/${PN}" - -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_compile() { - cargo_src_compile - export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" - emake docs -} - -# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) -src_install() { - default -} diff --git a/app-containers/netavark/netavark-1.11.0-r1.ebuild b/app-containers/netavark/netavark-1.11.0-r1.ebuild new file mode 100644 index 000000000000..81168b09df45 --- /dev/null +++ b/app-containers/netavark/netavark-1.11.0-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" + +inherit cargo systemd + +DESCRIPTION="A container network stack" +HOMEPAGE="https://github.com/containers/netavark" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/netavark.git" +else + SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" +SLOT="0" +BDEPEND="dev-go/go-md2man + dev-libs/protobuf" + +QA_FLAGS_IGNORED=" + usr/libexec/podman/${PN}" +QA_PRESTRIPPED=" + usr/libexec/podman/${PN}" + +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_compile() { + cargo_src_compile + export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" + emake docs +} + +# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) +src_install() { + default +} diff --git a/app-containers/netavark/netavark-1.11.0.ebuild b/app-containers/netavark/netavark-1.11.0.ebuild deleted file mode 100644 index 81168b09df45..000000000000 --- a/app-containers/netavark/netavark-1.11.0.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" - -inherit cargo systemd - -DESCRIPTION="A container network stack" -HOMEPAGE="https://github.com/containers/netavark" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/netavark.git" -else - SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" -SLOT="0" -BDEPEND="dev-go/go-md2man - dev-libs/protobuf" - -QA_FLAGS_IGNORED=" - usr/libexec/podman/${PN}" -QA_PRESTRIPPED=" - usr/libexec/podman/${PN}" - -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_compile() { - cargo_src_compile - export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" - emake docs -} - -# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) -src_install() { - default -} diff --git a/app-containers/netavark/netavark-1.12.2-r1.ebuild b/app-containers/netavark/netavark-1.12.2-r1.ebuild new file mode 100644 index 000000000000..81168b09df45 --- /dev/null +++ b/app-containers/netavark/netavark-1.12.2-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" + +inherit cargo systemd + +DESCRIPTION="A container network stack" +HOMEPAGE="https://github.com/containers/netavark" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/netavark.git" +else + SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" +SLOT="0" +BDEPEND="dev-go/go-md2man + dev-libs/protobuf" + +QA_FLAGS_IGNORED=" + usr/libexec/podman/${PN}" +QA_PRESTRIPPED=" + usr/libexec/podman/${PN}" + +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_compile() { + cargo_src_compile + export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" + emake docs +} + +# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) +src_install() { + default +} diff --git a/app-containers/netavark/netavark-1.12.2.ebuild b/app-containers/netavark/netavark-1.12.2.ebuild deleted file mode 100644 index 81168b09df45..000000000000 --- a/app-containers/netavark/netavark-1.12.2.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" - -inherit cargo systemd - -DESCRIPTION="A container network stack" -HOMEPAGE="https://github.com/containers/netavark" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/netavark.git" -else - SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" -SLOT="0" -BDEPEND="dev-go/go-md2man - dev-libs/protobuf" - -QA_FLAGS_IGNORED=" - usr/libexec/podman/${PN}" -QA_PRESTRIPPED=" - usr/libexec/podman/${PN}" - -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_compile() { - cargo_src_compile - export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" - emake docs -} - -# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) -src_install() { - default -} diff --git a/app-containers/netavark/netavark-1.9.0-r1.ebuild b/app-containers/netavark/netavark-1.9.0-r1.ebuild new file mode 100644 index 000000000000..499417f28d96 --- /dev/null +++ b/app-containers/netavark/netavark-1.9.0-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" + +inherit cargo systemd + +DESCRIPTION="A container network stack" +HOMEPAGE="https://github.com/containers/netavark" + +if [[ ${PV} == 9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/containers/netavark.git" +else + SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" + KEYWORDS="amd64 arm64 ~ppc64 ~riscv" +fi + +# main +LICENSE="Apache-2.0" +# deps +LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" +SLOT="0" +BDEPEND="dev-go/go-md2man + dev-libs/protobuf" + +QA_FLAGS_IGNORED=" + usr/libexec/podman/${PN}" +QA_PRESTRIPPED=" + usr/libexec/podman/${PN}" + +ECARGO_VENDOR="${WORKDIR}/vendor" + +src_unpack() { + if [[ ${PV} == 9999* ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die +} + +src_compile() { + cargo_src_compile + export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" + emake docs +} + +# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) +src_install() { + default +} diff --git a/app-containers/netavark/netavark-1.9.0.ebuild b/app-containers/netavark/netavark-1.9.0.ebuild deleted file mode 100644 index 499417f28d96..000000000000 --- a/app-containers/netavark/netavark-1.9.0.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -[[ ${PV} == 9999* ]] || CRATES="${PN}@${PV}" - -inherit cargo systemd - -DESCRIPTION="A container network stack" -HOMEPAGE="https://github.com/containers/netavark" - -if [[ ${PV} == 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/containers/netavark.git" -else - SRC_URI="${CARGO_CRATE_URIS} https://github.com/containers/netavark/releases/download/v${PV}/${PN}-v${PV}-vendor.tar.gz" - KEYWORDS="amd64 arm64 ~ppc64 ~riscv" -fi - -# main -LICENSE="Apache-2.0" -# deps -LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" -SLOT="0" -BDEPEND="dev-go/go-md2man - dev-libs/protobuf" - -QA_FLAGS_IGNORED=" - usr/libexec/podman/${PN}" -QA_PRESTRIPPED=" - usr/libexec/podman/${PN}" - -ECARGO_VENDOR="${WORKDIR}/vendor" - -src_unpack() { - if [[ ${PV} == 9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - sed -i -e "s|m0755 bin|m0755 $(cargo_target_dir)|g;" Makefile || die -} - -src_compile() { - cargo_src_compile - export PREFIX="${EPREFIX}"/usr SYSTEMDDIR="$(systemd_get_systemunitdir)" - emake docs -} - -# Following is needed because we want to use `make install` instead of `cargo install` (exported by cargo.eclass) -src_install() { - default -} diff --git a/app-crypt/nitrocli/nitrocli-0.4.1-r1.ebuild b/app-crypt/nitrocli/nitrocli-0.4.1-r1.ebuild new file mode 100644 index 000000000000..1c560a2e5176 --- /dev/null +++ b/app-crypt/nitrocli/nitrocli-0.4.1-r1.ebuild @@ -0,0 +1,120 @@ +# Copyright 2017-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.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}" + +LICENSE="Apache-2.0 BSD-2 CC0-1.0 GPL-3+ LGPL-3 MIT" +SLOT="0" +KEYWORDS="amd64 ~ppc64 x86" + +DEPEND=" + dev-libs/hidapi +" +# We require gnupg for /usr/bin/gpg-connect-agent. +RDEPEND=" + ${DEPEND} + app-crypt/gnupg +" + +# Uses a plugged-in Nitrokey and runs tests on it. These tests assumes a +# pristine configuration and will modify the device's state. Not meant +# to be run as part of the installation. +RESTRICT="test" +QA_FLAGS_IGNORED="usr/bin/nitrocli" + +PATCHES=( + "${FILESDIR}"/${PN}-0.4.1-fix-musl-1.2.4-build.patch +) + +src_compile() { + cargo_src_compile --bin=nitrocli + # Install shell-complete binary into source directory to be able to + # use it later on. + cargo install --bin=shell-complete --path . --root "${S}" || die +} + +src_install() { + cargo_src_install --bin=nitrocli + + "${S}"/bin/shell-complete bash > ${PN}.bash || die + newbashcomp ${PN}.bash ${PN} + + "${S}"/bin/shell-complete fish > ${PN}.fish || die + insinto /usr/share/fish/vendor_conf.d/ + insopts -m0755 + doins ${PN}.fish + + einstalldocs + doman doc/${PN}.1 +} diff --git a/app-crypt/nitrocli/nitrocli-0.4.1.ebuild b/app-crypt/nitrocli/nitrocli-0.4.1.ebuild deleted file mode 100644 index f41366c4a624..000000000000 --- a/app-crypt/nitrocli/nitrocli-0.4.1.ebuild +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright 2017-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.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)" - -LICENSE="Apache-2.0 BSD-2 CC0-1.0 GPL-3+ LGPL-3 MIT" -SLOT="0" -KEYWORDS="amd64 ~ppc64 x86" - -DEPEND=" - dev-libs/hidapi -" -# We require gnupg for /usr/bin/gpg-connect-agent. -RDEPEND=" - ${DEPEND} - app-crypt/gnupg -" - -# Uses a plugged-in Nitrokey and runs tests on it. These tests assumes a -# pristine configuration and will modify the device's state. Not meant -# to be run as part of the installation. -RESTRICT="test" -QA_FLAGS_IGNORED="usr/bin/nitrocli" - -PATCHES=( - "${FILESDIR}"/${PN}-0.4.1-fix-musl-1.2.4-build.patch -) - -src_compile() { - cargo_src_compile --bin=nitrocli - # Install shell-complete binary into source directory to be able to - # use it later on. - cargo install --bin=shell-complete --path . --root "${S}" || die -} - -src_install() { - cargo_src_install --bin=nitrocli - - "${S}"/bin/shell-complete bash > ${PN}.bash || die - newbashcomp ${PN}.bash ${PN} - - "${S}"/bin/shell-complete fish > ${PN}.fish || die - insinto /usr/share/fish/vendor_conf.d/ - insopts -m0755 - doins ${PN}.fish - - einstalldocs - doman doc/${PN}.1 -} diff --git a/app-crypt/rpm-sequoia/rpm-sequoia-1.6.0-r1.ebuild b/app-crypt/rpm-sequoia/rpm-sequoia-1.6.0-r1.ebuild new file mode 100644 index 000000000000..f4f0fd4e2697 --- /dev/null +++ b/app-crypt/rpm-sequoia/rpm-sequoia-1.6.0-r1.ebuild @@ -0,0 +1,305 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.1 + +EAPI=8 + +CRATES=" + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.3 + aho-corasick@1.1.2 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstyle@1.0.4 + anyhow@1.0.79 + ascii-canvas@3.0.0 + assert_cmd@2.0.13 + autocfg@1.1.0 + base16ct@0.2.0 + base64@0.21.7 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.4.2 + block-buffer@0.10.4 + block-padding@0.3.3 + blowfish@0.9.1 + botan-sys@0.10.5 + botan@0.10.7 + bstr@1.9.0 + buffered-reader@1.3.0 + bumpalo@3.14.0 + byteorder@1.5.0 + camellia@0.1.0 + cast5@0.11.1 + cc@1.0.83 + cdylib-link-lines@0.1.4 + cexpr@0.6.0 + cfb-mode@0.8.2 + cfg-if@1.0.0 + chrono@0.4.32 + cipher@0.4.4 + clang-sys@1.7.0 + cmac@0.7.2 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + cpufeatures@0.2.12 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.1 + dbl@0.3.2 + der@0.7.8 + des@0.8.1 + diff@0.1.13 + difflib@0.4.0 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + doc-comment@0.3.3 + dsa@0.6.2 + dyn-clone@1.0.16 + eax@0.5.0 + ecb@0.1.2 + ecdsa@0.16.9 + ed25519-dalek@2.1.0 + ed25519@2.2.3 + either@1.9.0 + elliptic-curve@0.13.8 + ena@0.14.2 + equivalent@1.0.1 + errno@0.3.8 + fastrand@2.0.1 + ff@0.13.0 + fiat-crypto@0.2.5 + fixedbitset@0.4.2 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + generic-array@0.14.7 + getrandom@0.2.12 + ghash@0.5.0 + glob@0.3.1 + group@0.13.0 + hashbrown@0.14.3 + hermit-abi@0.3.4 + hkdf@0.12.4 + hmac@0.12.1 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.59 + idea@0.5.1 + idna@0.4.0 + indexmap@2.1.0 + inout@0.1.3 + is-terminal@0.4.10 + itertools@0.10.5 + js-sys@0.3.67 + lalrpop-util@0.20.0 + lalrpop@0.20.0 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.152 + libloading@0.8.1 + libm@0.2.8 + libredox@0.0.1 + linux-raw-sys@0.4.13 + lock_api@0.4.11 + log@0.4.20 + md-5@0.10.6 + memchr@2.7.1 + memsec@0.6.3 + minimal-lexical@0.2.1 + nettle-sys@2.3.0 + nettle@7.3.0 + new_debug_unreachable@1.0.4 + nom@7.1.3 + num-bigint-dig@0.8.4 + num-integer@0.1.45 + num-iter@0.1.43 + num-traits@0.2.17 + once_cell@1.19.0 + opaque-debug@0.3.0 + openssl-macros@0.1.1 + openssl-sys@0.9.99 + openssl@0.10.63 + p256@0.13.2 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + peeking_take_while@0.1.2 + pem-rfc7468@0.7.0 + petgraph@0.6.4 + phf_shared@0.10.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.29 + platforms@3.3.0 + polyval@0.6.1 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + primeorder@0.13.6 + proc-macro2@1.0.78 + quote@1.0.35 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.4.1 + redox_users@0.4.4 + regex-automata@0.4.4 + regex-syntax@0.7.5 + regex-syntax@0.8.2 + regex@1.10.3 + rfc6979@0.4.0 + ripemd@0.1.3 + rsa@0.9.6 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.30 + rustversion@1.0.14 + scopeguard@1.2.0 + sec1@0.7.3 + semver@1.0.21 + sequoia-openpgp@1.17.0 + sequoia-policy-config@0.6.0 + serde@1.0.195 + serde_derive@1.0.195 + sha1collisiondetection@0.3.3 + sha2@0.10.8 + shlex@1.3.0 + signature@2.2.0 + siphasher@0.3.11 + smallvec@1.13.1 + spin@0.5.2 + spki@0.7.3 + string_cache@0.8.7 + subtle@2.5.0 + syn@2.0.48 + tempfile@3.9.0 + term@0.7.0 + termtree@0.4.1 + thiserror-impl@1.0.56 + thiserror@1.0.56 + tiny-keccak@2.0.2 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.5.11 + twofish@0.7.1 + typenum@1.17.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.22 + unicode-xid@0.2.4 + universal-hash@0.5.1 + vcpkg@0.2.15 + version_check@0.9.4 + wait-timeout@0.2.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.90 + wasm-bindgen-macro-support@0.2.90 + wasm-bindgen-macro@0.2.90 + wasm-bindgen-shared@0.2.90 + wasm-bindgen@0.2.90 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + 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-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 + x25519-dalek@2.0.0 + xxhash-rust@0.8.8 + zeroize@1.7.0 + zeroize_derive@1.4.2 +" + +LLVM_COMPAT=( 17 ) +RUST_NEEDS_LLVM=1 + +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" +SRC_URI=" + https://github.com/rpm-software-management/rpm-sequoia/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="LGPL-2+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~sparc ~x86" +IUSE="nettle +openssl" +REQUIRED_USE="^^ ( nettle openssl )" + +DEPEND=" + nettle? ( dev-libs/nettle:= ) + openssl? ( dev-libs/openssl:= ) +" +RDEPEND="${DEPEND}" +# Clang is required for bindgen +BDEPEND=" + virtual/pkgconfig + 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}" + fi +} + +src_configure() { + local myfeatures=( + $(usev nettle crypto-nettle) + $(usev openssl crypto-openssl) + ) + cargo_src_configure --no-default-features +} + +src_compile() { + # These variables will be used to generate the pkgconfig file. + PREFIX="${EPREFIX}/usr" LIBDIR="${PREFIX}"/$(get_libdir) cargo_src_compile +} + +src_install() { + newlib.so "$(cargo_target_dir)"/librpm_sequoia.so librpm_sequoia.so.1 + dosym librpm_sequoia.so.1 /usr/$(get_libdir)/librpm_sequoia.so + + insinto /usr/$(get_libdir)/pkgconfig + # build.rs sets the output dir to be target/, so don't use helper. + doins target/$(usex debug debug release)/rpm-sequoia.pc +} diff --git a/app-crypt/rpm-sequoia/rpm-sequoia-1.6.0.ebuild b/app-crypt/rpm-sequoia/rpm-sequoia-1.6.0.ebuild deleted file mode 100644 index da34f4210ca1..000000000000 --- a/app-crypt/rpm-sequoia/rpm-sequoia-1.6.0.ebuild +++ /dev/null @@ -1,299 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.1 - -EAPI=8 - -CRATES=" - aead@0.5.2 - aes-gcm@0.10.3 - aes@0.8.3 - aho-corasick@1.1.2 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstyle@1.0.4 - anyhow@1.0.79 - ascii-canvas@3.0.0 - assert_cmd@2.0.13 - autocfg@1.1.0 - base16ct@0.2.0 - base64@0.21.7 - base64ct@1.6.0 - bindgen@0.68.1 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.4.2 - block-buffer@0.10.4 - block-padding@0.3.3 - blowfish@0.9.1 - botan-sys@0.10.5 - botan@0.10.7 - bstr@1.9.0 - buffered-reader@1.3.0 - bumpalo@3.14.0 - byteorder@1.5.0 - camellia@0.1.0 - cast5@0.11.1 - cc@1.0.83 - cdylib-link-lines@0.1.4 - cexpr@0.6.0 - cfb-mode@0.8.2 - cfg-if@1.0.0 - chrono@0.4.32 - cipher@0.4.4 - clang-sys@1.7.0 - cmac@0.7.2 - const-oid@0.9.6 - core-foundation-sys@0.8.6 - cpufeatures@0.2.12 - crunchy@0.2.2 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - ctr@0.9.2 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.1 - dbl@0.3.2 - der@0.7.8 - des@0.8.1 - diff@0.1.13 - difflib@0.4.0 - digest@0.10.7 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - doc-comment@0.3.3 - dsa@0.6.2 - dyn-clone@1.0.16 - eax@0.5.0 - ecb@0.1.2 - ecdsa@0.16.9 - ed25519-dalek@2.1.0 - ed25519@2.2.3 - either@1.9.0 - elliptic-curve@0.13.8 - ena@0.14.2 - equivalent@1.0.1 - errno@0.3.8 - fastrand@2.0.1 - ff@0.13.0 - fiat-crypto@0.2.5 - fixedbitset@0.4.2 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - generic-array@0.14.7 - getrandom@0.2.12 - ghash@0.5.0 - glob@0.3.1 - group@0.13.0 - hashbrown@0.14.3 - hermit-abi@0.3.4 - hkdf@0.12.4 - hmac@0.12.1 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.59 - idea@0.5.1 - idna@0.4.0 - indexmap@2.1.0 - inout@0.1.3 - is-terminal@0.4.10 - itertools@0.10.5 - js-sys@0.3.67 - lalrpop-util@0.20.0 - lalrpop@0.20.0 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.152 - libloading@0.8.1 - libm@0.2.8 - libredox@0.0.1 - linux-raw-sys@0.4.13 - lock_api@0.4.11 - log@0.4.20 - md-5@0.10.6 - memchr@2.7.1 - memsec@0.6.3 - minimal-lexical@0.2.1 - nettle-sys@2.3.0 - nettle@7.3.0 - new_debug_unreachable@1.0.4 - nom@7.1.3 - num-bigint-dig@0.8.4 - num-integer@0.1.45 - num-iter@0.1.43 - num-traits@0.2.17 - once_cell@1.19.0 - opaque-debug@0.3.0 - openssl-macros@0.1.1 - openssl-sys@0.9.99 - openssl@0.10.63 - p256@0.13.2 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - peeking_take_while@0.1.2 - pem-rfc7468@0.7.0 - petgraph@0.6.4 - phf_shared@0.10.0 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.29 - platforms@3.3.0 - polyval@0.6.1 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - primeorder@0.13.6 - proc-macro2@1.0.78 - quote@1.0.35 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redox_syscall@0.4.1 - redox_users@0.4.4 - regex-automata@0.4.4 - regex-syntax@0.7.5 - regex-syntax@0.8.2 - regex@1.10.3 - rfc6979@0.4.0 - ripemd@0.1.3 - rsa@0.9.6 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.30 - rustversion@1.0.14 - scopeguard@1.2.0 - sec1@0.7.3 - semver@1.0.21 - sequoia-openpgp@1.17.0 - sequoia-policy-config@0.6.0 - serde@1.0.195 - serde_derive@1.0.195 - sha1collisiondetection@0.3.3 - sha2@0.10.8 - shlex@1.3.0 - signature@2.2.0 - siphasher@0.3.11 - smallvec@1.13.1 - spin@0.5.2 - spki@0.7.3 - string_cache@0.8.7 - subtle@2.5.0 - syn@2.0.48 - tempfile@3.9.0 - term@0.7.0 - termtree@0.4.1 - thiserror-impl@1.0.56 - thiserror@1.0.56 - tiny-keccak@2.0.2 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - toml@0.5.11 - twofish@0.7.1 - typenum@1.17.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.22 - unicode-xid@0.2.4 - universal-hash@0.5.1 - vcpkg@0.2.15 - version_check@0.9.4 - wait-timeout@0.2.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.90 - wasm-bindgen-macro-support@0.2.90 - wasm-bindgen-macro@0.2.90 - wasm-bindgen-shared@0.2.90 - wasm-bindgen@0.2.90 - win-crypto-ng@0.5.1 - winapi-i686-pc-windows-gnu@0.4.0 - 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-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 - x25519-dalek@2.0.0 - xxhash-rust@0.8.8 - zeroize@1.7.0 - zeroize_derive@1.4.2 -" - -LLVM_MAX_SLOT=17 - -inherit cargo llvm - -DESCRIPTION="Implementation of the RPM PGP interface using Sequoia" -HOMEPAGE="https://sequoia-pgp.org/ https://github.com/rpm-software-management/rpm-sequoia" -SRC_URI=" - https://github.com/rpm-software-management/rpm-sequoia/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="LGPL-2+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT Unicode-DFS-2016 - || ( GPL-2 GPL-3 LGPL-3 ) -" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~sparc ~x86" -IUSE="nettle +openssl" -REQUIRED_USE="^^ ( nettle openssl )" - -DEPEND=" - nettle? ( dev-libs/nettle:= ) - openssl? ( dev-libs/openssl:= ) -" -RDEPEND="${DEPEND}" -# Clang is required for bindgen -BDEPEND=" - virtual/pkgconfig - nettle? ( , so don't use helper. - doins target/$(usex debug debug release)/rpm-sequoia.pc -} diff --git a/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0-r1.ebuild b/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0-r1.ebuild new file mode 100644 index 000000000000..9f361d92c6c6 --- /dev/null +++ b/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0-r1.ebuild @@ -0,0 +1,317 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstyle@1.0.7 + anyhow@1.0.86 + ascii-canvas@3.0.0 + assert_cmd@2.0.14 + autocfg@1.3.0 + base16ct@0.2.0 + base64@0.22.1 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@2.6.0 + block-buffer@0.10.4 + block-padding@0.3.3 + blowfish@0.9.1 + botan-sys@0.10.5 + botan@0.10.7 + bstr@1.9.1 + buffered-reader@1.3.1 + bumpalo@3.16.0 + byteorder@1.5.0 + camellia@0.1.0 + cast5@0.11.1 + cc@1.0.106 + cdylib-link-lines@0.1.5 + cexpr@0.6.0 + cfb-mode@0.8.2 + cfg-if@1.0.0 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.8.1 + cmac@0.7.2 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + cpufeatures@0.2.12 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.3 + dbl@0.3.2 + der@0.7.9 + des@0.8.1 + difflib@0.4.0 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + displaydoc@0.2.5 + doc-comment@0.3.3 + dsa@0.6.3 + dyn-clone@1.0.17 + eax@0.5.0 + ecb@0.1.2 + ecdsa@0.16.9 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + either@1.13.0 + elliptic-curve@0.13.8 + ena@0.14.3 + equivalent@1.0.1 + errno@0.3.9 + fastrand@2.1.0 + ff@0.13.0 + fiat-crypto@0.2.9 + fixedbitset@0.4.2 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + generic-array@0.14.7 + generic-array@1.1.0 + getrandom@0.2.15 + ghash@0.5.1 + glob@0.3.1 + group@0.13.0 + hashbrown@0.14.5 + hkdf@0.12.4 + hmac@0.12.1 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idea@0.5.1 + idna@1.0.2 + indexmap@2.2.6 + inout@0.1.3 + itertools@0.11.0 + js-sys@0.3.69 + lalrpop-util@0.20.2 + lalrpop@0.20.2 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.155 + libloading@0.8.4 + libm@0.2.8 + libredox@0.1.3 + linux-raw-sys@0.4.14 + litemap@0.7.3 + lock_api@0.4.12 + log@0.4.22 + md-5@0.10.6 + memchr@2.7.4 + memsec@0.7.0 + minimal-lexical@0.2.1 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nom@7.1.3 + num-bigint-dig@0.8.4 + num-integer@0.1.46 + num-iter@0.1.45 + num-traits@0.2.19 + once_cell@1.19.0 + opaque-debug@0.3.1 + openssl-macros@0.1.1 + openssl-sys@0.9.102 + openssl@0.10.64 + p256@0.13.2 + p384@0.13.0 + p521@0.13.3 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + peeking_take_while@0.1.2 + pem-rfc7468@0.7.0 + petgraph@0.6.5 + phf_shared@0.10.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + polyval@0.6.2 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + primeorder@0.13.6 + proc-macro2@1.0.86 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.5.2 + redox_users@0.4.5 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + rfc6979@0.4.0 + ripemd@0.1.3 + rsa@0.9.6 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + rustversion@1.0.17 + same-file@1.0.6 + scopeguard@1.2.0 + sec1@0.7.3 + semver@1.0.23 + sequoia-openpgp@1.21.1 + sequoia-policy-config@0.6.0 + serde@1.0.204 + serde_derive@1.0.204 + sha1collisiondetection@0.3.4 + sha2@0.10.8 + shlex@1.3.0 + signature@2.2.0 + siphasher@0.3.11 + smallvec@1.13.2 + spin@0.9.8 + spki@0.7.3 + stable_deref_trait@1.2.0 + string_cache@0.8.7 + subtle@2.6.1 + syn@2.0.70 + synstructure@0.13.1 + tempfile@3.10.1 + term@0.7.0 + termtree@0.4.1 + thiserror-impl@1.0.61 + thiserror@1.0.61 + tiny-keccak@2.0.2 + tinystr@0.7.6 + toml@0.5.11 + twofish@0.7.1 + typenum@1.17.0 + unicode-ident@1.0.12 + unicode-xid@0.2.4 + universal-hash@0.5.1 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + vcpkg@0.2.15 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-sys@0.52.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 + write16@1.0.0 + writeable@0.5.5 + x25519-dalek@2.0.1 + xxhash-rust@0.8.11 + yoke-derive@0.7.4 + yoke@0.7.4 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zeroize@1.8.1 + zeroize_derive@1.4.2 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +LLVM_COMPAT=( 17 18 ) +RUST_MIN_VER="1.74.1" +RUST_NEEDS_LLVM=1 + +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" +SRC_URI=" + https://github.com/rpm-software-management/rpm-sequoia/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="LGPL-2+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT Unicode-3.0 + Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~sparc ~x86" +IUSE="nettle +openssl" +REQUIRED_USE="^^ ( nettle openssl )" + +DEPEND=" + nettle? ( + dev-libs/gmp:= + dev-libs/nettle:= + ) + openssl? ( dev-libs/openssl:= ) +" +RDEPEND="${DEPEND}" +# Clang is required for bindgen +BDEPEND=" + virtual/pkgconfig + 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) + $(usev openssl crypto-openssl) + ) + cargo_src_configure --no-default-features +} + +src_compile() { + # These variables will be used to generate the pkgconfig file. + PREFIX="${EPREFIX}/usr" LIBDIR="${PREFIX}"/$(get_libdir) cargo_src_compile +} + +src_install() { + newlib.so "$(cargo_target_dir)"/librpm_sequoia.so librpm_sequoia.so.1 + dosym librpm_sequoia.so.1 /usr/$(get_libdir)/librpm_sequoia.so + + insinto /usr/$(get_libdir)/pkgconfig + # build.rs sets the output dir to be target/, so don't use helper. + doins target/$(usex debug debug release)/rpm-sequoia.pc +} diff --git a/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0.ebuild b/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0.ebuild deleted file mode 100644 index 082e1f09d371..000000000000 --- a/app-crypt/rpm-sequoia/rpm-sequoia-1.7.0.ebuild +++ /dev/null @@ -1,311 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - aead@0.5.2 - aes-gcm@0.10.3 - aes@0.8.4 - aho-corasick@1.1.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstyle@1.0.7 - anyhow@1.0.86 - ascii-canvas@3.0.0 - assert_cmd@2.0.14 - autocfg@1.3.0 - base16ct@0.2.0 - base64@0.22.1 - base64ct@1.6.0 - bindgen@0.68.1 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@2.6.0 - block-buffer@0.10.4 - block-padding@0.3.3 - blowfish@0.9.1 - botan-sys@0.10.5 - botan@0.10.7 - bstr@1.9.1 - buffered-reader@1.3.1 - bumpalo@3.16.0 - byteorder@1.5.0 - camellia@0.1.0 - cast5@0.11.1 - cc@1.0.106 - cdylib-link-lines@0.1.5 - cexpr@0.6.0 - cfb-mode@0.8.2 - cfg-if@1.0.0 - chrono@0.4.38 - cipher@0.4.4 - clang-sys@1.8.1 - cmac@0.7.2 - const-oid@0.9.6 - core-foundation-sys@0.8.6 - cpufeatures@0.2.12 - crunchy@0.2.2 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - ctr@0.9.2 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.3 - dbl@0.3.2 - der@0.7.9 - des@0.8.1 - difflib@0.4.0 - digest@0.10.7 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - displaydoc@0.2.5 - doc-comment@0.3.3 - dsa@0.6.3 - dyn-clone@1.0.17 - eax@0.5.0 - ecb@0.1.2 - ecdsa@0.16.9 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - either@1.13.0 - elliptic-curve@0.13.8 - ena@0.14.3 - equivalent@1.0.1 - errno@0.3.9 - fastrand@2.1.0 - ff@0.13.0 - fiat-crypto@0.2.9 - fixedbitset@0.4.2 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - generic-array@0.14.7 - generic-array@1.1.0 - getrandom@0.2.15 - ghash@0.5.1 - glob@0.3.1 - group@0.13.0 - hashbrown@0.14.5 - hkdf@0.12.4 - hmac@0.12.1 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - icu_collections@1.5.0 - icu_locid@1.5.0 - icu_locid_transform@1.5.0 - icu_locid_transform_data@1.5.0 - icu_normalizer@1.5.0 - icu_normalizer_data@1.5.0 - icu_properties@1.5.1 - icu_properties_data@1.5.0 - icu_provider@1.5.0 - icu_provider_macros@1.5.0 - idea@0.5.1 - idna@1.0.2 - indexmap@2.2.6 - inout@0.1.3 - itertools@0.11.0 - js-sys@0.3.69 - lalrpop-util@0.20.2 - lalrpop@0.20.2 - lazy_static@1.5.0 - lazycell@1.3.0 - libc@0.2.155 - libloading@0.8.4 - libm@0.2.8 - libredox@0.1.3 - linux-raw-sys@0.4.14 - litemap@0.7.3 - lock_api@0.4.12 - log@0.4.22 - md-5@0.10.6 - memchr@2.7.4 - memsec@0.7.0 - minimal-lexical@0.2.1 - nettle-sys@2.3.0 - nettle@7.4.0 - new_debug_unreachable@1.0.6 - nom@7.1.3 - num-bigint-dig@0.8.4 - num-integer@0.1.46 - num-iter@0.1.45 - num-traits@0.2.19 - once_cell@1.19.0 - opaque-debug@0.3.1 - openssl-macros@0.1.1 - openssl-sys@0.9.102 - openssl@0.10.64 - p256@0.13.2 - p384@0.13.0 - p521@0.13.3 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - peeking_take_while@0.1.2 - pem-rfc7468@0.7.0 - petgraph@0.6.5 - phf_shared@0.10.0 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - polyval@0.6.2 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - primeorder@0.13.6 - proc-macro2@1.0.86 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redox_syscall@0.5.2 - redox_users@0.4.5 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.5 - rfc6979@0.4.0 - ripemd@0.1.3 - rsa@0.9.6 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - rustversion@1.0.17 - same-file@1.0.6 - scopeguard@1.2.0 - sec1@0.7.3 - semver@1.0.23 - sequoia-openpgp@1.21.1 - sequoia-policy-config@0.6.0 - serde@1.0.204 - serde_derive@1.0.204 - sha1collisiondetection@0.3.4 - sha2@0.10.8 - shlex@1.3.0 - signature@2.2.0 - siphasher@0.3.11 - smallvec@1.13.2 - spin@0.9.8 - spki@0.7.3 - stable_deref_trait@1.2.0 - string_cache@0.8.7 - subtle@2.6.1 - syn@2.0.70 - synstructure@0.13.1 - tempfile@3.10.1 - term@0.7.0 - termtree@0.4.1 - thiserror-impl@1.0.61 - thiserror@1.0.61 - tiny-keccak@2.0.2 - tinystr@0.7.6 - toml@0.5.11 - twofish@0.7.1 - typenum@1.17.0 - unicode-ident@1.0.12 - unicode-xid@0.2.4 - universal-hash@0.5.1 - utf16_iter@1.0.5 - utf8_iter@1.0.4 - vcpkg@0.2.15 - version_check@0.9.4 - wait-timeout@0.2.0 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - win-crypto-ng@0.5.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-sys@0.52.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 - write16@1.0.0 - writeable@0.5.5 - x25519-dalek@2.0.1 - xxhash-rust@0.8.11 - yoke-derive@0.7.4 - yoke@0.7.4 - zerofrom-derive@0.1.4 - zerofrom@0.1.4 - zeroize@1.8.1 - zeroize_derive@1.4.2 - zerovec-derive@0.10.3 - zerovec@0.10.4 -" - -LLVM_COMPAT=( {17..18} ) - -inherit cargo llvm-r1 - -DESCRIPTION="Implementation of the RPM PGP interface using Sequoia" -HOMEPAGE="https://sequoia-pgp.org/ https://github.com/rpm-software-management/rpm-sequoia" -SRC_URI=" - https://github.com/rpm-software-management/rpm-sequoia/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="LGPL-2+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT Unicode-3.0 - Unicode-DFS-2016 - || ( GPL-2 GPL-3 LGPL-3 ) -" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~sparc ~x86" -IUSE="nettle +openssl" -REQUIRED_USE="^^ ( nettle openssl )" - -DEPEND=" - nettle? ( - dev-libs/gmp:= - dev-libs/nettle:= - ) - openssl? ( dev-libs/openssl:= ) -" -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" - -src_configure() { - local myfeatures=( - $(usev nettle crypto-nettle) - $(usev openssl crypto-openssl) - ) - cargo_src_configure --no-default-features -} - -src_compile() { - # These variables will be used to generate the pkgconfig file. - PREFIX="${EPREFIX}/usr" LIBDIR="${PREFIX}"/$(get_libdir) cargo_src_compile -} - -src_install() { - newlib.so "$(cargo_target_dir)"/librpm_sequoia.so librpm_sequoia.so.1 - dosym librpm_sequoia.so.1 /usr/$(get_libdir)/librpm_sequoia.so - - insinto /usr/$(get_libdir)/pkgconfig - # build.rs sets the output dir to be target/, so don't use helper. - doins target/$(usex debug debug release)/rpm-sequoia.pc -} diff --git a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.0-r1.ebuild b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.0-r1.ebuild new file mode 100644 index 000000000000..280dbafde49f --- /dev/null +++ b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.0-r1.ebuild @@ -0,0 +1,453 @@ +# 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.22.0 + adler@1.0.2 + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anyhow@1.0.86 + ascii-canvas@3.0.0 + async-trait@0.1.80 + autocfg@1.3.0 + backtrace@0.3.73 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + block-padding@0.3.3 + botan-sys@0.10.5 + botan@0.10.7 + buffered-reader@1.3.1 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.6.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + capnp-futures@0.19.0 + capnp-rpc@0.19.2 + capnp@0.19.6 + cc@1.0.99 + cexpr@0.6.0 + cfg-if@1.0.0 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.8.1 + cmac@0.7.2 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-common@0.1.6 + ctor@0.2.8 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.2 + daemonize@0.5.0 + darling@0.20.9 + darling_core@0.20.9 + darling_macro@0.20.9 + data-encoding@2.6.0 + dbl@0.3.2 + der@0.7.9 + deranged@0.3.11 + diff@0.1.13 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dirs-sys@0.4.1 + dirs@5.0.1 + displaydoc@0.2.4 + doc-comment@0.3.3 + dyn-clone@1.0.17 + eax@0.5.0 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + editdistancek@1.0.2 + either@1.12.0 + embedded-io@0.6.1 + ena@0.14.3 + encoding_rs@0.8.34 + endian-type@0.1.2 + enum-as-inner@0.6.0 + enumber@0.3.1 + equivalent@1.0.1 + errno@0.3.9 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fastrand@2.1.0 + fd-lock@4.0.2 + fiat-crypto@0.2.9 + filetime@0.2.23 + fixedbitset@0.4.2 + flate2@1.0.30 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fs2@0.4.3 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generic-array@0.14.7 + generic-array@1.0.0 + gethostname@0.4.3 + getrandom@0.2.15 + ghash@0.5.1 + gimli@0.29.0 + glob@0.3.1 + h2@0.3.26 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.9.1 + heck@0.4.1 + hermit-abi@0.3.9 + hex@0.4.3 + hickory-client@0.24.1 + hickory-proto@0.24.1 + hickory-resolver@0.24.1 + histo@1.0.0 + hostname@0.3.1 + http-body@0.4.6 + http@0.2.12 + httparse@1.9.3 + httpdate@1.0.3 + hyper-tls@0.5.0 + hyper@0.14.29 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.0 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + ident_case@1.0.1 + idna@0.4.0 + idna@0.5.0 + idna@1.0.0 + indexmap@1.9.3 + indexmap@2.2.6 + inout@0.1.3 + interprocess@1.2.1 + ipconfig@0.3.2 + ipnet@2.9.0 + itertools@0.11.0 + itoa@1.0.11 + js-sys@0.3.69 + lalrpop-util@0.20.2 + lalrpop@0.20.2 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.155 + libloading@0.8.3 + libm@0.2.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + litemap@0.7.3 + lock_api@0.4.12 + log@0.4.21 + lru-cache@0.1.2 + match_cfg@0.1.0 + md-5@0.10.6 + memchr@2.7.4 + memsec@0.6.3 + memsec@0.7.0 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.7.3 + mio@0.8.11 + native-tls@0.2.12 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nibble_vec@0.1.0 + nom@7.1.3 + ntest@0.9.2 + ntest_test_cases@0.9.2 + ntest_timeout@0.9.2 + num-bigint-dig@0.8.4 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.45 + num-traits@0.2.19 + num_cpus@1.16.0 + object@0.36.0 + once_cell@1.19.0 + opaque-debug@0.3.1 + openpgp-cert-d@0.3.2 + openssh-keys@0.6.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.102 + openssl@0.10.64 + option-ext@0.2.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + peeking_take_while@0.1.2 + percent-encoding@2.3.1 + petgraph@0.6.5 + phf_shared@0.10.0 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkcs8@0.10.2 + pkg-config@0.3.30 + platforms@3.4.0 + polyval@0.6.2 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + proc-macro-crate@3.1.0 + proc-macro2@1.0.85 + quick-error@1.2.3 + quote@1.0.36 + radix_trie@0.2.1 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.2 + redox_users@0.4.5 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + reqwest@0.11.27 + resolv-conf@0.7.0 + rpassword@7.3.1 + rtoolbox@0.0.2 + rusqlite@0.31.0 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + rustls-pemfile@1.0.4 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.23 + scopeguard@1.2.0 + security-framework-sys@2.11.0 + security-framework@2.11.0 + semver@1.0.23 + sequoia-cert-store@0.6.0 + sequoia-gpg-agent@0.4.1 + sequoia-ipc@0.35.0 + sequoia-net@0.28.0 + sequoia-openpgp@1.20.0 + sequoia-policy-config@0.6.0 + sequoia-wot@0.12.0 + serde@1.0.203 + serde_derive@1.0.203 + serde_json@1.0.117 + serde_urlencoded@0.7.1 + serde_with@3.8.1 + serde_with_macros@3.8.1 + sha1collisiondetection@0.3.4 + sha2@0.10.8 + shellexpand@3.1.0 + shlex@1.3.0 + signal-hook-registry@1.4.2 + signature@2.2.0 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + spin@0.5.2 + spki@0.7.3 + stable_deref_trait@1.2.0 + stfu8@0.2.7 + streaming-stats@0.1.29 + string_cache@0.8.7 + strsim@0.11.1 + subtle@2.5.0 + syn@1.0.109 + syn@2.0.66 + sync_wrapper@0.1.2 + synstructure@0.13.1 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tar@0.4.41 + tempfile@3.10.1 + term@0.7.0 + thiserror-impl@1.0.61 + thiserror@1.0.61 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinystr@0.7.6 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + to_method@1.1.0 + tokio-macros@2.3.0 + tokio-native-tls@0.3.1 + tokio-socks@0.5.1 + tokio-util@0.7.11 + tokio@1.38.0 + toml@0.5.11 + toml_datetime@0.6.6 + toml_edit@0.21.1 + tower-service@0.3.2 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + try-lock@0.2.5 + typenum@1.17.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-xid@0.2.4 + universal-hash@0.5.1 + url@2.5.1 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + vcpkg@0.2.15 + version_check@0.9.4 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + widestring@1.1.0 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + 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-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winnow@0.5.40 + winreg@0.50.0 + write16@1.0.0 + writeable@0.5.5 + xxhash-rust@0.8.10 + yoke-derive@0.7.4 + yoke@0.7.4 + z-base-32@0.1.4 + zbase32@0.1.2 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zeroize@1.8.1 + zerovec-derive@0.10.2 + zerovec@0.10.2 +" + +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/" +SRC_URI=" + https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/archive/v${PV}/${P}-v${PV}.tar.bz2 + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}"/${PN}-v${PV}-ff7ef2c893283c6fcdeab971de19593c239d2f5f + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ LGPL-3+ MIT MPL-2.0 + Unicode-3.0 Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +# Still some issue to do with columns? +RESTRICT="test" + +DEPEND=" + dev-db/sqlite:3 + dev-libs/gmp:= + dev-libs/nettle:= + dev-libs/openssl:= +" +RDEPEND="${DEPEND}" +# Clang needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') +" + +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 + local -x REAL_GPGV_BIN="${BROOT}"/usr/bin/gpgv + + mkdir "${GNUPGHOME}" || die + chmod 700 "${GNUPGHOME}" || die + + xdg_environment_reset + RUST_BACKTRACE=full cargo_src_test -vv +} 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.ebuild deleted file mode 100644 index 48f2892554d8..000000000000 --- a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.0.ebuild +++ /dev/null @@ -1,447 +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.22.0 - adler@1.0.2 - aead@0.5.2 - aes-gcm@0.10.3 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anyhow@1.0.86 - ascii-canvas@3.0.0 - async-trait@0.1.80 - autocfg@1.3.0 - backtrace@0.3.73 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - bindgen@0.68.1 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - block-padding@0.3.3 - botan-sys@0.10.5 - botan@0.10.7 - buffered-reader@1.3.1 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.6.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - capnp-futures@0.19.0 - capnp-rpc@0.19.2 - capnp@0.19.6 - cc@1.0.99 - cexpr@0.6.0 - cfg-if@1.0.0 - chrono@0.4.38 - cipher@0.4.4 - clang-sys@1.8.1 - cmac@0.7.2 - const-oid@0.9.6 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crossbeam@0.8.4 - crunchy@0.2.2 - crypto-common@0.1.6 - ctor@0.2.8 - ctr@0.9.2 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.2 - daemonize@0.5.0 - darling@0.20.9 - darling_core@0.20.9 - darling_macro@0.20.9 - data-encoding@2.6.0 - dbl@0.3.2 - der@0.7.9 - deranged@0.3.11 - diff@0.1.13 - digest@0.10.7 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - dirs-sys@0.4.1 - dirs@5.0.1 - displaydoc@0.2.4 - doc-comment@0.3.3 - dyn-clone@1.0.17 - eax@0.5.0 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - editdistancek@1.0.2 - either@1.12.0 - embedded-io@0.6.1 - ena@0.14.3 - encoding_rs@0.8.34 - endian-type@0.1.2 - enum-as-inner@0.6.0 - enumber@0.3.1 - equivalent@1.0.1 - errno@0.3.9 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fastrand@2.1.0 - fd-lock@4.0.2 - fiat-crypto@0.2.9 - filetime@0.2.23 - fixedbitset@0.4.2 - flate2@1.0.30 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fs2@0.4.3 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - generic-array@0.14.7 - generic-array@1.0.0 - gethostname@0.4.3 - getrandom@0.2.15 - ghash@0.5.1 - gimli@0.29.0 - glob@0.3.1 - h2@0.3.26 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashlink@0.9.1 - heck@0.4.1 - hermit-abi@0.3.9 - hex@0.4.3 - hickory-client@0.24.1 - hickory-proto@0.24.1 - hickory-resolver@0.24.1 - histo@1.0.0 - hostname@0.3.1 - http-body@0.4.6 - http@0.2.12 - httparse@1.9.3 - httpdate@1.0.3 - hyper-tls@0.5.0 - hyper@0.14.29 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - icu_collections@1.5.0 - icu_locid@1.5.0 - icu_locid_transform@1.5.0 - icu_locid_transform_data@1.5.0 - icu_normalizer@1.5.0 - icu_normalizer_data@1.5.0 - icu_properties@1.5.0 - icu_properties_data@1.5.0 - icu_provider@1.5.0 - icu_provider_macros@1.5.0 - ident_case@1.0.1 - idna@0.4.0 - idna@0.5.0 - idna@1.0.0 - indexmap@1.9.3 - indexmap@2.2.6 - inout@0.1.3 - interprocess@1.2.1 - ipconfig@0.3.2 - ipnet@2.9.0 - itertools@0.11.0 - itoa@1.0.11 - js-sys@0.3.69 - lalrpop-util@0.20.2 - lalrpop@0.20.2 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.155 - libloading@0.8.3 - libm@0.2.8 - libredox@0.1.3 - libsqlite3-sys@0.28.0 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.14 - litemap@0.7.3 - lock_api@0.4.12 - log@0.4.21 - lru-cache@0.1.2 - match_cfg@0.1.0 - md-5@0.10.6 - memchr@2.7.4 - memsec@0.6.3 - memsec@0.7.0 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.7.3 - mio@0.8.11 - native-tls@0.2.12 - nettle-sys@2.3.0 - nettle@7.4.0 - new_debug_unreachable@1.0.6 - nibble_vec@0.1.0 - nom@7.1.3 - ntest@0.9.2 - ntest_test_cases@0.9.2 - ntest_timeout@0.9.2 - num-bigint-dig@0.8.4 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.45 - num-traits@0.2.19 - num_cpus@1.16.0 - object@0.36.0 - once_cell@1.19.0 - opaque-debug@0.3.1 - openpgp-cert-d@0.3.2 - openssh-keys@0.6.2 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.102 - openssl@0.10.64 - option-ext@0.2.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - peeking_take_while@0.1.2 - percent-encoding@2.3.1 - petgraph@0.6.5 - phf_shared@0.10.0 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkcs8@0.10.2 - pkg-config@0.3.30 - platforms@3.4.0 - polyval@0.6.2 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - proc-macro-crate@3.1.0 - proc-macro2@1.0.85 - quick-error@1.2.3 - quote@1.0.36 - radix_trie@0.2.1 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.2 - redox_users@0.4.5 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.5 - reqwest@0.11.27 - resolv-conf@0.7.0 - rpassword@7.3.1 - rtoolbox@0.0.2 - rusqlite@0.31.0 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - rustls-pemfile@1.0.4 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.23 - scopeguard@1.2.0 - security-framework-sys@2.11.0 - security-framework@2.11.0 - semver@1.0.23 - sequoia-cert-store@0.6.0 - sequoia-gpg-agent@0.4.1 - sequoia-ipc@0.35.0 - sequoia-net@0.28.0 - sequoia-openpgp@1.20.0 - sequoia-policy-config@0.6.0 - sequoia-wot@0.12.0 - serde@1.0.203 - serde_derive@1.0.203 - serde_json@1.0.117 - serde_urlencoded@0.7.1 - serde_with@3.8.1 - serde_with_macros@3.8.1 - sha1collisiondetection@0.3.4 - sha2@0.10.8 - shellexpand@3.1.0 - shlex@1.3.0 - signal-hook-registry@1.4.2 - signature@2.2.0 - siphasher@0.3.11 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.5.7 - spin@0.5.2 - spki@0.7.3 - stable_deref_trait@1.2.0 - stfu8@0.2.7 - streaming-stats@0.1.29 - string_cache@0.8.7 - strsim@0.11.1 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.66 - sync_wrapper@0.1.2 - synstructure@0.13.1 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tar@0.4.41 - tempfile@3.10.1 - term@0.7.0 - thiserror-impl@1.0.61 - thiserror@1.0.61 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinystr@0.7.6 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - to_method@1.1.0 - tokio-macros@2.3.0 - tokio-native-tls@0.3.1 - tokio-socks@0.5.1 - tokio-util@0.7.11 - tokio@1.38.0 - toml@0.5.11 - toml_datetime@0.6.6 - toml_edit@0.21.1 - tower-service@0.3.2 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - try-lock@0.2.5 - typenum@1.17.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-xid@0.2.4 - universal-hash@0.5.1 - url@2.5.1 - utf16_iter@1.0.5 - utf8_iter@1.0.4 - vcpkg@0.2.15 - version_check@0.9.4 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - widestring@1.1.0 - win-crypto-ng@0.5.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - 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-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winnow@0.5.40 - winreg@0.50.0 - write16@1.0.0 - writeable@0.5.5 - xxhash-rust@0.8.10 - yoke-derive@0.7.4 - yoke@0.7.4 - z-base-32@0.1.4 - zbase32@0.1.2 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zerofrom-derive@0.1.4 - zerofrom@0.1.4 - zeroize@1.8.1 - zerovec-derive@0.10.2 - zerovec@0.10.2 -" - -LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 xdg-utils - -DESCRIPTION="Sequoia's reimplementation of the GnuPG interface" -HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/" -SRC_URI=" - https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/archive/v${PV}/${P}-v${PV}.tar.bz2 - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}"/${PN}-v${PV}-ff7ef2c893283c6fcdeab971de19593c239d2f5f - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ LGPL-3+ MIT MPL-2.0 - Unicode-3.0 Unicode-DFS-2016 - || ( GPL-2 GPL-3 LGPL-3 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -# Still some issue to do with columns? -RESTRICT="test" - -DEPEND=" - dev-db/sqlite:3 - dev-libs/gmp:= - dev-libs/nettle:= - dev-libs/openssl:= -" -RDEPEND="${DEPEND}" -# Clang needed for bindgen -BDEPEND=" - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - >=virtual/rust-1.70 -" - -QA_FLAGS_IGNORED="usr/bin/gpg-sq usr/bin/gpgv-sq" - -src_test() { - local -x GNUPGHOME="${T}"/.gnupg - local -x REAL_GPG_BIN="${BROOT}"/usr/bin/gpg - local -x REAL_GPGV_BIN="${BROOT}"/usr/bin/gpgv - - mkdir "${GNUPGHOME}" || die - chmod 700 "${GNUPGHOME}" || die - - xdg_environment_reset - RUST_BACKTRACE=full cargo_src_test -vv -} diff --git a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.1-r1.ebuild b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.1-r1.ebuild new file mode 100644 index 000000000000..7fc3f4de8de3 --- /dev/null +++ b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.1-r1.ebuild @@ -0,0 +1,451 @@ +# 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.22.0 + adler@1.0.2 + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anyhow@1.0.86 + ascii-canvas@3.0.0 + async-trait@0.1.80 + autocfg@1.3.0 + backtrace@0.3.73 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + block-padding@0.3.3 + botan-sys@0.10.5 + botan@0.10.7 + buffered-reader@1.3.1 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.6.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + capnp-futures@0.19.0 + capnp-rpc@0.19.2 + capnp@0.19.6 + cc@1.0.101 + cexpr@0.6.0 + cfg-if@1.0.0 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.8.1 + cmac@0.7.2 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-common@0.1.6 + ctor@0.2.8 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.3 + daemonize@0.5.0 + darling@0.20.9 + darling_core@0.20.9 + darling_macro@0.20.9 + data-encoding@2.6.0 + dbl@0.3.2 + der@0.7.9 + deranged@0.3.11 + diff@0.1.13 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dirs-sys@0.4.1 + dirs@5.0.1 + displaydoc@0.2.5 + doc-comment@0.3.3 + dyn-clone@1.0.17 + eax@0.5.0 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + editdistancek@1.0.2 + either@1.13.0 + embedded-io@0.6.1 + ena@0.14.3 + encoding_rs@0.8.34 + endian-type@0.1.2 + enum-as-inner@0.6.0 + enumber@0.3.1 + equivalent@1.0.1 + errno@0.3.9 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fastrand@2.1.0 + fd-lock@4.0.2 + fiat-crypto@0.2.9 + filetime@0.2.23 + fixedbitset@0.4.2 + flate2@1.0.30 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fs2@0.4.3 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generic-array@0.14.7 + generic-array@1.0.0 + gethostname@0.4.3 + getrandom@0.2.15 + ghash@0.5.1 + gimli@0.29.0 + glob@0.3.1 + h2@0.3.26 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.9.1 + heck@0.4.1 + hermit-abi@0.3.9 + hex@0.4.3 + hickory-client@0.24.1 + hickory-proto@0.24.1 + hickory-resolver@0.24.1 + histo@1.0.0 + hostname@0.3.1 + http-body@0.4.6 + http@0.2.12 + httparse@1.9.4 + httpdate@1.0.3 + hyper-tls@0.5.0 + hyper@0.14.29 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + ident_case@1.0.1 + idna@0.4.0 + idna@0.5.0 + idna@1.0.1 + indexmap@1.9.3 + indexmap@2.2.6 + inout@0.1.3 + interprocess@1.2.1 + ipconfig@0.3.2 + ipnet@2.9.0 + itertools@0.11.0 + itoa@1.0.11 + js-sys@0.3.69 + lalrpop-util@0.20.2 + lalrpop@0.20.2 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.155 + libloading@0.8.4 + libm@0.2.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + litemap@0.7.3 + lock_api@0.4.12 + log@0.4.21 + lru-cache@0.1.2 + match_cfg@0.1.0 + md-5@0.10.6 + memchr@2.7.4 + memsec@0.7.0 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + mio@0.8.11 + native-tls@0.2.12 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nibble_vec@0.1.0 + nom@7.1.3 + ntest@0.9.3 + ntest_test_cases@0.9.3 + ntest_timeout@0.9.3 + num-bigint-dig@0.8.4 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.45 + num-traits@0.2.19 + num_cpus@1.16.0 + object@0.36.0 + once_cell@1.19.0 + opaque-debug@0.3.1 + openpgp-cert-d@0.3.2 + openssh-keys@0.6.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.102 + openssl@0.10.64 + option-ext@0.2.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + peeking_take_while@0.1.2 + percent-encoding@2.3.1 + petgraph@0.6.5 + phf_shared@0.10.0 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkcs8@0.10.2 + pkg-config@0.3.30 + polyval@0.6.2 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + proc-macro-crate@3.1.0 + proc-macro2@1.0.86 + quick-error@1.2.3 + quote@1.0.36 + radix_trie@0.2.1 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.2 + redox_users@0.4.5 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + reqwest@0.11.27 + resolv-conf@0.7.0 + rpassword@7.3.1 + rtoolbox@0.0.2 + rusqlite@0.31.0 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + rustls-pemfile@1.0.4 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.23 + scopeguard@1.2.0 + security-framework-sys@2.11.0 + security-framework@2.11.0 + semver@1.0.23 + sequoia-cert-store@0.6.0 + sequoia-gpg-agent@0.4.2 + sequoia-ipc@0.35.0 + sequoia-net@0.28.0 + sequoia-openpgp@1.21.0 + sequoia-policy-config@0.6.0 + sequoia-wot@0.12.0 + serde@1.0.203 + serde_derive@1.0.203 + serde_json@1.0.118 + serde_urlencoded@0.7.1 + serde_with@3.8.1 + serde_with_macros@3.8.1 + sha1collisiondetection@0.3.4 + sha2@0.10.8 + shellexpand@3.1.0 + shlex@1.3.0 + signal-hook-registry@1.4.2 + signature@2.2.0 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + spin@0.9.8 + spki@0.7.3 + stable_deref_trait@1.2.0 + stfu8@0.2.7 + streaming-stats@0.1.29 + string_cache@0.8.7 + strsim@0.11.1 + subtle@2.6.1 + syn@1.0.109 + syn@2.0.68 + sync_wrapper@0.1.2 + synstructure@0.13.1 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tar@0.4.41 + tempfile@3.10.1 + term@0.7.0 + thiserror-impl@1.0.61 + thiserror@1.0.61 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinystr@0.7.6 + tinyvec@1.6.1 + tinyvec_macros@0.1.1 + to_method@1.1.0 + tokio-macros@2.3.0 + tokio-native-tls@0.3.1 + tokio-socks@0.5.1 + tokio-util@0.7.11 + tokio@1.38.0 + toml@0.5.11 + toml_datetime@0.6.6 + toml_edit@0.21.1 + tower-service@0.3.2 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + try-lock@0.2.5 + typenum@1.17.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-xid@0.2.4 + universal-hash@0.5.1 + url@2.5.2 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + vcpkg@0.2.15 + version_check@0.9.4 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + widestring@1.1.0 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + 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-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winnow@0.5.40 + winreg@0.50.0 + write16@1.0.0 + writeable@0.5.5 + xxhash-rust@0.8.10 + yoke-derive@0.7.4 + yoke@0.7.4 + z-base-32@0.1.4 + zbase32@0.1.2 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zeroize@1.8.1 + zerovec-derive@0.10.3 + zerovec@0.10.3 +" + +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/" +SRC_URI=" + https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/archive/v${PV}/${P}-v${PV}.tar.bz2 + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}"/${PN}-v${PV}-802e7946793c8ead4acc70686f4b667b7e519c31 + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ LGPL-3+ MIT MPL-2.0 + Unicode-3.0 Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +# Still some issue to do with columns? +RESTRICT="test" + +DEPEND=" + dev-db/sqlite:3 + dev-libs/gmp:= + dev-libs/nettle:= + dev-libs/openssl:= +" +RDEPEND="${DEPEND}" +# Clang needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') +" + +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 + local -x REAL_GPGV_BIN="${BROOT}"/usr/bin/gpgv + + mkdir "${GNUPGHOME}" || die + chmod 700 "${GNUPGHOME}" || die + + xdg_environment_reset + RUST_BACKTRACE=full cargo_src_test -vv +} 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.ebuild deleted file mode 100644 index c9deedb94c85..000000000000 --- a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.10.1.ebuild +++ /dev/null @@ -1,445 +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.22.0 - adler@1.0.2 - aead@0.5.2 - aes-gcm@0.10.3 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anyhow@1.0.86 - ascii-canvas@3.0.0 - async-trait@0.1.80 - autocfg@1.3.0 - backtrace@0.3.73 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - bindgen@0.68.1 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - block-padding@0.3.3 - botan-sys@0.10.5 - botan@0.10.7 - buffered-reader@1.3.1 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.6.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - capnp-futures@0.19.0 - capnp-rpc@0.19.2 - capnp@0.19.6 - cc@1.0.101 - cexpr@0.6.0 - cfg-if@1.0.0 - chrono@0.4.38 - cipher@0.4.4 - clang-sys@1.8.1 - cmac@0.7.2 - const-oid@0.9.6 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crossbeam@0.8.4 - crunchy@0.2.2 - crypto-common@0.1.6 - ctor@0.2.8 - ctr@0.9.2 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.3 - daemonize@0.5.0 - darling@0.20.9 - darling_core@0.20.9 - darling_macro@0.20.9 - data-encoding@2.6.0 - dbl@0.3.2 - der@0.7.9 - deranged@0.3.11 - diff@0.1.13 - digest@0.10.7 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - dirs-sys@0.4.1 - dirs@5.0.1 - displaydoc@0.2.5 - doc-comment@0.3.3 - dyn-clone@1.0.17 - eax@0.5.0 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - editdistancek@1.0.2 - either@1.13.0 - embedded-io@0.6.1 - ena@0.14.3 - encoding_rs@0.8.34 - endian-type@0.1.2 - enum-as-inner@0.6.0 - enumber@0.3.1 - equivalent@1.0.1 - errno@0.3.9 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fastrand@2.1.0 - fd-lock@4.0.2 - fiat-crypto@0.2.9 - filetime@0.2.23 - fixedbitset@0.4.2 - flate2@1.0.30 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fs2@0.4.3 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - generic-array@0.14.7 - generic-array@1.0.0 - gethostname@0.4.3 - getrandom@0.2.15 - ghash@0.5.1 - gimli@0.29.0 - glob@0.3.1 - h2@0.3.26 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashlink@0.9.1 - heck@0.4.1 - hermit-abi@0.3.9 - hex@0.4.3 - hickory-client@0.24.1 - hickory-proto@0.24.1 - hickory-resolver@0.24.1 - histo@1.0.0 - hostname@0.3.1 - http-body@0.4.6 - http@0.2.12 - httparse@1.9.4 - httpdate@1.0.3 - hyper-tls@0.5.0 - hyper@0.14.29 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - icu_collections@1.5.0 - icu_locid@1.5.0 - icu_locid_transform@1.5.0 - icu_locid_transform_data@1.5.0 - icu_normalizer@1.5.0 - icu_normalizer_data@1.5.0 - icu_properties@1.5.1 - icu_properties_data@1.5.0 - icu_provider@1.5.0 - icu_provider_macros@1.5.0 - ident_case@1.0.1 - idna@0.4.0 - idna@0.5.0 - idna@1.0.1 - indexmap@1.9.3 - indexmap@2.2.6 - inout@0.1.3 - interprocess@1.2.1 - ipconfig@0.3.2 - ipnet@2.9.0 - itertools@0.11.0 - itoa@1.0.11 - js-sys@0.3.69 - lalrpop-util@0.20.2 - lalrpop@0.20.2 - lazy_static@1.5.0 - lazycell@1.3.0 - libc@0.2.155 - libloading@0.8.4 - libm@0.2.8 - libredox@0.1.3 - libsqlite3-sys@0.28.0 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.14 - litemap@0.7.3 - lock_api@0.4.12 - log@0.4.21 - lru-cache@0.1.2 - match_cfg@0.1.0 - md-5@0.10.6 - memchr@2.7.4 - memsec@0.7.0 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.7.4 - mio@0.8.11 - native-tls@0.2.12 - nettle-sys@2.3.0 - nettle@7.4.0 - new_debug_unreachable@1.0.6 - nibble_vec@0.1.0 - nom@7.1.3 - ntest@0.9.3 - ntest_test_cases@0.9.3 - ntest_timeout@0.9.3 - num-bigint-dig@0.8.4 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.45 - num-traits@0.2.19 - num_cpus@1.16.0 - object@0.36.0 - once_cell@1.19.0 - opaque-debug@0.3.1 - openpgp-cert-d@0.3.2 - openssh-keys@0.6.2 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.102 - openssl@0.10.64 - option-ext@0.2.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - peeking_take_while@0.1.2 - percent-encoding@2.3.1 - petgraph@0.6.5 - phf_shared@0.10.0 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkcs8@0.10.2 - pkg-config@0.3.30 - polyval@0.6.2 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - proc-macro-crate@3.1.0 - proc-macro2@1.0.86 - quick-error@1.2.3 - quote@1.0.36 - radix_trie@0.2.1 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.2 - redox_users@0.4.5 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.5 - reqwest@0.11.27 - resolv-conf@0.7.0 - rpassword@7.3.1 - rtoolbox@0.0.2 - rusqlite@0.31.0 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - rustls-pemfile@1.0.4 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.23 - scopeguard@1.2.0 - security-framework-sys@2.11.0 - security-framework@2.11.0 - semver@1.0.23 - sequoia-cert-store@0.6.0 - sequoia-gpg-agent@0.4.2 - sequoia-ipc@0.35.0 - sequoia-net@0.28.0 - sequoia-openpgp@1.21.0 - sequoia-policy-config@0.6.0 - sequoia-wot@0.12.0 - serde@1.0.203 - serde_derive@1.0.203 - serde_json@1.0.118 - serde_urlencoded@0.7.1 - serde_with@3.8.1 - serde_with_macros@3.8.1 - sha1collisiondetection@0.3.4 - sha2@0.10.8 - shellexpand@3.1.0 - shlex@1.3.0 - signal-hook-registry@1.4.2 - signature@2.2.0 - siphasher@0.3.11 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.5.7 - spin@0.9.8 - spki@0.7.3 - stable_deref_trait@1.2.0 - stfu8@0.2.7 - streaming-stats@0.1.29 - string_cache@0.8.7 - strsim@0.11.1 - subtle@2.6.1 - syn@1.0.109 - syn@2.0.68 - sync_wrapper@0.1.2 - synstructure@0.13.1 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tar@0.4.41 - tempfile@3.10.1 - term@0.7.0 - thiserror-impl@1.0.61 - thiserror@1.0.61 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinystr@0.7.6 - tinyvec@1.6.1 - tinyvec_macros@0.1.1 - to_method@1.1.0 - tokio-macros@2.3.0 - tokio-native-tls@0.3.1 - tokio-socks@0.5.1 - tokio-util@0.7.11 - tokio@1.38.0 - toml@0.5.11 - toml_datetime@0.6.6 - toml_edit@0.21.1 - tower-service@0.3.2 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - try-lock@0.2.5 - typenum@1.17.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-xid@0.2.4 - universal-hash@0.5.1 - url@2.5.2 - utf16_iter@1.0.5 - utf8_iter@1.0.4 - vcpkg@0.2.15 - version_check@0.9.4 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - widestring@1.1.0 - win-crypto-ng@0.5.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - 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-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winnow@0.5.40 - winreg@0.50.0 - write16@1.0.0 - writeable@0.5.5 - xxhash-rust@0.8.10 - yoke-derive@0.7.4 - yoke@0.7.4 - z-base-32@0.1.4 - zbase32@0.1.2 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zerofrom-derive@0.1.4 - zerofrom@0.1.4 - zeroize@1.8.1 - zerovec-derive@0.10.3 - zerovec@0.10.3 -" - -LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 xdg-utils - -DESCRIPTION="Sequoia's reimplementation of the GnuPG interface" -HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/" -SRC_URI=" - https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/archive/v${PV}/${P}-v${PV}.tar.bz2 - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}"/${PN}-v${PV}-802e7946793c8ead4acc70686f4b667b7e519c31 - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ LGPL-3+ MIT MPL-2.0 - Unicode-3.0 Unicode-DFS-2016 - || ( GPL-2 GPL-3 LGPL-3 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -# Still some issue to do with columns? -RESTRICT="test" - -DEPEND=" - dev-db/sqlite:3 - dev-libs/gmp:= - dev-libs/nettle:= - dev-libs/openssl:= -" -RDEPEND="${DEPEND}" -# Clang needed for bindgen -BDEPEND=" - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - >=virtual/rust-1.70 -" - -QA_FLAGS_IGNORED="usr/bin/gpg-sq usr/bin/gpgv-sq" - -src_test() { - local -x GNUPGHOME="${T}"/.gnupg - local -x REAL_GPG_BIN="${BROOT}"/usr/bin/gpg - local -x REAL_GPGV_BIN="${BROOT}"/usr/bin/gpgv - - mkdir "${GNUPGHOME}" || die - chmod 700 "${GNUPGHOME}" || die - - xdg_environment_reset - RUST_BACKTRACE=full cargo_src_test -vv -} diff --git a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.8.0-r1.ebuild b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.8.0-r1.ebuild new file mode 100644 index 000000000000..b38f75ac05fc --- /dev/null +++ b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.8.0-r1.ebuild @@ -0,0 +1,424 @@ +# 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.21.0 + adler@1.0.2 + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.16 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anyhow@1.0.81 + ascii-canvas@3.0.0 + async-trait@0.1.79 + autocfg@1.2.0 + backtrace@0.3.71 + base64@0.21.7 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + block-padding@0.3.3 + botan-sys@0.10.5 + botan@0.10.7 + buffered-reader@1.3.0 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.6.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + capnp-futures@0.19.0 + capnp-rpc@0.19.0 + capnp@0.19.3 + cc@1.0.92 + cexpr@0.6.0 + cfg-if@1.0.0 + chrono@0.4.37 + cipher@0.4.4 + clang-sys@1.7.0 + cmac@0.7.2 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.4.0 + crossbeam-channel@0.5.12 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-common@0.1.6 + ctor@0.2.7 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.2 + daemonize@0.5.0 + darling@0.20.8 + darling_core@0.20.8 + darling_macro@0.20.8 + data-encoding@2.5.0 + dbl@0.3.2 + der@0.7.9 + deranged@0.3.11 + diff@0.1.13 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dirs-sys@0.4.1 + dirs@5.0.1 + doc-comment@0.3.3 + dyn-clone@1.0.17 + eax@0.5.0 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + editdistancek@1.0.2 + either@1.10.0 + embedded-io@0.6.1 + ena@0.14.2 + encoding_rs@0.8.33 + endian-type@0.1.2 + enum-as-inner@0.6.0 + enumber@0.3.0 + equivalent@1.0.1 + errno@0.3.8 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fastrand@2.0.2 + fd-lock@4.0.2 + fiat-crypto@0.2.7 + filetime@0.2.23 + fixedbitset@0.4.2 + flate2@1.0.28 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fs2@0.4.3 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generic-array@0.14.7 + generic-array@1.0.0 + gethostname@0.4.3 + getrandom@0.2.14 + ghash@0.5.1 + gimli@0.28.1 + glob@0.3.1 + h2@0.3.26 + hashbrown@0.12.3 + hashbrown@0.14.3 + hashlink@0.9.0 + heck@0.4.1 + hermit-abi@0.3.9 + hex@0.4.3 + hickory-client@0.24.0 + hickory-proto@0.24.0 + hickory-resolver@0.24.0 + histo@1.0.0 + hostname@0.3.1 + http-body@0.4.6 + http@0.2.12 + httparse@1.8.0 + httpdate@1.0.3 + hyper-tls@0.5.0 + hyper@0.14.28 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + idna@0.4.0 + idna@0.5.0 + indexmap@1.9.3 + indexmap@2.2.6 + inout@0.1.3 + interprocess@1.2.1 + ipconfig@0.3.2 + ipnet@2.9.0 + itertools@0.11.0 + itoa@1.0.11 + js-sys@0.3.69 + lalrpop-util@0.20.2 + lalrpop@0.20.2 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.153 + libloading@0.8.3 + libm@0.2.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.13 + lock_api@0.4.11 + log@0.4.21 + lru-cache@0.1.2 + match_cfg@0.1.0 + md-5@0.10.6 + memchr@2.7.2 + memsec@0.6.3 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + mio@0.8.11 + native-tls@0.2.11 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nibble_vec@0.1.0 + nom@7.1.3 + ntest@0.9.2 + ntest_test_cases@0.9.2 + ntest_timeout@0.9.2 + num-bigint-dig@0.8.4 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.44 + num-traits@0.2.18 + num_cpus@1.16.0 + object@0.32.2 + once_cell@1.19.0 + opaque-debug@0.3.1 + openpgp-cert-d@0.3.2 + openssh-keys@0.6.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.102 + openssl@0.10.64 + option-ext@0.2.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + peeking_take_while@0.1.2 + percent-encoding@2.3.1 + petgraph@0.6.4 + phf_shared@0.10.0 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkcs8@0.10.2 + pkg-config@0.3.30 + platforms@3.4.0 + polyval@0.6.2 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + proc-macro-crate@3.1.0 + proc-macro2@1.0.79 + quick-error@1.2.3 + quote@1.0.35 + radix_trie@0.2.1 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_users@0.4.5 + regex-automata@0.4.6 + regex-syntax@0.8.3 + regex@1.10.4 + reqwest@0.11.27 + resolv-conf@0.7.0 + rpassword@7.3.1 + rtoolbox@0.0.2 + rusqlite@0.31.0 + rustc-demangle@0.1.23 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.32 + rustls-pemfile@1.0.4 + rustversion@1.0.15 + ryu@1.0.17 + same-file@1.0.6 + schannel@0.1.23 + scopeguard@1.2.0 + security-framework-sys@2.10.0 + security-framework@2.10.0 + semver@1.0.22 + sequoia-cert-store@0.5.1 + sequoia-gpg-agent@0.3.1 + sequoia-ipc@0.34.1 + sequoia-net@0.28.0 + sequoia-openpgp@1.19.0 + sequoia-policy-config@0.6.0 + sequoia-wot@0.11.0 + serde@1.0.197 + serde_derive@1.0.197 + serde_json@1.0.115 + serde_urlencoded@0.7.1 + serde_with@3.7.0 + serde_with_macros@3.7.0 + sha1collisiondetection@0.3.4 + sha2@0.10.8 + shellexpand@3.1.0 + shlex@1.3.0 + signal-hook-registry@1.4.1 + signature@2.2.0 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.6 + spin@0.5.2 + spki@0.7.3 + stfu8@0.2.7 + streaming-stats@0.1.29 + string_cache@0.8.7 + strsim@0.10.0 + subtle@2.5.0 + syn@1.0.109 + syn@2.0.58 + sync_wrapper@0.1.2 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tar@0.4.40 + tempfile@3.10.1 + term@0.7.0 + thiserror-impl@1.0.58 + thiserror@1.0.58 + time-core@0.1.2 + time-macros@0.2.17 + time@0.3.34 + tiny-keccak@2.0.2 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + to_method@1.1.0 + tokio-macros@2.2.0 + tokio-native-tls@0.3.1 + tokio-socks@0.5.1 + tokio-util@0.7.10 + tokio@1.37.0 + toml@0.5.11 + toml_datetime@0.6.5 + toml_edit@0.21.1 + tower-service@0.3.2 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + try-lock@0.2.5 + typenum@1.17.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-xid@0.2.4 + universal-hash@0.5.1 + url@2.5.0 + vcpkg@0.2.15 + version_check@0.9.4 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + widestring@1.1.0 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + 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-targets@0.48.5 + windows-targets@0.52.4 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.4 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.4 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.4 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.4 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.4 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.4 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.4 + winnow@0.5.40 + winreg@0.50.0 + xxhash-rust@0.8.10 + z-base-32@0.1.4 + zbase32@0.1.2 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 + zeroize@1.7.0 +" + +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/" +SRC_URI=" + https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/archive/v${PV}/${P}-v${PV}.tar.bz2 + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}"/${PN}-v${PV}-ef91231624ede121c9b112eb9b94107fca1aa71b + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ LGPL-3+ MIT MPL-2.0 + Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +# Still some issue to do with columns? +RESTRICT="test" + +DEPEND=" + dev-db/sqlite:3 + dev-libs/gmp:= + dev-libs/nettle:= + dev-libs/openssl:= +" +RDEPEND="${DEPEND}" +# Clang needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') +" + +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 + local -x REAL_GPGV_BIN="${BROOT}"/usr/bin/gpgv + + mkdir "${GNUPGHOME}" || die + chmod 700 "${GNUPGHOME}" || die + + xdg_environment_reset + RUST_BACKTRACE=full cargo_src_test -vv +} 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.ebuild deleted file mode 100644 index b76dcfd07db1..000000000000 --- a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.8.0.ebuild +++ /dev/null @@ -1,418 +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.21.0 - adler@1.0.2 - aead@0.5.2 - aes-gcm@0.10.3 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.16 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anyhow@1.0.81 - ascii-canvas@3.0.0 - async-trait@0.1.79 - autocfg@1.2.0 - backtrace@0.3.71 - base64@0.21.7 - base64ct@1.6.0 - bindgen@0.68.1 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - block-padding@0.3.3 - botan-sys@0.10.5 - botan@0.10.7 - buffered-reader@1.3.0 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.6.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - capnp-futures@0.19.0 - capnp-rpc@0.19.0 - capnp@0.19.3 - cc@1.0.92 - cexpr@0.6.0 - cfg-if@1.0.0 - chrono@0.4.37 - cipher@0.4.4 - clang-sys@1.7.0 - cmac@0.7.2 - const-oid@0.9.6 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.4.0 - crossbeam-channel@0.5.12 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.19 - crossbeam@0.8.4 - crunchy@0.2.2 - crypto-common@0.1.6 - ctor@0.2.7 - ctr@0.9.2 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.2 - daemonize@0.5.0 - darling@0.20.8 - darling_core@0.20.8 - darling_macro@0.20.8 - data-encoding@2.5.0 - dbl@0.3.2 - der@0.7.9 - deranged@0.3.11 - diff@0.1.13 - digest@0.10.7 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - dirs-sys@0.4.1 - dirs@5.0.1 - doc-comment@0.3.3 - dyn-clone@1.0.17 - eax@0.5.0 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - editdistancek@1.0.2 - either@1.10.0 - embedded-io@0.6.1 - ena@0.14.2 - encoding_rs@0.8.33 - endian-type@0.1.2 - enum-as-inner@0.6.0 - enumber@0.3.0 - equivalent@1.0.1 - errno@0.3.8 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fastrand@2.0.2 - fd-lock@4.0.2 - fiat-crypto@0.2.7 - filetime@0.2.23 - fixedbitset@0.4.2 - flate2@1.0.28 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fs2@0.4.3 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - generic-array@0.14.7 - generic-array@1.0.0 - gethostname@0.4.3 - getrandom@0.2.14 - ghash@0.5.1 - gimli@0.28.1 - glob@0.3.1 - h2@0.3.26 - hashbrown@0.12.3 - hashbrown@0.14.3 - hashlink@0.9.0 - heck@0.4.1 - hermit-abi@0.3.9 - hex@0.4.3 - hickory-client@0.24.0 - hickory-proto@0.24.0 - hickory-resolver@0.24.0 - histo@1.0.0 - hostname@0.3.1 - http-body@0.4.6 - http@0.2.12 - httparse@1.8.0 - httpdate@1.0.3 - hyper-tls@0.5.0 - hyper@0.14.28 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - idna@0.4.0 - idna@0.5.0 - indexmap@1.9.3 - indexmap@2.2.6 - inout@0.1.3 - interprocess@1.2.1 - ipconfig@0.3.2 - ipnet@2.9.0 - itertools@0.11.0 - itoa@1.0.11 - js-sys@0.3.69 - lalrpop-util@0.20.2 - lalrpop@0.20.2 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.153 - libloading@0.8.3 - libm@0.2.8 - libredox@0.1.3 - libsqlite3-sys@0.28.0 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.13 - lock_api@0.4.11 - log@0.4.21 - lru-cache@0.1.2 - match_cfg@0.1.0 - md-5@0.10.6 - memchr@2.7.2 - memsec@0.6.3 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - mio@0.8.11 - native-tls@0.2.11 - nettle-sys@2.3.0 - nettle@7.4.0 - new_debug_unreachable@1.0.6 - nibble_vec@0.1.0 - nom@7.1.3 - ntest@0.9.2 - ntest_test_cases@0.9.2 - ntest_timeout@0.9.2 - num-bigint-dig@0.8.4 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.44 - num-traits@0.2.18 - num_cpus@1.16.0 - object@0.32.2 - once_cell@1.19.0 - opaque-debug@0.3.1 - openpgp-cert-d@0.3.2 - openssh-keys@0.6.2 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.102 - openssl@0.10.64 - option-ext@0.2.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - peeking_take_while@0.1.2 - percent-encoding@2.3.1 - petgraph@0.6.4 - phf_shared@0.10.0 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkcs8@0.10.2 - pkg-config@0.3.30 - platforms@3.4.0 - polyval@0.6.2 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - proc-macro-crate@3.1.0 - proc-macro2@1.0.79 - quick-error@1.2.3 - quote@1.0.35 - radix_trie@0.2.1 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_users@0.4.5 - regex-automata@0.4.6 - regex-syntax@0.8.3 - regex@1.10.4 - reqwest@0.11.27 - resolv-conf@0.7.0 - rpassword@7.3.1 - rtoolbox@0.0.2 - rusqlite@0.31.0 - rustc-demangle@0.1.23 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.32 - rustls-pemfile@1.0.4 - rustversion@1.0.15 - ryu@1.0.17 - same-file@1.0.6 - schannel@0.1.23 - scopeguard@1.2.0 - security-framework-sys@2.10.0 - security-framework@2.10.0 - semver@1.0.22 - sequoia-cert-store@0.5.1 - sequoia-gpg-agent@0.3.1 - sequoia-ipc@0.34.1 - sequoia-net@0.28.0 - sequoia-openpgp@1.19.0 - sequoia-policy-config@0.6.0 - sequoia-wot@0.11.0 - serde@1.0.197 - serde_derive@1.0.197 - serde_json@1.0.115 - serde_urlencoded@0.7.1 - serde_with@3.7.0 - serde_with_macros@3.7.0 - sha1collisiondetection@0.3.4 - sha2@0.10.8 - shellexpand@3.1.0 - shlex@1.3.0 - signal-hook-registry@1.4.1 - signature@2.2.0 - siphasher@0.3.11 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.5.6 - spin@0.5.2 - spki@0.7.3 - stfu8@0.2.7 - streaming-stats@0.1.29 - string_cache@0.8.7 - strsim@0.10.0 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.58 - sync_wrapper@0.1.2 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tar@0.4.40 - tempfile@3.10.1 - term@0.7.0 - thiserror-impl@1.0.58 - thiserror@1.0.58 - time-core@0.1.2 - time-macros@0.2.17 - time@0.3.34 - tiny-keccak@2.0.2 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - to_method@1.1.0 - tokio-macros@2.2.0 - tokio-native-tls@0.3.1 - tokio-socks@0.5.1 - tokio-util@0.7.10 - tokio@1.37.0 - toml@0.5.11 - toml_datetime@0.6.5 - toml_edit@0.21.1 - tower-service@0.3.2 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - try-lock@0.2.5 - typenum@1.17.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-xid@0.2.4 - universal-hash@0.5.1 - url@2.5.0 - vcpkg@0.2.15 - version_check@0.9.4 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - widestring@1.1.0 - win-crypto-ng@0.5.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - 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-targets@0.48.5 - windows-targets@0.52.4 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.4 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.4 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.4 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.4 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.4 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.4 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.4 - winnow@0.5.40 - winreg@0.50.0 - xxhash-rust@0.8.10 - z-base-32@0.1.4 - zbase32@0.1.2 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 - zeroize@1.7.0 -" - -LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 xdg-utils - -DESCRIPTION="Sequoia's reimplementation of the GnuPG interface" -HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/" -SRC_URI=" - https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/archive/v${PV}/${P}-v${PV}.tar.bz2 - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}"/${PN}-v${PV}-ef91231624ede121c9b112eb9b94107fca1aa71b - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ LGPL-3+ MIT MPL-2.0 - Unicode-DFS-2016 - || ( GPL-2 GPL-3 LGPL-3 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -# Still some issue to do with columns? -RESTRICT="test" - -DEPEND=" - dev-db/sqlite:3 - dev-libs/gmp:= - dev-libs/nettle:= - dev-libs/openssl:= -" -RDEPEND="${DEPEND}" -# Clang needed for bindgen -BDEPEND=" - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - >=virtual/rust-1.70 -" - -QA_FLAGS_IGNORED="usr/bin/gpg-sq usr/bin/gpgv-sq" - -src_test() { - local -x GNUPGHOME="${T}"/.gnupg - local -x REAL_GPG_BIN="${BROOT}"/usr/bin/gpg - local -x REAL_GPGV_BIN="${BROOT}"/usr/bin/gpgv - - mkdir "${GNUPGHOME}" || die - chmod 700 "${GNUPGHOME}" || die - - xdg_environment_reset - RUST_BACKTRACE=full cargo_src_test -vv -} diff --git a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.9.0-r1.ebuild b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.9.0-r1.ebuild new file mode 100644 index 000000000000..0e53cf510e24 --- /dev/null +++ b/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.9.0-r1.ebuild @@ -0,0 +1,427 @@ +# 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.21.0 + adler@1.0.2 + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anyhow@1.0.83 + ascii-canvas@3.0.0 + async-trait@0.1.80 + autocfg@1.3.0 + backtrace@0.3.71 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + block-padding@0.3.3 + botan-sys@0.10.5 + botan@0.10.7 + buffered-reader@1.3.1 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.6.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + capnp-futures@0.19.0 + capnp-rpc@0.19.0 + capnp@0.19.3 + cc@1.0.97 + cexpr@0.6.0 + cfg-if@1.0.0 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.7.0 + cmac@0.7.2 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.4.0 + crossbeam-channel@0.5.12 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-common@0.1.6 + ctor@0.2.8 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.2 + daemonize@0.5.0 + darling@0.20.8 + darling_core@0.20.8 + darling_macro@0.20.8 + data-encoding@2.6.0 + dbl@0.3.2 + der@0.7.9 + deranged@0.3.11 + diff@0.1.13 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dirs-sys@0.4.1 + dirs@5.0.1 + doc-comment@0.3.3 + dyn-clone@1.0.17 + eax@0.5.0 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + editdistancek@1.0.2 + either@1.11.0 + embedded-io@0.6.1 + ena@0.14.3 + encoding_rs@0.8.34 + endian-type@0.1.2 + enum-as-inner@0.6.0 + enumber@0.3.1 + equivalent@1.0.1 + errno@0.3.8 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fastrand@2.1.0 + fd-lock@4.0.2 + fiat-crypto@0.2.8 + filetime@0.2.23 + fixedbitset@0.4.2 + flate2@1.0.30 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fs2@0.4.3 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generic-array@0.14.7 + generic-array@1.0.0 + gethostname@0.4.3 + getrandom@0.2.15 + ghash@0.5.1 + gimli@0.28.1 + glob@0.3.1 + h2@0.3.26 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.9.0 + heck@0.4.1 + hermit-abi@0.3.9 + hex@0.4.3 + hickory-client@0.24.1 + hickory-proto@0.24.1 + hickory-resolver@0.24.1 + histo@1.0.0 + hostname@0.3.1 + http-body@0.4.6 + http@0.2.12 + httparse@1.8.0 + httpdate@1.0.3 + hyper-tls@0.5.0 + hyper@0.14.28 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + idna@0.4.0 + idna@0.5.0 + indexmap@1.9.3 + indexmap@2.2.6 + inout@0.1.3 + interprocess@1.2.1 + ipconfig@0.3.2 + ipnet@2.9.0 + itertools@0.11.0 + itoa@1.0.11 + js-sys@0.3.69 + lalrpop-util@0.20.2 + lalrpop@0.20.2 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.154 + libloading@0.8.3 + libm@0.2.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.13 + lock_api@0.4.12 + log@0.4.21 + lru-cache@0.1.2 + match_cfg@0.1.0 + md-5@0.10.6 + memchr@2.7.2 + memsec@0.6.3 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + mio@0.8.11 + native-tls@0.2.11 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nibble_vec@0.1.0 + nom@7.1.3 + ntest@0.9.2 + ntest_test_cases@0.9.2 + ntest_timeout@0.9.2 + num-bigint-dig@0.8.4 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.45 + num-traits@0.2.19 + num_cpus@1.16.0 + object@0.32.2 + once_cell@1.19.0 + opaque-debug@0.3.1 + openpgp-cert-d@0.3.2 + openssh-keys@0.6.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.102 + openssl@0.10.64 + option-ext@0.2.0 + parking_lot@0.12.2 + parking_lot_core@0.9.10 + peeking_take_while@0.1.2 + percent-encoding@2.3.1 + petgraph@0.6.4 + phf_shared@0.10.0 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkcs8@0.10.2 + pkg-config@0.3.30 + platforms@3.4.0 + polyval@0.6.2 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + proc-macro-crate@3.1.0 + proc-macro2@1.0.82 + quick-error@1.2.3 + quote@1.0.36 + radix_trie@0.2.1 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.1 + redox_users@0.4.5 + regex-automata@0.4.6 + regex-syntax@0.8.3 + regex@1.10.4 + reqwest@0.11.27 + resolv-conf@0.7.0 + rpassword@7.3.1 + rtoolbox@0.0.2 + rusqlite@0.31.0 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + rustls-pemfile@1.0.4 + rustversion@1.0.16 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.23 + scopeguard@1.2.0 + security-framework-sys@2.11.0 + security-framework@2.11.0 + semver@1.0.23 + sequoia-cert-store@0.5.3 + sequoia-gpg-agent@0.3.1 + sequoia-ipc@0.34.1 + sequoia-net@0.28.0 + sequoia-openpgp@1.20.0 + sequoia-policy-config@0.6.0 + sequoia-wot@0.11.0 + serde@1.0.200 + serde_derive@1.0.200 + serde_json@1.0.116 + serde_urlencoded@0.7.1 + serde_with@3.8.1 + serde_with_macros@3.8.1 + sha1collisiondetection@0.3.4 + sha2@0.10.8 + shellexpand@3.1.0 + shlex@1.3.0 + signal-hook-registry@1.4.2 + signature@2.2.0 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + spin@0.5.2 + spki@0.7.3 + stfu8@0.2.7 + streaming-stats@0.1.29 + string_cache@0.8.7 + strsim@0.10.0 + subtle@2.5.0 + syn@1.0.109 + syn@2.0.61 + sync_wrapper@0.1.2 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tar@0.4.40 + tempfile@3.10.1 + term@0.7.0 + thiserror-impl@1.0.60 + thiserror@1.0.60 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + to_method@1.1.0 + tokio-macros@2.2.0 + tokio-native-tls@0.3.1 + tokio-socks@0.5.1 + tokio-util@0.7.11 + tokio@1.37.0 + toml@0.5.11 + toml_datetime@0.6.5 + toml_edit@0.21.1 + tower-service@0.3.2 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + try-lock@0.2.5 + typenum@1.17.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-xid@0.2.4 + universal-hash@0.5.1 + url@2.5.0 + vcpkg@0.2.15 + version_check@0.9.4 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + widestring@1.1.0 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + 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-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winnow@0.5.40 + winreg@0.50.0 + xxhash-rust@0.8.10 + z-base-32@0.1.4 + zbase32@0.1.2 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zeroize@1.7.0 +" + +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/" +SRC_URI=" + https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/archive/v${PV}/${P}-v${PV}.tar.bz2 + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}"/${PN}-v${PV}-81b95c7807d13a8adef5277ae840ca7ed73c02c0 + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ LGPL-3+ MIT MPL-2.0 + Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +# Still some issue to do with columns? +RESTRICT="test" + +DEPEND=" + dev-db/sqlite:3 + dev-libs/gmp:= + dev-libs/nettle:= + dev-libs/openssl:= +" +RDEPEND="${DEPEND}" +# Clang needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') +" + +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 + local -x REAL_GPGV_BIN="${BROOT}"/usr/bin/gpgv + + mkdir "${GNUPGHOME}" || die + chmod 700 "${GNUPGHOME}" || die + + xdg_environment_reset + RUST_BACKTRACE=full cargo_src_test -vv +} 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.ebuild deleted file mode 100644 index b28c6c443ec4..000000000000 --- a/app-crypt/sequoia-chameleon-gnupg/sequoia-chameleon-gnupg-0.9.0.ebuild +++ /dev/null @@ -1,421 +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.21.0 - adler@1.0.2 - aead@0.5.2 - aes-gcm@0.10.3 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anyhow@1.0.83 - ascii-canvas@3.0.0 - async-trait@0.1.80 - autocfg@1.3.0 - backtrace@0.3.71 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - bindgen@0.68.1 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - block-padding@0.3.3 - botan-sys@0.10.5 - botan@0.10.7 - buffered-reader@1.3.1 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.6.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - capnp-futures@0.19.0 - capnp-rpc@0.19.0 - capnp@0.19.3 - cc@1.0.97 - cexpr@0.6.0 - cfg-if@1.0.0 - chrono@0.4.38 - cipher@0.4.4 - clang-sys@1.7.0 - cmac@0.7.2 - const-oid@0.9.6 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.4.0 - crossbeam-channel@0.5.12 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.19 - crossbeam@0.8.4 - crunchy@0.2.2 - crypto-common@0.1.6 - ctor@0.2.8 - ctr@0.9.2 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.2 - daemonize@0.5.0 - darling@0.20.8 - darling_core@0.20.8 - darling_macro@0.20.8 - data-encoding@2.6.0 - dbl@0.3.2 - der@0.7.9 - deranged@0.3.11 - diff@0.1.13 - digest@0.10.7 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - dirs-sys@0.4.1 - dirs@5.0.1 - doc-comment@0.3.3 - dyn-clone@1.0.17 - eax@0.5.0 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - editdistancek@1.0.2 - either@1.11.0 - embedded-io@0.6.1 - ena@0.14.3 - encoding_rs@0.8.34 - endian-type@0.1.2 - enum-as-inner@0.6.0 - enumber@0.3.1 - equivalent@1.0.1 - errno@0.3.8 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fastrand@2.1.0 - fd-lock@4.0.2 - fiat-crypto@0.2.8 - filetime@0.2.23 - fixedbitset@0.4.2 - flate2@1.0.30 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fs2@0.4.3 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - generic-array@0.14.7 - generic-array@1.0.0 - gethostname@0.4.3 - getrandom@0.2.15 - ghash@0.5.1 - gimli@0.28.1 - glob@0.3.1 - h2@0.3.26 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashlink@0.9.0 - heck@0.4.1 - hermit-abi@0.3.9 - hex@0.4.3 - hickory-client@0.24.1 - hickory-proto@0.24.1 - hickory-resolver@0.24.1 - histo@1.0.0 - hostname@0.3.1 - http-body@0.4.6 - http@0.2.12 - httparse@1.8.0 - httpdate@1.0.3 - hyper-tls@0.5.0 - hyper@0.14.28 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - idna@0.4.0 - idna@0.5.0 - indexmap@1.9.3 - indexmap@2.2.6 - inout@0.1.3 - interprocess@1.2.1 - ipconfig@0.3.2 - ipnet@2.9.0 - itertools@0.11.0 - itoa@1.0.11 - js-sys@0.3.69 - lalrpop-util@0.20.2 - lalrpop@0.20.2 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.154 - libloading@0.8.3 - libm@0.2.8 - libredox@0.1.3 - libsqlite3-sys@0.28.0 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.13 - lock_api@0.4.12 - log@0.4.21 - lru-cache@0.1.2 - match_cfg@0.1.0 - md-5@0.10.6 - memchr@2.7.2 - memsec@0.6.3 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - mio@0.8.11 - native-tls@0.2.11 - nettle-sys@2.3.0 - nettle@7.4.0 - new_debug_unreachable@1.0.6 - nibble_vec@0.1.0 - nom@7.1.3 - ntest@0.9.2 - ntest_test_cases@0.9.2 - ntest_timeout@0.9.2 - num-bigint-dig@0.8.4 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.45 - num-traits@0.2.19 - num_cpus@1.16.0 - object@0.32.2 - once_cell@1.19.0 - opaque-debug@0.3.1 - openpgp-cert-d@0.3.2 - openssh-keys@0.6.2 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.102 - openssl@0.10.64 - option-ext@0.2.0 - parking_lot@0.12.2 - parking_lot_core@0.9.10 - peeking_take_while@0.1.2 - percent-encoding@2.3.1 - petgraph@0.6.4 - phf_shared@0.10.0 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkcs8@0.10.2 - pkg-config@0.3.30 - platforms@3.4.0 - polyval@0.6.2 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - proc-macro-crate@3.1.0 - proc-macro2@1.0.82 - quick-error@1.2.3 - quote@1.0.36 - radix_trie@0.2.1 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.1 - redox_users@0.4.5 - regex-automata@0.4.6 - regex-syntax@0.8.3 - regex@1.10.4 - reqwest@0.11.27 - resolv-conf@0.7.0 - rpassword@7.3.1 - rtoolbox@0.0.2 - rusqlite@0.31.0 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - rustls-pemfile@1.0.4 - rustversion@1.0.16 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.23 - scopeguard@1.2.0 - security-framework-sys@2.11.0 - security-framework@2.11.0 - semver@1.0.23 - sequoia-cert-store@0.5.3 - sequoia-gpg-agent@0.3.1 - sequoia-ipc@0.34.1 - sequoia-net@0.28.0 - sequoia-openpgp@1.20.0 - sequoia-policy-config@0.6.0 - sequoia-wot@0.11.0 - serde@1.0.200 - serde_derive@1.0.200 - serde_json@1.0.116 - serde_urlencoded@0.7.1 - serde_with@3.8.1 - serde_with_macros@3.8.1 - sha1collisiondetection@0.3.4 - sha2@0.10.8 - shellexpand@3.1.0 - shlex@1.3.0 - signal-hook-registry@1.4.2 - signature@2.2.0 - siphasher@0.3.11 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.5.7 - spin@0.5.2 - spki@0.7.3 - stfu8@0.2.7 - streaming-stats@0.1.29 - string_cache@0.8.7 - strsim@0.10.0 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.61 - sync_wrapper@0.1.2 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tar@0.4.40 - tempfile@3.10.1 - term@0.7.0 - thiserror-impl@1.0.60 - thiserror@1.0.60 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - to_method@1.1.0 - tokio-macros@2.2.0 - tokio-native-tls@0.3.1 - tokio-socks@0.5.1 - tokio-util@0.7.11 - tokio@1.37.0 - toml@0.5.11 - toml_datetime@0.6.5 - toml_edit@0.21.1 - tower-service@0.3.2 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - try-lock@0.2.5 - typenum@1.17.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-xid@0.2.4 - universal-hash@0.5.1 - url@2.5.0 - vcpkg@0.2.15 - version_check@0.9.4 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - widestring@1.1.0 - win-crypto-ng@0.5.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - 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-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winnow@0.5.40 - winreg@0.50.0 - xxhash-rust@0.8.10 - z-base-32@0.1.4 - zbase32@0.1.2 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zeroize@1.7.0 -" - -LLVM_COMPAT=( {17..18} ) -inherit cargo llvm-r1 xdg-utils - -DESCRIPTION="Sequoia's reimplementation of the GnuPG interface" -HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/" -SRC_URI=" - https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/archive/v${PV}/${P}-v${PV}.tar.bz2 - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}"/${PN}-v${PV}-81b95c7807d13a8adef5277ae840ca7ed73c02c0 - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ LGPL-3+ MIT MPL-2.0 - Unicode-DFS-2016 - || ( GPL-2 GPL-3 LGPL-3 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -# Still some issue to do with columns? -RESTRICT="test" - -DEPEND=" - dev-db/sqlite:3 - dev-libs/gmp:= - dev-libs/nettle:= - dev-libs/openssl:= -" -RDEPEND="${DEPEND}" -# Clang needed for bindgen -BDEPEND=" - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - >=virtual/rust-1.70 -" - -QA_FLAGS_IGNORED="usr/bin/gpg-sq usr/bin/gpgv-sq" - -src_test() { - local -x GNUPGHOME="${T}"/.gnupg - local -x REAL_GPG_BIN="${BROOT}"/usr/bin/gpg - local -x REAL_GPGV_BIN="${BROOT}"/usr/bin/gpgv - - mkdir "${GNUPGHOME}" || die - chmod 700 "${GNUPGHOME}" || die - - xdg_environment_reset - RUST_BACKTRACE=full cargo_src_test -vv -} diff --git a/app-crypt/sequoia-sq/sequoia-sq-0.35.0-r1.ebuild b/app-crypt/sequoia-sq/sequoia-sq-0.35.0-r1.ebuild new file mode 100644 index 000000000000..e1cdf632523b --- /dev/null +++ b/app-crypt/sequoia-sq/sequoia-sq-0.35.0-r1.ebuild @@ -0,0 +1,559 @@ +# Copyright 2021-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 + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + aligned@0.4.2 + allocator-api2@0.2.18 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.13 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + anyhow@1.0.76 + as-slice@0.2.1 + ascii-canvas@3.0.0 + assert_cmd@2.0.13 + async-trait@0.1.80 + autocfg@1.2.0 + backtrace@0.3.71 + base16ct@0.2.0 + base64@0.21.7 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + block-padding@0.3.3 + blowfish@0.9.1 + botan-sys@0.10.5 + botan@0.10.7 + bstr@1.9.1 + buffered-reader@1.3.1 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.6.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + camellia@0.1.0 + capnp-futures@0.19.0 + capnp-rpc@0.19.0 + capnp@0.19.3 + capnpc@0.19.0 + cast5@0.11.1 + cc@1.0.94 + cexpr@0.6.0 + cfb-mode@0.8.2 + cfg-if@1.0.0 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.7.0 + clap@4.4.18 + clap_builder@4.4.18 + clap_complete@4.4.10 + clap_derive@4.4.7 + clap_lex@0.6.0 + cmac@0.7.2 + colorchoice@1.0.0 + console@0.15.8 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.4.0 + crossbeam-channel@0.5.12 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + ctor@0.2.7 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.2 + cvt@0.1.2 + data-encoding@2.5.0 + dbl@0.3.2 + der@0.7.9 + deranged@0.3.11 + des@0.8.1 + deunicode@1.4.4 + difflib@0.4.0 + digest@0.10.7 + dircpy@0.3.16 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dirs-sys@0.4.1 + dirs@5.0.1 + doc-comment@0.3.3 + dot-writer@0.1.3 + dsa@0.6.3 + dyn-clone@1.0.17 + eax@0.5.0 + ecb@0.1.2 + ecdsa@0.16.9 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + either@1.11.0 + elliptic-curve@0.13.8 + embedded-io@0.6.1 + ena@0.14.2 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + endian-type@0.1.2 + enum-as-inner@0.6.0 + enumber@0.3.0 + env_logger@0.10.2 + equivalent@1.0.1 + errno@0.3.8 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fastrand@2.0.2 + fd-lock@4.0.2 + fehler-macros@1.0.0 + fehler@1.0.0 + ff@0.13.0 + fiat-crypto@0.2.7 + file_diff@1.0.0 + filetime@0.2.23 + fixedbitset@0.4.2 + flate2@1.0.28 + float-cmp@0.9.0 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fs2@0.4.3 + fs_at@0.1.10 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generator@0.7.5 + generic-array@0.14.7 + gethostname@0.4.3 + getopts@0.2.21 + getrandom@0.2.14 + ghash@0.5.1 + gimli@0.28.1 + git-testament-derive@0.2.0 + git-testament@0.2.5 + glob@0.3.1 + globset@0.4.14 + globwalk@0.8.1 + group@0.13.0 + h2@0.3.26 + hashbrown@0.12.3 + hashbrown@0.14.3 + hashlink@0.9.0 + heck@0.4.1 + hermit-abi@0.3.9 + hickory-client@0.24.0 + hickory-proto@0.24.0 + hickory-resolver@0.24.0 + hkdf@0.12.4 + hmac@0.12.1 + hostname@0.3.1 + html-escape@0.2.13 + http-body@0.4.6 + http@0.2.12 + httparse@1.8.0 + httpdate@1.0.3 + humansize@2.1.3 + humantime@2.1.0 + hyper-tls@0.5.0 + hyper@0.14.28 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + idea@0.5.1 + idna@0.4.0 + idna@0.5.0 + ignore@0.4.22 + indexmap@1.9.3 + indexmap@2.2.6 + indicatif@0.17.8 + inout@0.1.3 + instant@0.1.12 + ipconfig@0.3.2 + ipnet@2.9.0 + is-terminal@0.4.12 + itertools@0.11.0 + itoa@1.0.11 + js-sys@0.3.69 + jwalk@0.8.1 + lalrpop-util@0.20.2 + lalrpop@0.20.2 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.153 + libloading@0.8.3 + libm@0.2.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + line-col@0.2.1 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.13 + lock_api@0.4.11 + log@0.4.21 + loom@0.5.6 + lru-cache@0.1.2 + match_cfg@0.1.0 + matchers@0.1.0 + md-5@0.10.6 + memchr@2.7.2 + memsec@0.6.3 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + mio@0.8.11 + native-tls@0.2.11 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nibble_vec@0.1.0 + nix@0.26.4 + nom@7.1.3 + normalize-line-endings@0.3.0 + normpath@1.1.1 + nu-ansi-term@0.46.0 + num-bigint-dig@0.8.4 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.44 + num-traits@0.2.18 + num_cpus@1.16.0 + number_prefix@0.4.0 + object@0.32.2 + once_cell@1.19.0 + opaque-debug@0.3.1 + openpgp-cert-d@0.3.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.102 + openssl@0.10.64 + option-ext@0.2.0 + overload@0.1.1 + p256@0.13.2 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + paste@1.0.14 + peeking_take_while@0.1.2 + pem-rfc7468@0.7.0 + percent-encoding@2.3.1 + pest@2.7.9 + pest_derive@2.7.9 + pest_generator@2.7.9 + pest_meta@2.7.9 + petgraph@0.6.4 + phf_shared@0.10.0 + pikchr@0.1.3 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + platforms@3.4.0 + polyval@0.6.2 + portable-atomic@1.6.0 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + primeorder@0.13.6 + proc-macro2@1.0.80 + pulldown-cmark@0.9.6 + quick-error@1.2.3 + quote@1.0.36 + radix_trie@0.2.1 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_users@0.4.5 + regex-automata@0.1.10 + regex-automata@0.4.6 + regex-syntax@0.6.29 + regex-syntax@0.8.3 + regex@1.10.4 + remove_dir_all@0.8.2 + reqwest@0.11.27 + resolv-conf@0.7.0 + rfc6979@0.4.0 + ripemd@0.1.3 + roadmap@0.5.0 + roff@0.2.1 + rpassword@7.3.1 + rsa@0.9.6 + rtoolbox@0.0.2 + rusqlite@0.31.0 + rustc-demangle@0.1.23 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.32 + rustls-pemfile@1.0.4 + rustversion@1.0.15 + ryu@1.0.17 + same-file@1.0.6 + schannel@0.1.23 + scoped-tls@1.0.1 + scopeguard@1.2.0 + sec1@0.7.3 + security-framework-sys@2.10.0 + security-framework@2.10.0 + semver@1.0.22 + sequoia-autocrypt@0.25.1 + sequoia-cert-store@0.5.3 + sequoia-gpg-agent@0.3.1 + sequoia-ipc@0.34.1 + sequoia-keystore-backend@0.3.0 + sequoia-keystore-gpg-agent@0.1.0 + sequoia-keystore-softkeys@0.3.0 + sequoia-keystore@0.3.0 + sequoia-net@0.28.0 + sequoia-openpgp@1.20.0 + sequoia-policy-config@0.6.0 + sequoia-wot@0.11.0 + serde-aux@4.5.0 + serde@1.0.197 + serde_derive@1.0.197 + serde_json@1.0.115 + serde_urlencoded@0.7.1 + serde_yaml@0.8.26 + serde_yaml@0.9.34+deprecated + sha1collisiondetection@0.3.4 + sha2@0.10.8 + sharded-slab@0.1.7 + shell-words@1.1.0 + shlex@1.3.0 + signature@2.2.0 + siphasher@0.3.11 + slab@0.4.9 + slug@0.1.5 + smallvec@1.13.2 + smawk@0.3.2 + socket2@0.5.6 + spin@0.5.2 + spki@0.7.3 + stable_deref_trait@1.2.0 + state@0.5.3 + stfu8@0.2.7 + string_cache@0.8.7 + strsim@0.10.0 + subplot-build@0.9.0 + subplot@0.9.0 + subplotlib-derive@0.9.0 + subplotlib@0.9.0 + subtle@2.5.0 + syn@1.0.109 + syn@2.0.59 + sync_wrapper@0.1.2 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tempfile-fast@0.3.4 + tempfile@3.10.1 + tera@1.19.1 + term@0.7.0 + termcolor@1.4.1 + terminal_size@0.3.0 + termtree@0.4.1 + textwrap@0.15.2 + thiserror-impl@1.0.58 + thiserror@1.0.58 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio-macros@2.2.0 + tokio-native-tls@0.3.1 + tokio-util@0.7.10 + tokio@1.37.0 + toml@0.5.11 + tower-service@0.3.2 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing@0.1.40 + try-lock@0.2.5 + twofish@0.7.1 + typenum@1.17.0 + ucd-trie@0.1.6 + unescape@0.1.0 + unic-char-property@0.9.0 + unic-char-range@0.9.0 + unic-common@0.9.0 + unic-segment@0.9.0 + unic-ucd-segment@0.9.0 + unic-ucd-version@0.9.0 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-linebreak@0.1.5 + unicode-normalization@0.1.23 + unicode-width@0.1.11 + unicode-xid@0.2.4 + universal-hash@0.5.1 + unsafe-libyaml@0.2.11 + url@2.5.0 + utf8-width@0.1.7 + utf8parse@0.2.1 + valuable@0.1.0 + vcpkg@0.2.15 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + widestring@1.1.0 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows@0.48.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winreg@0.50.0 + x25519-dalek@2.0.1 + xxhash-rust@0.8.10 + yaml-rust@0.4.5 + z-base-32@0.1.4 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 + zeroize@1.7.0 + zeroize_derive@1.4.2 +" + +LLVM_COMPAT=( {16..17} ) + +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" +SRC_URI=" + https://gitlab.com/sequoia-pgp/sequoia-sq/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}"/${PN}-v${PV} + +LICENSE="LGPL-2.1+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT MIT-0 MPL-2.0 + Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~ppc64" + +QA_FLAGS_IGNORED="usr/bin/sq" + +COMMON_DEPEND=" + dev-db/sqlite:3 + dev-libs/gmp:= + dev-libs/nettle:= + dev-libs/openssl:= +" +DEPEND=" + ${COMMON_DEPEND} + dev-libs/capnproto +" +RDEPEND=" + ${COMMON_DEPEND} +" +# Clang needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') + 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. + asset_dir="${T}"/assets + export ASSET_OUT_DIR="${asset_dir}" + + # Setting CARGO_TARGET_DIR is required to have the build system + # create the bash and zsh completion files. + export CARGO_TARGET_DIR="${S}/target" + cargo_src_compile +} + +src_install() { + cargo_src_install + + doman "${asset_dir}"/man-pages/* + + local completion_dir="${asset_dir}"/shell-completions + newbashcomp "${completion_dir}"/sq.bash sq + dozshcomp "${completion_dir}"/_sq + dofishcomp "${completion_dir}"/sq.fish +} diff --git a/app-crypt/sequoia-sq/sequoia-sq-0.35.0.ebuild b/app-crypt/sequoia-sq/sequoia-sq-0.35.0.ebuild deleted file mode 100644 index 5ff711b14f9a..000000000000 --- a/app-crypt/sequoia-sq/sequoia-sq-0.35.0.ebuild +++ /dev/null @@ -1,555 +0,0 @@ -# Copyright 2021-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 - aead@0.5.2 - aes-gcm@0.10.3 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - aligned@0.4.2 - allocator-api2@0.2.18 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.13 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - anyhow@1.0.76 - as-slice@0.2.1 - ascii-canvas@3.0.0 - assert_cmd@2.0.13 - async-trait@0.1.80 - autocfg@1.2.0 - backtrace@0.3.71 - base16ct@0.2.0 - base64@0.21.7 - base64ct@1.6.0 - bindgen@0.68.1 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - block-padding@0.3.3 - blowfish@0.9.1 - botan-sys@0.10.5 - botan@0.10.7 - bstr@1.9.1 - buffered-reader@1.3.1 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.6.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - camellia@0.1.0 - capnp-futures@0.19.0 - capnp-rpc@0.19.0 - capnp@0.19.3 - capnpc@0.19.0 - cast5@0.11.1 - cc@1.0.94 - cexpr@0.6.0 - cfb-mode@0.8.2 - cfg-if@1.0.0 - chrono@0.4.38 - cipher@0.4.4 - clang-sys@1.7.0 - clap@4.4.18 - clap_builder@4.4.18 - clap_complete@4.4.10 - clap_derive@4.4.7 - clap_lex@0.6.0 - cmac@0.7.2 - colorchoice@1.0.0 - console@0.15.8 - const-oid@0.9.6 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.4.0 - crossbeam-channel@0.5.12 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.19 - crossbeam@0.8.4 - crunchy@0.2.2 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - ctor@0.2.7 - ctr@0.9.2 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.2 - cvt@0.1.2 - data-encoding@2.5.0 - dbl@0.3.2 - der@0.7.9 - deranged@0.3.11 - des@0.8.1 - deunicode@1.4.4 - difflib@0.4.0 - digest@0.10.7 - dircpy@0.3.16 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - dirs-sys@0.4.1 - dirs@5.0.1 - doc-comment@0.3.3 - dot-writer@0.1.3 - dsa@0.6.3 - dyn-clone@1.0.17 - eax@0.5.0 - ecb@0.1.2 - ecdsa@0.16.9 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - either@1.11.0 - elliptic-curve@0.13.8 - embedded-io@0.6.1 - ena@0.14.2 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - endian-type@0.1.2 - enum-as-inner@0.6.0 - enumber@0.3.0 - env_logger@0.10.2 - equivalent@1.0.1 - errno@0.3.8 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fastrand@2.0.2 - fd-lock@4.0.2 - fehler-macros@1.0.0 - fehler@1.0.0 - ff@0.13.0 - fiat-crypto@0.2.7 - file_diff@1.0.0 - filetime@0.2.23 - fixedbitset@0.4.2 - flate2@1.0.28 - float-cmp@0.9.0 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fs2@0.4.3 - fs_at@0.1.10 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - generator@0.7.5 - generic-array@0.14.7 - gethostname@0.4.3 - getopts@0.2.21 - getrandom@0.2.14 - ghash@0.5.1 - gimli@0.28.1 - git-testament-derive@0.2.0 - git-testament@0.2.5 - glob@0.3.1 - globset@0.4.14 - globwalk@0.8.1 - group@0.13.0 - h2@0.3.26 - hashbrown@0.12.3 - hashbrown@0.14.3 - hashlink@0.9.0 - heck@0.4.1 - hermit-abi@0.3.9 - hickory-client@0.24.0 - hickory-proto@0.24.0 - hickory-resolver@0.24.0 - hkdf@0.12.4 - hmac@0.12.1 - hostname@0.3.1 - html-escape@0.2.13 - http-body@0.4.6 - http@0.2.12 - httparse@1.8.0 - httpdate@1.0.3 - humansize@2.1.3 - humantime@2.1.0 - hyper-tls@0.5.0 - hyper@0.14.28 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - idea@0.5.1 - idna@0.4.0 - idna@0.5.0 - ignore@0.4.22 - indexmap@1.9.3 - indexmap@2.2.6 - indicatif@0.17.8 - inout@0.1.3 - instant@0.1.12 - ipconfig@0.3.2 - ipnet@2.9.0 - is-terminal@0.4.12 - itertools@0.11.0 - itoa@1.0.11 - js-sys@0.3.69 - jwalk@0.8.1 - lalrpop-util@0.20.2 - lalrpop@0.20.2 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.153 - libloading@0.8.3 - libm@0.2.8 - libredox@0.1.3 - libsqlite3-sys@0.28.0 - line-col@0.2.1 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.13 - lock_api@0.4.11 - log@0.4.21 - loom@0.5.6 - lru-cache@0.1.2 - match_cfg@0.1.0 - matchers@0.1.0 - md-5@0.10.6 - memchr@2.7.2 - memsec@0.6.3 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - mio@0.8.11 - native-tls@0.2.11 - nettle-sys@2.3.0 - nettle@7.4.0 - new_debug_unreachable@1.0.6 - nibble_vec@0.1.0 - nix@0.26.4 - nom@7.1.3 - normalize-line-endings@0.3.0 - normpath@1.1.1 - nu-ansi-term@0.46.0 - num-bigint-dig@0.8.4 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.44 - num-traits@0.2.18 - num_cpus@1.16.0 - number_prefix@0.4.0 - object@0.32.2 - once_cell@1.19.0 - opaque-debug@0.3.1 - openpgp-cert-d@0.3.2 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.102 - openssl@0.10.64 - option-ext@0.2.0 - overload@0.1.1 - p256@0.13.2 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - paste@1.0.14 - peeking_take_while@0.1.2 - pem-rfc7468@0.7.0 - percent-encoding@2.3.1 - pest@2.7.9 - pest_derive@2.7.9 - pest_generator@2.7.9 - pest_meta@2.7.9 - petgraph@0.6.4 - phf_shared@0.10.0 - pikchr@0.1.3 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - platforms@3.4.0 - polyval@0.6.2 - portable-atomic@1.6.0 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - primeorder@0.13.6 - proc-macro2@1.0.80 - pulldown-cmark@0.9.6 - quick-error@1.2.3 - quote@1.0.36 - radix_trie@0.2.1 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_users@0.4.5 - regex-automata@0.1.10 - regex-automata@0.4.6 - regex-syntax@0.6.29 - regex-syntax@0.8.3 - regex@1.10.4 - remove_dir_all@0.8.2 - reqwest@0.11.27 - resolv-conf@0.7.0 - rfc6979@0.4.0 - ripemd@0.1.3 - roadmap@0.5.0 - roff@0.2.1 - rpassword@7.3.1 - rsa@0.9.6 - rtoolbox@0.0.2 - rusqlite@0.31.0 - rustc-demangle@0.1.23 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.32 - rustls-pemfile@1.0.4 - rustversion@1.0.15 - ryu@1.0.17 - same-file@1.0.6 - schannel@0.1.23 - scoped-tls@1.0.1 - scopeguard@1.2.0 - sec1@0.7.3 - security-framework-sys@2.10.0 - security-framework@2.10.0 - semver@1.0.22 - sequoia-autocrypt@0.25.1 - sequoia-cert-store@0.5.3 - sequoia-gpg-agent@0.3.1 - sequoia-ipc@0.34.1 - sequoia-keystore-backend@0.3.0 - sequoia-keystore-gpg-agent@0.1.0 - sequoia-keystore-softkeys@0.3.0 - sequoia-keystore@0.3.0 - sequoia-net@0.28.0 - sequoia-openpgp@1.20.0 - sequoia-policy-config@0.6.0 - sequoia-wot@0.11.0 - serde-aux@4.5.0 - serde@1.0.197 - serde_derive@1.0.197 - serde_json@1.0.115 - serde_urlencoded@0.7.1 - serde_yaml@0.8.26 - serde_yaml@0.9.34+deprecated - sha1collisiondetection@0.3.4 - sha2@0.10.8 - sharded-slab@0.1.7 - shell-words@1.1.0 - shlex@1.3.0 - signature@2.2.0 - siphasher@0.3.11 - slab@0.4.9 - slug@0.1.5 - smallvec@1.13.2 - smawk@0.3.2 - socket2@0.5.6 - spin@0.5.2 - spki@0.7.3 - stable_deref_trait@1.2.0 - state@0.5.3 - stfu8@0.2.7 - string_cache@0.8.7 - strsim@0.10.0 - subplot-build@0.9.0 - subplot@0.9.0 - subplotlib-derive@0.9.0 - subplotlib@0.9.0 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.59 - sync_wrapper@0.1.2 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tempfile-fast@0.3.4 - tempfile@3.10.1 - tera@1.19.1 - term@0.7.0 - termcolor@1.4.1 - terminal_size@0.3.0 - termtree@0.4.1 - textwrap@0.15.2 - thiserror-impl@1.0.58 - thiserror@1.0.58 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tokio-macros@2.2.0 - tokio-native-tls@0.3.1 - tokio-util@0.7.10 - tokio@1.37.0 - toml@0.5.11 - tower-service@0.3.2 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing@0.1.40 - try-lock@0.2.5 - twofish@0.7.1 - typenum@1.17.0 - ucd-trie@0.1.6 - unescape@0.1.0 - unic-char-property@0.9.0 - unic-char-range@0.9.0 - unic-common@0.9.0 - unic-segment@0.9.0 - unic-ucd-segment@0.9.0 - unic-ucd-version@0.9.0 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.23 - unicode-width@0.1.11 - unicode-xid@0.2.4 - universal-hash@0.5.1 - unsafe-libyaml@0.2.11 - url@2.5.0 - utf8-width@0.1.7 - utf8parse@0.2.1 - valuable@0.1.0 - vcpkg@0.2.15 - version_check@0.9.4 - wait-timeout@0.2.0 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - widestring@1.1.0 - win-crypto-ng@0.5.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows@0.48.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winreg@0.50.0 - x25519-dalek@2.0.1 - xxhash-rust@0.8.10 - yaml-rust@0.4.5 - z-base-32@0.1.4 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 - zeroize@1.7.0 - zeroize_derive@1.4.2 -" - -LLVM_COMPAT=( {16..17} ) - -inherit cargo shell-completion llvm-r1 - -DESCRIPTION="CLI of the Sequoia OpenPGP implementation" -HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-sq" -SRC_URI=" - https://gitlab.com/sequoia-pgp/sequoia-sq/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}"/${PN}-v${PV} - -LICENSE="LGPL-2.1+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT MIT-0 MPL-2.0 - Unicode-DFS-2016 - || ( GPL-2 GPL-3 LGPL-3 ) -" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64" - -QA_FLAGS_IGNORED="usr/bin/sq" - -COMMON_DEPEND=" - dev-db/sqlite:3 - dev-libs/gmp:= - dev-libs/nettle:= - dev-libs/openssl:= -" -DEPEND=" - ${COMMON_DEPEND} - dev-libs/capnproto -" -RDEPEND=" - ${COMMON_DEPEND} -" -# Clang needed for bindgen -BDEPEND=" - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - virtual/pkgconfig - >=virtual/rust-1.70 -" - -src_compile() { - # Set this here so that it doesn't change if we run tests - # and cause a recompilation. - asset_dir="${T}"/assets - export ASSET_OUT_DIR="${asset_dir}" - - # Setting CARGO_TARGET_DIR is required to have the build system - # create the bash and zsh completion files. - export CARGO_TARGET_DIR="${S}/target" - cargo_src_compile -} - -src_install() { - cargo_src_install - - doman "${asset_dir}"/man-pages/* - - local completion_dir="${asset_dir}"/shell-completions - newbashcomp "${completion_dir}"/sq.bash sq - dozshcomp "${completion_dir}"/_sq - dofishcomp "${completion_dir}"/sq.fish -} diff --git a/app-crypt/sequoia-sq/sequoia-sq-0.36.0-r1.ebuild b/app-crypt/sequoia-sq/sequoia-sq-0.36.0-r1.ebuild new file mode 100644 index 000000000000..5434f7d3b001 --- /dev/null +++ b/app-crypt/sequoia-sq/sequoia-sq-0.36.0-r1.ebuild @@ -0,0 +1,563 @@ +# Copyright 2021-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 + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + aligned@0.4.2 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.0.3 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.76 + as-slice@0.2.1 + ascii-canvas@3.0.0 + assert_cmd@2.0.13 + async-trait@0.1.80 + autocfg@1.3.0 + backtrace@0.3.71 + base16ct@0.2.0 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + block-padding@0.3.3 + blowfish@0.9.1 + botan-sys@0.10.5 + botan@0.10.7 + bstr@1.9.1 + buffered-reader@1.3.1 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.6.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + camellia@0.1.0 + capnp-futures@0.19.0 + capnp-rpc@0.19.1 + capnp@0.19.5 + capnpc@0.19.0 + cast5@0.11.1 + cc@1.0.98 + cexpr@0.6.0 + cfb-mode@0.8.2 + cfg-if@1.0.0 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.7.0 + clap@4.4.18 + clap_builder@4.4.18 + clap_complete@4.4.10 + clap_derive@4.4.7 + clap_lex@0.6.0 + cmac@0.7.2 + colorchoice@1.0.1 + console@0.15.8 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + ctor@0.2.8 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.2 + cvt@0.1.2 + data-encoding@2.6.0 + dbl@0.3.2 + der@0.7.9 + deranged@0.3.11 + des@0.8.1 + deunicode@1.6.0 + difflib@0.4.0 + digest@0.10.7 + dircpy@0.3.16 + directories@5.0.1 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dirs-sys@0.4.1 + dirs@5.0.1 + doc-comment@0.3.3 + dot-writer@0.1.3 + dsa@0.6.3 + dyn-clone@1.0.17 + eax@0.5.0 + ecb@0.1.2 + ecdsa@0.16.9 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + either@1.12.0 + elliptic-curve@0.13.8 + embedded-io@0.6.1 + ena@0.14.3 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + endian-type@0.1.2 + enum-as-inner@0.6.0 + enumber@0.3.1 + env_logger@0.10.2 + equivalent@1.0.1 + errno@0.3.9 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fastrand@2.1.0 + fd-lock@4.0.2 + fehler-macros@1.0.0 + fehler@1.0.0 + ff@0.13.0 + fiat-crypto@0.2.9 + file_diff@1.0.0 + filetime@0.2.23 + fixedbitset@0.4.2 + flate2@1.0.30 + float-cmp@0.9.0 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fs2@0.4.3 + fs_at@0.1.10 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generator@0.7.5 + generic-array@0.14.7 + gethostname@0.4.3 + getopts@0.2.21 + getrandom@0.2.15 + ghash@0.5.1 + gimli@0.28.1 + git-testament-derive@0.2.0 + git-testament@0.2.5 + glob@0.3.1 + globset@0.4.14 + globwalk@0.8.1 + group@0.13.0 + h2@0.3.26 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.9.1 + heck@0.4.1 + hermit-abi@0.3.9 + hickory-client@0.24.1 + hickory-proto@0.24.1 + hickory-resolver@0.24.1 + hkdf@0.12.4 + hmac@0.12.1 + hostname@0.3.1 + html-escape@0.2.13 + http-body@0.4.6 + http@0.2.12 + httparse@1.8.0 + httpdate@1.0.3 + humansize@2.1.3 + humantime@2.1.0 + hyper-tls@0.5.0 + hyper@0.14.28 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + idea@0.5.1 + idna@0.4.0 + idna@0.5.0 + ignore@0.4.22 + indexmap@1.9.3 + indexmap@2.2.6 + indicatif@0.17.8 + inout@0.1.3 + instant@0.1.13 + ipconfig@0.3.2 + ipnet@2.9.0 + is-terminal@0.4.12 + is_terminal_polyfill@1.70.0 + itertools@0.11.0 + itoa@1.0.11 + js-sys@0.3.69 + jwalk@0.8.1 + lalrpop-util@0.20.2 + lalrpop@0.20.2 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.155 + libloading@0.8.3 + libm@0.2.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + line-col@0.2.1 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.21 + loom@0.5.6 + lru-cache@0.1.2 + match_cfg@0.1.0 + matchers@0.1.0 + md-5@0.10.6 + memchr@2.7.2 + memsec@0.6.3 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.7.3 + mio@0.8.11 + native-tls@0.2.11 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nibble_vec@0.1.0 + nix@0.26.4 + nom@7.1.3 + normalize-line-endings@0.3.0 + normpath@1.1.1 + nu-ansi-term@0.46.0 + num-bigint-dig@0.8.4 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.45 + num-traits@0.2.19 + num_cpus@1.16.0 + number_prefix@0.4.0 + object@0.32.2 + once_cell@1.19.0 + opaque-debug@0.3.1 + openpgp-cert-d@0.3.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.102 + openssl@0.10.64 + option-ext@0.2.0 + overload@0.1.1 + p256@0.13.2 + parking_lot@0.12.2 + parking_lot_core@0.9.10 + paste@1.0.15 + peeking_take_while@0.1.2 + pem-rfc7468@0.7.0 + percent-encoding@2.3.1 + pest@2.7.10 + pest_derive@2.7.10 + pest_generator@2.7.10 + pest_meta@2.7.10 + petgraph@0.6.5 + phf_shared@0.10.0 + pikchr@0.1.3 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + platforms@3.4.0 + polyval@0.6.2 + portable-atomic@1.6.0 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + primeorder@0.13.6 + proc-macro2@1.0.83 + pulldown-cmark@0.9.6 + quick-error@1.2.3 + quote@1.0.36 + radix_trie@0.2.1 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.1 + redox_users@0.4.5 + regex-automata@0.1.10 + regex-automata@0.4.6 + regex-syntax@0.6.29 + regex-syntax@0.8.3 + regex@1.10.4 + remove_dir_all@0.8.2 + reqwest@0.11.27 + resolv-conf@0.7.0 + rfc6979@0.4.0 + ripemd@0.1.3 + roadmap@0.5.0 + roff@0.2.1 + rpassword@7.3.1 + rsa@0.9.6 + rtoolbox@0.0.2 + rusqlite@0.31.0 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + rustls-pemfile@1.0.4 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.23 + scoped-tls@1.0.1 + scopeguard@1.2.0 + sec1@0.7.3 + security-framework-sys@2.11.0 + security-framework@2.11.0 + semver@1.0.23 + sequoia-autocrypt@0.25.1 + sequoia-cert-store@0.5.3 + sequoia-directories@0.1.0 + sequoia-gpg-agent@0.4.0 + sequoia-ipc@0.35.0 + sequoia-keystore-backend@0.4.0 + sequoia-keystore-gpg-agent@0.2.0 + sequoia-keystore-softkeys@0.4.1 + sequoia-keystore@0.4.1 + sequoia-net@0.28.0 + sequoia-openpgp@1.20.0 + sequoia-policy-config@0.6.0 + sequoia-wot@0.11.0 + serde-aux@4.5.0 + serde@1.0.202 + serde_derive@1.0.202 + serde_json@1.0.117 + serde_urlencoded@0.7.1 + serde_yaml@0.8.26 + serde_yaml@0.9.34+deprecated + sha1collisiondetection@0.3.4 + sha2@0.10.8 + sharded-slab@0.1.7 + shell-words@1.1.0 + shlex@1.3.0 + signature@2.2.0 + siphasher@0.3.11 + slab@0.4.9 + slug@0.1.5 + smallvec@1.13.2 + smawk@0.3.2 + socket2@0.5.7 + spin@0.5.2 + spki@0.7.3 + stable_deref_trait@1.2.0 + state@0.5.3 + stfu8@0.2.7 + string_cache@0.8.7 + strsim@0.10.0 + subplot-build@0.9.0 + subplot@0.9.0 + subplotlib-derive@0.9.0 + subplotlib@0.9.0 + subtle@2.5.0 + syn@1.0.109 + syn@2.0.65 + sync_wrapper@0.1.2 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tempfile-fast@0.3.4 + tempfile@3.10.1 + tera@1.19.1 + term@0.7.0 + termcolor@1.4.1 + terminal_size@0.3.0 + termtree@0.4.1 + textwrap@0.15.2 + thiserror-impl@1.0.61 + thiserror@1.0.61 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio-macros@2.2.0 + tokio-native-tls@0.3.1 + tokio-util@0.7.11 + tokio@1.37.0 + toml@0.5.11 + tower-service@0.3.2 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing@0.1.40 + try-lock@0.2.5 + twofish@0.7.1 + typenum@1.17.0 + ucd-trie@0.1.6 + unescape@0.1.0 + unic-char-property@0.9.0 + unic-char-range@0.9.0 + unic-common@0.9.0 + unic-segment@0.9.0 + unic-ucd-segment@0.9.0 + unic-ucd-version@0.9.0 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-linebreak@0.1.5 + unicode-normalization@0.1.23 + unicode-width@0.1.12 + unicode-xid@0.2.4 + universal-hash@0.5.1 + unsafe-libyaml@0.2.11 + url@2.5.0 + utf8-width@0.1.7 + utf8parse@0.2.1 + valuable@0.1.0 + vcpkg@0.2.15 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + widestring@1.1.0 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows@0.48.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winreg@0.50.0 + x25519-dalek@2.0.1 + xxhash-rust@0.8.10 + yaml-rust@0.4.5 + z-base-32@0.1.4 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zeroize@1.7.0 + zeroize_derive@1.4.2 +" + +LLVM_COMPAT=( {16..18} ) + +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" +SRC_URI=" + https://gitlab.com/sequoia-pgp/sequoia-sq/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}"/${PN}-v${PV} + +LICENSE="LGPL-2.1+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT MIT-0 MPL-2.0 + Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" + +QA_FLAGS_IGNORED="usr/bin/sq" + +COMMON_DEPEND=" + dev-db/sqlite:3 + dev-libs/gmp:= + dev-libs/nettle:= + dev-libs/openssl:= +" +DEPEND=" + ${COMMON_DEPEND} + dev-libs/capnproto +" +RDEPEND=" + ${COMMON_DEPEND} +" +# Clang needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') + 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. + asset_dir="${T}"/assets + export ASSET_OUT_DIR="${asset_dir}" + + # Setting CARGO_TARGET_DIR is required to have the build system + # create the bash and zsh completion files. + export CARGO_TARGET_DIR="${S}/target" + cargo_src_compile +} + +src_install() { + cargo_src_install + + doman "${asset_dir}"/man-pages/* + + local completion_dir="${asset_dir}"/shell-completions + newbashcomp "${completion_dir}"/sq.bash sq + dozshcomp "${completion_dir}"/_sq + dofishcomp "${completion_dir}"/sq.fish +} diff --git a/app-crypt/sequoia-sq/sequoia-sq-0.36.0.ebuild b/app-crypt/sequoia-sq/sequoia-sq-0.36.0.ebuild deleted file mode 100644 index b2cd91a0baa2..000000000000 --- a/app-crypt/sequoia-sq/sequoia-sq-0.36.0.ebuild +++ /dev/null @@ -1,559 +0,0 @@ -# Copyright 2021-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 - aead@0.5.2 - aes-gcm@0.10.3 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - aligned@0.4.2 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.0.3 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - anyhow@1.0.76 - as-slice@0.2.1 - ascii-canvas@3.0.0 - assert_cmd@2.0.13 - async-trait@0.1.80 - autocfg@1.3.0 - backtrace@0.3.71 - base16ct@0.2.0 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - bindgen@0.68.1 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - block-padding@0.3.3 - blowfish@0.9.1 - botan-sys@0.10.5 - botan@0.10.7 - bstr@1.9.1 - buffered-reader@1.3.1 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.6.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - camellia@0.1.0 - capnp-futures@0.19.0 - capnp-rpc@0.19.1 - capnp@0.19.5 - capnpc@0.19.0 - cast5@0.11.1 - cc@1.0.98 - cexpr@0.6.0 - cfb-mode@0.8.2 - cfg-if@1.0.0 - chrono@0.4.38 - cipher@0.4.4 - clang-sys@1.7.0 - clap@4.4.18 - clap_builder@4.4.18 - clap_complete@4.4.10 - clap_derive@4.4.7 - clap_lex@0.6.0 - cmac@0.7.2 - colorchoice@1.0.1 - console@0.15.8 - const-oid@0.9.6 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crossbeam@0.8.4 - crunchy@0.2.2 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - ctor@0.2.8 - ctr@0.9.2 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.2 - cvt@0.1.2 - data-encoding@2.6.0 - dbl@0.3.2 - der@0.7.9 - deranged@0.3.11 - des@0.8.1 - deunicode@1.6.0 - difflib@0.4.0 - digest@0.10.7 - dircpy@0.3.16 - directories@5.0.1 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - dirs-sys@0.4.1 - dirs@5.0.1 - doc-comment@0.3.3 - dot-writer@0.1.3 - dsa@0.6.3 - dyn-clone@1.0.17 - eax@0.5.0 - ecb@0.1.2 - ecdsa@0.16.9 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - either@1.12.0 - elliptic-curve@0.13.8 - embedded-io@0.6.1 - ena@0.14.3 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - endian-type@0.1.2 - enum-as-inner@0.6.0 - enumber@0.3.1 - env_logger@0.10.2 - equivalent@1.0.1 - errno@0.3.9 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fastrand@2.1.0 - fd-lock@4.0.2 - fehler-macros@1.0.0 - fehler@1.0.0 - ff@0.13.0 - fiat-crypto@0.2.9 - file_diff@1.0.0 - filetime@0.2.23 - fixedbitset@0.4.2 - flate2@1.0.30 - float-cmp@0.9.0 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fs2@0.4.3 - fs_at@0.1.10 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - generator@0.7.5 - generic-array@0.14.7 - gethostname@0.4.3 - getopts@0.2.21 - getrandom@0.2.15 - ghash@0.5.1 - gimli@0.28.1 - git-testament-derive@0.2.0 - git-testament@0.2.5 - glob@0.3.1 - globset@0.4.14 - globwalk@0.8.1 - group@0.13.0 - h2@0.3.26 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashlink@0.9.1 - heck@0.4.1 - hermit-abi@0.3.9 - hickory-client@0.24.1 - hickory-proto@0.24.1 - hickory-resolver@0.24.1 - hkdf@0.12.4 - hmac@0.12.1 - hostname@0.3.1 - html-escape@0.2.13 - http-body@0.4.6 - http@0.2.12 - httparse@1.8.0 - httpdate@1.0.3 - humansize@2.1.3 - humantime@2.1.0 - hyper-tls@0.5.0 - hyper@0.14.28 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - idea@0.5.1 - idna@0.4.0 - idna@0.5.0 - ignore@0.4.22 - indexmap@1.9.3 - indexmap@2.2.6 - indicatif@0.17.8 - inout@0.1.3 - instant@0.1.13 - ipconfig@0.3.2 - ipnet@2.9.0 - is-terminal@0.4.12 - is_terminal_polyfill@1.70.0 - itertools@0.11.0 - itoa@1.0.11 - js-sys@0.3.69 - jwalk@0.8.1 - lalrpop-util@0.20.2 - lalrpop@0.20.2 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.155 - libloading@0.8.3 - libm@0.2.8 - libredox@0.1.3 - libsqlite3-sys@0.28.0 - line-col@0.2.1 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.21 - loom@0.5.6 - lru-cache@0.1.2 - match_cfg@0.1.0 - matchers@0.1.0 - md-5@0.10.6 - memchr@2.7.2 - memsec@0.6.3 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.7.3 - mio@0.8.11 - native-tls@0.2.11 - nettle-sys@2.3.0 - nettle@7.4.0 - new_debug_unreachable@1.0.6 - nibble_vec@0.1.0 - nix@0.26.4 - nom@7.1.3 - normalize-line-endings@0.3.0 - normpath@1.1.1 - nu-ansi-term@0.46.0 - num-bigint-dig@0.8.4 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.45 - num-traits@0.2.19 - num_cpus@1.16.0 - number_prefix@0.4.0 - object@0.32.2 - once_cell@1.19.0 - opaque-debug@0.3.1 - openpgp-cert-d@0.3.2 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.102 - openssl@0.10.64 - option-ext@0.2.0 - overload@0.1.1 - p256@0.13.2 - parking_lot@0.12.2 - parking_lot_core@0.9.10 - paste@1.0.15 - peeking_take_while@0.1.2 - pem-rfc7468@0.7.0 - percent-encoding@2.3.1 - pest@2.7.10 - pest_derive@2.7.10 - pest_generator@2.7.10 - pest_meta@2.7.10 - petgraph@0.6.5 - phf_shared@0.10.0 - pikchr@0.1.3 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - platforms@3.4.0 - polyval@0.6.2 - portable-atomic@1.6.0 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - primeorder@0.13.6 - proc-macro2@1.0.83 - pulldown-cmark@0.9.6 - quick-error@1.2.3 - quote@1.0.36 - radix_trie@0.2.1 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.1 - redox_users@0.4.5 - regex-automata@0.1.10 - regex-automata@0.4.6 - regex-syntax@0.6.29 - regex-syntax@0.8.3 - regex@1.10.4 - remove_dir_all@0.8.2 - reqwest@0.11.27 - resolv-conf@0.7.0 - rfc6979@0.4.0 - ripemd@0.1.3 - roadmap@0.5.0 - roff@0.2.1 - rpassword@7.3.1 - rsa@0.9.6 - rtoolbox@0.0.2 - rusqlite@0.31.0 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - rustls-pemfile@1.0.4 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.23 - scoped-tls@1.0.1 - scopeguard@1.2.0 - sec1@0.7.3 - security-framework-sys@2.11.0 - security-framework@2.11.0 - semver@1.0.23 - sequoia-autocrypt@0.25.1 - sequoia-cert-store@0.5.3 - sequoia-directories@0.1.0 - sequoia-gpg-agent@0.4.0 - sequoia-ipc@0.35.0 - sequoia-keystore-backend@0.4.0 - sequoia-keystore-gpg-agent@0.2.0 - sequoia-keystore-softkeys@0.4.1 - sequoia-keystore@0.4.1 - sequoia-net@0.28.0 - sequoia-openpgp@1.20.0 - sequoia-policy-config@0.6.0 - sequoia-wot@0.11.0 - serde-aux@4.5.0 - serde@1.0.202 - serde_derive@1.0.202 - serde_json@1.0.117 - serde_urlencoded@0.7.1 - serde_yaml@0.8.26 - serde_yaml@0.9.34+deprecated - sha1collisiondetection@0.3.4 - sha2@0.10.8 - sharded-slab@0.1.7 - shell-words@1.1.0 - shlex@1.3.0 - signature@2.2.0 - siphasher@0.3.11 - slab@0.4.9 - slug@0.1.5 - smallvec@1.13.2 - smawk@0.3.2 - socket2@0.5.7 - spin@0.5.2 - spki@0.7.3 - stable_deref_trait@1.2.0 - state@0.5.3 - stfu8@0.2.7 - string_cache@0.8.7 - strsim@0.10.0 - subplot-build@0.9.0 - subplot@0.9.0 - subplotlib-derive@0.9.0 - subplotlib@0.9.0 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.65 - sync_wrapper@0.1.2 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tempfile-fast@0.3.4 - tempfile@3.10.1 - tera@1.19.1 - term@0.7.0 - termcolor@1.4.1 - terminal_size@0.3.0 - termtree@0.4.1 - textwrap@0.15.2 - thiserror-impl@1.0.61 - thiserror@1.0.61 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tokio-macros@2.2.0 - tokio-native-tls@0.3.1 - tokio-util@0.7.11 - tokio@1.37.0 - toml@0.5.11 - tower-service@0.3.2 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing@0.1.40 - try-lock@0.2.5 - twofish@0.7.1 - typenum@1.17.0 - ucd-trie@0.1.6 - unescape@0.1.0 - unic-char-property@0.9.0 - unic-char-range@0.9.0 - unic-common@0.9.0 - unic-segment@0.9.0 - unic-ucd-segment@0.9.0 - unic-ucd-version@0.9.0 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.23 - unicode-width@0.1.12 - unicode-xid@0.2.4 - universal-hash@0.5.1 - unsafe-libyaml@0.2.11 - url@2.5.0 - utf8-width@0.1.7 - utf8parse@0.2.1 - valuable@0.1.0 - vcpkg@0.2.15 - version_check@0.9.4 - wait-timeout@0.2.0 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - widestring@1.1.0 - win-crypto-ng@0.5.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows@0.48.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winreg@0.50.0 - x25519-dalek@2.0.1 - xxhash-rust@0.8.10 - yaml-rust@0.4.5 - z-base-32@0.1.4 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zeroize@1.7.0 - zeroize_derive@1.4.2 -" - -LLVM_COMPAT=( {16..18} ) - -inherit cargo shell-completion llvm-r1 - -DESCRIPTION="CLI of the Sequoia OpenPGP implementation" -HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-sq" -SRC_URI=" - https://gitlab.com/sequoia-pgp/sequoia-sq/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}"/${PN}-v${PV} - -LICENSE="LGPL-2.1+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT MIT-0 MPL-2.0 - Unicode-DFS-2016 - || ( GPL-2 GPL-3 LGPL-3 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64" - -QA_FLAGS_IGNORED="usr/bin/sq" - -COMMON_DEPEND=" - dev-db/sqlite:3 - dev-libs/gmp:= - dev-libs/nettle:= - dev-libs/openssl:= -" -DEPEND=" - ${COMMON_DEPEND} - dev-libs/capnproto -" -RDEPEND=" - ${COMMON_DEPEND} -" -# Clang needed for bindgen -BDEPEND=" - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - virtual/pkgconfig - >=virtual/rust-1.70 -" - -src_compile() { - # Set this here so that it doesn't change if we run tests - # and cause a recompilation. - asset_dir="${T}"/assets - export ASSET_OUT_DIR="${asset_dir}" - - # Setting CARGO_TARGET_DIR is required to have the build system - # create the bash and zsh completion files. - export CARGO_TARGET_DIR="${S}/target" - cargo_src_compile -} - -src_install() { - cargo_src_install - - doman "${asset_dir}"/man-pages/* - - local completion_dir="${asset_dir}"/shell-completions - newbashcomp "${completion_dir}"/sq.bash sq - dozshcomp "${completion_dir}"/_sq - dofishcomp "${completion_dir}"/sq.fish -} diff --git a/app-crypt/sequoia-sq/sequoia-sq-0.37.0-r1.ebuild b/app-crypt/sequoia-sq/sequoia-sq-0.37.0-r1.ebuild new file mode 100644 index 000000000000..ce8075c0d2dc --- /dev/null +++ b/app-crypt/sequoia-sq/sequoia-sq-0.37.0-r1.ebuild @@ -0,0 +1,589 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.22.0 + adler@1.0.2 + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + aligned@0.4.2 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.1.0 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.76 + as-slice@0.2.1 + ascii-canvas@3.0.0 + assert_cmd@2.0.13 + async-trait@0.1.80 + autocfg@1.3.0 + backtrace@0.3.73 + base16ct@0.2.0 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + block-padding@0.3.3 + blowfish@0.9.1 + botan-sys@0.10.5 + botan@0.10.7 + bstr@1.9.1 + buffered-reader@1.3.1 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.6.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + camellia@0.1.0 + capnp-futures@0.19.0 + capnp-rpc@0.19.2 + capnp@0.19.6 + capnpc@0.19.0 + cast5@0.11.1 + cc@1.0.99 + cexpr@0.6.0 + cfb-mode@0.8.2 + cfg-if@1.0.0 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.8.1 + clap@4.4.18 + clap_builder@4.4.18 + clap_complete@4.4.10 + clap_derive@4.4.7 + clap_lex@0.6.0 + cmac@0.7.2 + colorchoice@1.0.1 + console@0.15.8 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + ctor@0.2.8 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.2 + cvt@0.1.2 + data-encoding@2.6.0 + dbl@0.3.2 + der@0.7.9 + deranged@0.3.11 + des@0.8.1 + deunicode@1.6.0 + difflib@0.4.0 + digest@0.10.7 + dircpy@0.3.16 + directories@5.0.1 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dirs-sys@0.4.1 + dirs@5.0.1 + displaydoc@0.2.4 + doc-comment@0.3.3 + dot-writer@0.1.3 + dsa@0.6.3 + dyn-clone@1.0.17 + eax@0.5.0 + ecb@0.1.2 + ecdsa@0.16.9 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + either@1.12.0 + elliptic-curve@0.13.8 + embedded-io@0.6.1 + ena@0.14.3 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + endian-type@0.1.2 + enum-as-inner@0.6.0 + enumber@0.3.1 + env_logger@0.10.2 + equivalent@1.0.1 + errno@0.3.9 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fastrand@2.1.0 + fd-lock@4.0.2 + fehler-macros@1.0.0 + fehler@1.0.0 + ff@0.13.0 + fiat-crypto@0.2.9 + file_diff@1.0.0 + filetime@0.2.23 + fixedbitset@0.4.2 + flate2@1.0.30 + float-cmp@0.9.0 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fs2@0.4.3 + fs_at@0.1.10 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generator@0.7.5 + generic-array@0.14.7 + gethostname@0.4.3 + getopts@0.2.21 + getrandom@0.2.15 + ghash@0.5.1 + gimli@0.29.0 + git-testament-derive@0.2.0 + git-testament@0.2.5 + glob@0.3.1 + globset@0.4.14 + globwalk@0.9.1 + group@0.13.0 + h2@0.3.26 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.9.1 + heck@0.4.1 + hermit-abi@0.3.9 + hickory-client@0.24.1 + hickory-proto@0.24.1 + hickory-resolver@0.24.1 + hkdf@0.12.4 + hmac@0.12.1 + hostname@0.3.1 + html-escape@0.2.13 + http-body@0.4.6 + http@0.2.12 + httparse@1.9.3 + httpdate@1.0.3 + humansize@2.1.3 + humantime@2.1.0 + hyper-tls@0.5.0 + hyper@0.14.29 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.0 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idea@0.5.1 + idna@0.4.0 + idna@0.5.0 + idna@1.0.0 + ignore@0.4.22 + indexmap@1.9.3 + indexmap@2.2.6 + indicatif@0.17.8 + inout@0.1.3 + instant@0.1.13 + ipconfig@0.3.2 + ipnet@2.9.0 + is-terminal@0.4.12 + is_terminal_polyfill@1.70.0 + itertools@0.11.0 + itoa@1.0.11 + js-sys@0.3.69 + jwalk@0.8.1 + lalrpop-util@0.20.2 + lalrpop@0.20.2 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.155 + libloading@0.8.3 + libm@0.2.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + line-col@0.2.1 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + litemap@0.7.3 + lock_api@0.4.12 + log@0.4.21 + loom@0.5.6 + lru-cache@0.1.2 + match_cfg@0.1.0 + matchers@0.1.0 + md-5@0.10.6 + memchr@2.7.4 + memsec@0.6.3 + memsec@0.7.0 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.7.3 + mio@0.8.11 + native-tls@0.2.12 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nibble_vec@0.1.0 + nix@0.26.4 + nom@7.1.3 + normalize-line-endings@0.3.0 + normpath@1.1.0 + nu-ansi-term@0.46.0 + num-bigint-dig@0.8.4 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.45 + num-traits@0.2.19 + num_cpus@1.16.0 + number_prefix@0.4.0 + object@0.36.0 + once_cell@1.19.0 + opaque-debug@0.3.1 + openpgp-cert-d@0.3.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.102 + openssl@0.10.64 + option-ext@0.2.0 + overload@0.1.1 + p256@0.13.2 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + peeking_take_while@0.1.2 + pem-rfc7468@0.7.0 + percent-encoding@2.3.1 + pest@2.7.10 + pest_derive@2.7.10 + pest_generator@2.7.10 + pest_meta@2.7.10 + petgraph@0.6.5 + phf_shared@0.10.0 + pikchr@0.1.3 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + platforms@3.4.0 + polyval@0.6.2 + portable-atomic@1.6.0 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + primeorder@0.13.6 + proc-macro2@1.0.85 + pulldown-cmark@0.9.6 + quick-error@1.2.3 + quote@1.0.36 + radix_trie@0.2.1 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.2 + redox_users@0.4.5 + regex-automata@0.1.10 + regex-automata@0.4.7 + regex-syntax@0.6.29 + regex-syntax@0.8.4 + regex@1.10.5 + remove_dir_all@0.8.2 + reqwest@0.11.27 + resolv-conf@0.7.0 + rfc6979@0.4.0 + ripemd@0.1.3 + roadmap@0.5.0 + roff@0.2.1 + rpassword@7.3.1 + rsa@0.9.6 + rtoolbox@0.0.2 + rusqlite@0.31.0 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + rustls-pemfile@1.0.4 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.23 + scoped-tls@1.0.1 + scopeguard@1.2.0 + sec1@0.7.3 + security-framework-sys@2.11.0 + security-framework@2.11.0 + semver@1.0.23 + sequoia-autocrypt@0.25.1 + sequoia-cert-store@0.6.0 + sequoia-directories@0.1.0 + sequoia-gpg-agent@0.4.1 + sequoia-ipc@0.35.0 + sequoia-keystore-backend@0.5.0 + sequoia-keystore-gpg-agent@0.3.0 + sequoia-keystore-softkeys@0.5.0 + sequoia-keystore@0.5.0 + sequoia-net@0.28.0 + sequoia-openpgp@1.20.0 + sequoia-policy-config@0.6.0 + sequoia-wot@0.12.0 + serde-aux@4.5.0 + serde@1.0.203 + serde_derive@1.0.203 + serde_json@1.0.117 + serde_urlencoded@0.7.1 + serde_yaml@0.8.26 + serde_yaml@0.9.34+deprecated + sha1collisiondetection@0.3.4 + sha2@0.10.8 + sharded-slab@0.1.7 + shell-words@1.1.0 + shlex@1.3.0 + signature@2.2.0 + siphasher@0.3.11 + slab@0.4.9 + slug@0.1.5 + smallvec@1.13.2 + smawk@0.3.2 + socket2@0.5.7 + spin@0.5.2 + spki@0.7.3 + stable_deref_trait@1.2.0 + state@0.5.3 + stfu8@0.2.7 + string_cache@0.8.7 + strsim@0.10.0 + subplot-build@0.9.0 + subplot@0.9.0 + subplotlib-derive@0.9.0 + subplotlib@0.9.0 + subtle@2.5.0 + syn@1.0.109 + syn@2.0.66 + sync_wrapper@0.1.2 + synstructure@0.13.1 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tempfile-fast@0.3.4 + tempfile@3.10.1 + tera@1.20.0 + term@0.7.0 + termcolor@1.4.1 + terminal_size@0.3.0 + termtree@0.4.1 + textwrap@0.15.2 + thiserror-impl@1.0.61 + thiserror@1.0.61 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinystr@0.7.6 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio-macros@2.3.0 + tokio-native-tls@0.3.1 + tokio-util@0.7.11 + tokio@1.38.0 + toml@0.5.11 + tower-service@0.3.2 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing@0.1.40 + try-lock@0.2.5 + twofish@0.7.1 + typenum@1.17.0 + ucd-trie@0.1.6 + unescape@0.1.0 + unic-char-property@0.9.0 + unic-char-range@0.9.0 + unic-common@0.9.0 + unic-segment@0.9.0 + unic-ucd-segment@0.9.0 + unic-ucd-version@0.9.0 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-linebreak@0.1.5 + unicode-normalization@0.1.23 + unicode-width@0.1.13 + unicode-xid@0.2.4 + universal-hash@0.5.1 + unsafe-libyaml@0.2.11 + url@2.5.1 + utf16_iter@1.0.5 + utf8-width@0.1.7 + utf8_iter@1.0.4 + utf8parse@0.2.2 + valuable@0.1.0 + vcpkg@0.2.15 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + widestring@1.1.0 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows@0.48.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winreg@0.50.0 + write16@1.0.0 + writeable@0.5.5 + x25519-dalek@2.0.1 + xxhash-rust@0.8.10 + yaml-rust@0.4.5 + yoke-derive@0.7.4 + yoke@0.7.4 + z-base-32@0.1.4 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zeroize@1.8.1 + zeroize_derive@1.4.2 + zerovec-derive@0.10.2 + zerovec@0.10.2 +" + +LLVM_COMPAT=( {16..18} ) + +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" +SRC_URI=" + https://gitlab.com/sequoia-pgp/sequoia-sq/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}"/${PN}-v${PV} + +LICENSE="LGPL-2.1+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT MIT-0 MPL-2.0 + Unicode-3.0 Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~ppc64" + +QA_FLAGS_IGNORED="usr/bin/sq" + +COMMON_DEPEND=" + dev-db/sqlite:3 + dev-libs/gmp:= + dev-libs/nettle:= + dev-libs/openssl:= +" +DEPEND=" + ${COMMON_DEPEND} + dev-libs/capnproto +" +RDEPEND=" + ${COMMON_DEPEND} +" +# Clang needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') + 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. + asset_dir="${T}"/assets + export ASSET_OUT_DIR="${asset_dir}" + + # Setting CARGO_TARGET_DIR is required to have the build system + # create the bash and zsh completion files. + export CARGO_TARGET_DIR="${S}/target" + cargo_src_compile +} + +src_install() { + cargo_src_install + + doman "${asset_dir}"/man-pages/* + + local completion_dir="${asset_dir}"/shell-completions + newbashcomp "${completion_dir}"/sq.bash sq + dozshcomp "${completion_dir}"/_sq + dofishcomp "${completion_dir}"/sq.fish +} diff --git a/app-crypt/sequoia-sq/sequoia-sq-0.37.0.ebuild b/app-crypt/sequoia-sq/sequoia-sq-0.37.0.ebuild deleted file mode 100644 index 03427bf5486d..000000000000 --- a/app-crypt/sequoia-sq/sequoia-sq-0.37.0.ebuild +++ /dev/null @@ -1,585 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - addr2line@0.22.0 - adler@1.0.2 - aead@0.5.2 - aes-gcm@0.10.3 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - aligned@0.4.2 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.1.0 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - anyhow@1.0.76 - as-slice@0.2.1 - ascii-canvas@3.0.0 - assert_cmd@2.0.13 - async-trait@0.1.80 - autocfg@1.3.0 - backtrace@0.3.73 - base16ct@0.2.0 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - bindgen@0.68.1 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - block-padding@0.3.3 - blowfish@0.9.1 - botan-sys@0.10.5 - botan@0.10.7 - bstr@1.9.1 - buffered-reader@1.3.1 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.6.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - camellia@0.1.0 - capnp-futures@0.19.0 - capnp-rpc@0.19.2 - capnp@0.19.6 - capnpc@0.19.0 - cast5@0.11.1 - cc@1.0.99 - cexpr@0.6.0 - cfb-mode@0.8.2 - cfg-if@1.0.0 - chrono@0.4.38 - cipher@0.4.4 - clang-sys@1.8.1 - clap@4.4.18 - clap_builder@4.4.18 - clap_complete@4.4.10 - clap_derive@4.4.7 - clap_lex@0.6.0 - cmac@0.7.2 - colorchoice@1.0.1 - console@0.15.8 - const-oid@0.9.6 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crossbeam@0.8.4 - crunchy@0.2.2 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - ctor@0.2.8 - ctr@0.9.2 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.2 - cvt@0.1.2 - data-encoding@2.6.0 - dbl@0.3.2 - der@0.7.9 - deranged@0.3.11 - des@0.8.1 - deunicode@1.6.0 - difflib@0.4.0 - digest@0.10.7 - dircpy@0.3.16 - directories@5.0.1 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - dirs-sys@0.4.1 - dirs@5.0.1 - displaydoc@0.2.4 - doc-comment@0.3.3 - dot-writer@0.1.3 - dsa@0.6.3 - dyn-clone@1.0.17 - eax@0.5.0 - ecb@0.1.2 - ecdsa@0.16.9 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - either@1.12.0 - elliptic-curve@0.13.8 - embedded-io@0.6.1 - ena@0.14.3 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - endian-type@0.1.2 - enum-as-inner@0.6.0 - enumber@0.3.1 - env_logger@0.10.2 - equivalent@1.0.1 - errno@0.3.9 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fastrand@2.1.0 - fd-lock@4.0.2 - fehler-macros@1.0.0 - fehler@1.0.0 - ff@0.13.0 - fiat-crypto@0.2.9 - file_diff@1.0.0 - filetime@0.2.23 - fixedbitset@0.4.2 - flate2@1.0.30 - float-cmp@0.9.0 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fs2@0.4.3 - fs_at@0.1.10 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - generator@0.7.5 - generic-array@0.14.7 - gethostname@0.4.3 - getopts@0.2.21 - getrandom@0.2.15 - ghash@0.5.1 - gimli@0.29.0 - git-testament-derive@0.2.0 - git-testament@0.2.5 - glob@0.3.1 - globset@0.4.14 - globwalk@0.9.1 - group@0.13.0 - h2@0.3.26 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashlink@0.9.1 - heck@0.4.1 - hermit-abi@0.3.9 - hickory-client@0.24.1 - hickory-proto@0.24.1 - hickory-resolver@0.24.1 - hkdf@0.12.4 - hmac@0.12.1 - hostname@0.3.1 - html-escape@0.2.13 - http-body@0.4.6 - http@0.2.12 - httparse@1.9.3 - httpdate@1.0.3 - humansize@2.1.3 - humantime@2.1.0 - hyper-tls@0.5.0 - hyper@0.14.29 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - icu_collections@1.5.0 - icu_locid@1.5.0 - icu_locid_transform@1.5.0 - icu_locid_transform_data@1.5.0 - icu_normalizer@1.5.0 - icu_normalizer_data@1.5.0 - icu_properties@1.5.0 - icu_properties_data@1.5.0 - icu_provider@1.5.0 - icu_provider_macros@1.5.0 - idea@0.5.1 - idna@0.4.0 - idna@0.5.0 - idna@1.0.0 - ignore@0.4.22 - indexmap@1.9.3 - indexmap@2.2.6 - indicatif@0.17.8 - inout@0.1.3 - instant@0.1.13 - ipconfig@0.3.2 - ipnet@2.9.0 - is-terminal@0.4.12 - is_terminal_polyfill@1.70.0 - itertools@0.11.0 - itoa@1.0.11 - js-sys@0.3.69 - jwalk@0.8.1 - lalrpop-util@0.20.2 - lalrpop@0.20.2 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.155 - libloading@0.8.3 - libm@0.2.8 - libredox@0.1.3 - libsqlite3-sys@0.28.0 - line-col@0.2.1 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.14 - litemap@0.7.3 - lock_api@0.4.12 - log@0.4.21 - loom@0.5.6 - lru-cache@0.1.2 - match_cfg@0.1.0 - matchers@0.1.0 - md-5@0.10.6 - memchr@2.7.4 - memsec@0.6.3 - memsec@0.7.0 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.7.3 - mio@0.8.11 - native-tls@0.2.12 - nettle-sys@2.3.0 - nettle@7.4.0 - new_debug_unreachable@1.0.6 - nibble_vec@0.1.0 - nix@0.26.4 - nom@7.1.3 - normalize-line-endings@0.3.0 - normpath@1.1.0 - nu-ansi-term@0.46.0 - num-bigint-dig@0.8.4 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.45 - num-traits@0.2.19 - num_cpus@1.16.0 - number_prefix@0.4.0 - object@0.36.0 - once_cell@1.19.0 - opaque-debug@0.3.1 - openpgp-cert-d@0.3.2 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.102 - openssl@0.10.64 - option-ext@0.2.0 - overload@0.1.1 - p256@0.13.2 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - paste@1.0.15 - peeking_take_while@0.1.2 - pem-rfc7468@0.7.0 - percent-encoding@2.3.1 - pest@2.7.10 - pest_derive@2.7.10 - pest_generator@2.7.10 - pest_meta@2.7.10 - petgraph@0.6.5 - phf_shared@0.10.0 - pikchr@0.1.3 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - platforms@3.4.0 - polyval@0.6.2 - portable-atomic@1.6.0 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - primeorder@0.13.6 - proc-macro2@1.0.85 - pulldown-cmark@0.9.6 - quick-error@1.2.3 - quote@1.0.36 - radix_trie@0.2.1 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.2 - redox_users@0.4.5 - regex-automata@0.1.10 - regex-automata@0.4.7 - regex-syntax@0.6.29 - regex-syntax@0.8.4 - regex@1.10.5 - remove_dir_all@0.8.2 - reqwest@0.11.27 - resolv-conf@0.7.0 - rfc6979@0.4.0 - ripemd@0.1.3 - roadmap@0.5.0 - roff@0.2.1 - rpassword@7.3.1 - rsa@0.9.6 - rtoolbox@0.0.2 - rusqlite@0.31.0 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - rustls-pemfile@1.0.4 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.23 - scoped-tls@1.0.1 - scopeguard@1.2.0 - sec1@0.7.3 - security-framework-sys@2.11.0 - security-framework@2.11.0 - semver@1.0.23 - sequoia-autocrypt@0.25.1 - sequoia-cert-store@0.6.0 - sequoia-directories@0.1.0 - sequoia-gpg-agent@0.4.1 - sequoia-ipc@0.35.0 - sequoia-keystore-backend@0.5.0 - sequoia-keystore-gpg-agent@0.3.0 - sequoia-keystore-softkeys@0.5.0 - sequoia-keystore@0.5.0 - sequoia-net@0.28.0 - sequoia-openpgp@1.20.0 - sequoia-policy-config@0.6.0 - sequoia-wot@0.12.0 - serde-aux@4.5.0 - serde@1.0.203 - serde_derive@1.0.203 - serde_json@1.0.117 - serde_urlencoded@0.7.1 - serde_yaml@0.8.26 - serde_yaml@0.9.34+deprecated - sha1collisiondetection@0.3.4 - sha2@0.10.8 - sharded-slab@0.1.7 - shell-words@1.1.0 - shlex@1.3.0 - signature@2.2.0 - siphasher@0.3.11 - slab@0.4.9 - slug@0.1.5 - smallvec@1.13.2 - smawk@0.3.2 - socket2@0.5.7 - spin@0.5.2 - spki@0.7.3 - stable_deref_trait@1.2.0 - state@0.5.3 - stfu8@0.2.7 - string_cache@0.8.7 - strsim@0.10.0 - subplot-build@0.9.0 - subplot@0.9.0 - subplotlib-derive@0.9.0 - subplotlib@0.9.0 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.66 - sync_wrapper@0.1.2 - synstructure@0.13.1 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tempfile-fast@0.3.4 - tempfile@3.10.1 - tera@1.20.0 - term@0.7.0 - termcolor@1.4.1 - terminal_size@0.3.0 - termtree@0.4.1 - textwrap@0.15.2 - thiserror-impl@1.0.61 - thiserror@1.0.61 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinystr@0.7.6 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tokio-macros@2.3.0 - tokio-native-tls@0.3.1 - tokio-util@0.7.11 - tokio@1.38.0 - toml@0.5.11 - tower-service@0.3.2 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing@0.1.40 - try-lock@0.2.5 - twofish@0.7.1 - typenum@1.17.0 - ucd-trie@0.1.6 - unescape@0.1.0 - unic-char-property@0.9.0 - unic-char-range@0.9.0 - unic-common@0.9.0 - unic-segment@0.9.0 - unic-ucd-segment@0.9.0 - unic-ucd-version@0.9.0 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.23 - unicode-width@0.1.13 - unicode-xid@0.2.4 - universal-hash@0.5.1 - unsafe-libyaml@0.2.11 - url@2.5.1 - utf16_iter@1.0.5 - utf8-width@0.1.7 - utf8_iter@1.0.4 - utf8parse@0.2.2 - valuable@0.1.0 - vcpkg@0.2.15 - version_check@0.9.4 - wait-timeout@0.2.0 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - widestring@1.1.0 - win-crypto-ng@0.5.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows@0.48.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winreg@0.50.0 - write16@1.0.0 - writeable@0.5.5 - x25519-dalek@2.0.1 - xxhash-rust@0.8.10 - yaml-rust@0.4.5 - yoke-derive@0.7.4 - yoke@0.7.4 - z-base-32@0.1.4 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zerofrom-derive@0.1.4 - zerofrom@0.1.4 - zeroize@1.8.1 - zeroize_derive@1.4.2 - zerovec-derive@0.10.2 - zerovec@0.10.2 -" - -LLVM_COMPAT=( {16..18} ) - -inherit cargo shell-completion llvm-r1 - -DESCRIPTION="CLI of the Sequoia OpenPGP implementation" -HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-sq" -SRC_URI=" - https://gitlab.com/sequoia-pgp/sequoia-sq/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}"/${PN}-v${PV} - -LICENSE="LGPL-2.1+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT MIT-0 MPL-2.0 - Unicode-3.0 Unicode-DFS-2016 - || ( GPL-2 GPL-3 LGPL-3 ) -" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64" - -QA_FLAGS_IGNORED="usr/bin/sq" - -COMMON_DEPEND=" - dev-db/sqlite:3 - dev-libs/gmp:= - dev-libs/nettle:= - dev-libs/openssl:= -" -DEPEND=" - ${COMMON_DEPEND} - dev-libs/capnproto -" -RDEPEND=" - ${COMMON_DEPEND} -" -# Clang needed for bindgen -BDEPEND=" - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - virtual/pkgconfig - >=virtual/rust-1.70 -" - -src_compile() { - # Set this here so that it doesn't change if we run tests - # and cause a recompilation. - asset_dir="${T}"/assets - export ASSET_OUT_DIR="${asset_dir}" - - # Setting CARGO_TARGET_DIR is required to have the build system - # create the bash and zsh completion files. - export CARGO_TARGET_DIR="${S}/target" - cargo_src_compile -} - -src_install() { - cargo_src_install - - doman "${asset_dir}"/man-pages/* - - local completion_dir="${asset_dir}"/shell-completions - newbashcomp "${completion_dir}"/sq.bash sq - dozshcomp "${completion_dir}"/_sq - dofishcomp "${completion_dir}"/sq.fish -} diff --git a/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1-r1.ebuild b/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1-r1.ebuild new file mode 100644 index 000000000000..cd4d8540631c --- /dev/null +++ b/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1-r1.ebuild @@ -0,0 +1,324 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aead@0.5.2 + aes-gcm@0.10.3 + aes@0.8.4 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.13 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + anyhow@1.0.76 + ascii-canvas@3.0.0 + assert_cmd@2.0.13 + autocfg@1.2.0 + base16ct@0.2.0 + base64@0.22.0 + base64ct@1.6.0 + bindgen@0.68.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + block-padding@0.3.3 + blowfish@0.9.1 + botan-sys@0.10.5 + botan@0.10.7 + bstr@1.9.1 + buffered-reader@1.3.1 + bumpalo@3.16.0 + byteorder@1.5.0 + camellia@0.1.0 + cast5@0.11.1 + cc@1.0.94 + cexpr@0.6.0 + cfb-mode@0.8.2 + cfg-if@1.0.0 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.7.0 + clap@4.4.18 + clap_builder@4.4.18 + clap_complete@4.4.10 + clap_derive@4.4.7 + clap_lex@0.6.0 + clap_mangen@0.2.19 + cmac@0.7.2 + colorchoice@1.0.0 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + cpufeatures@0.2.12 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + ctr@0.9.2 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.2 + dbl@0.3.2 + der@0.7.9 + des@0.8.1 + difflib@0.4.0 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + doc-comment@0.3.3 + dsa@0.6.3 + dyn-clone@1.0.17 + eax@0.5.0 + ecb@0.1.2 + ecdsa@0.16.9 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + either@1.11.0 + elliptic-curve@0.13.8 + ena@0.14.2 + equivalent@1.0.1 + errno@0.3.8 + fastrand@2.0.2 + ff@0.13.0 + fiat-crypto@0.2.7 + fixedbitset@0.4.2 + float-cmp@0.9.0 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + generic-array@0.14.7 + getrandom@0.2.14 + ghash@0.5.1 + glob@0.3.1 + group@0.13.0 + hashbrown@0.14.3 + heck@0.4.1 + hkdf@0.12.4 + hmac@0.12.1 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + idea@0.5.1 + idna@0.5.0 + indexmap@2.2.6 + inout@0.1.3 + itertools@0.11.0 + js-sys@0.3.69 + lalrpop-util@0.20.2 + lalrpop@0.20.2 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.153 + libloading@0.8.3 + libm@0.2.8 + libredox@0.1.3 + linux-raw-sys@0.4.13 + lock_api@0.4.11 + log@0.4.21 + md-5@0.10.6 + memchr@2.7.2 + memsec@0.6.3 + minimal-lexical@0.2.1 + nettle-sys@2.3.0 + nettle@7.4.0 + new_debug_unreachable@1.0.6 + nom@7.1.3 + normalize-line-endings@0.3.0 + num-bigint-dig@0.8.4 + num-integer@0.1.46 + num-iter@0.1.44 + num-traits@0.2.18 + once_cell@1.19.0 + opaque-debug@0.3.1 + openssl-macros@0.1.1 + openssl-sys@0.9.102 + openssl@0.10.64 + p256@0.13.2 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + peeking_take_while@0.1.2 + pem-rfc7468@0.7.0 + petgraph@0.6.4 + phf_shared@0.10.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + platforms@3.4.0 + polyval@0.6.2 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + primeorder@0.13.6 + proc-macro2@1.0.81 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.4.1 + redox_users@0.4.5 + regex-automata@0.4.6 + regex-syntax@0.8.3 + regex@1.10.4 + rfc6979@0.4.0 + ripemd@0.1.3 + roff@0.2.1 + rsa@0.9.6 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.32 + rustversion@1.0.15 + same-file@1.0.6 + scopeguard@1.2.0 + sec1@0.7.3 + semver@1.0.22 + sequoia-openpgp@1.20.0 + sequoia-policy-config@0.6.0 + serde@1.0.198 + serde_derive@1.0.198 + sha1collisiondetection@0.3.4 + sha2@0.10.8 + shlex@1.3.0 + signature@2.2.0 + siphasher@0.3.11 + smallvec@1.13.2 + spin@0.5.2 + spki@0.7.3 + string_cache@0.8.7 + strsim@0.10.0 + subtle@2.5.0 + syn@2.0.60 + tempfile@3.10.1 + term@0.7.0 + terminal_size@0.3.0 + termtree@0.4.1 + thiserror-impl@1.0.58 + thiserror@1.0.58 + tiny-keccak@2.0.2 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.5.11 + twofish@0.7.1 + typenum@1.17.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-xid@0.2.4 + universal-hash@0.5.1 + utf8parse@0.2.1 + vcpkg@0.2.15 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + win-crypto-ng@0.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + 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-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + x25519-dalek@2.0.1 + xxhash-rust@0.8.10 + zeroize@1.7.0 + zeroize_derive@1.4.2 +" + +LLVM_COMPAT=( {17..18} ) +RUST_NEEDS_LLVM=1 + +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" +SRC_URI=" + https://gitlab.com/sequoia-pgp/sequoia-sqv/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}"/${PN}-v${PV} + +LICENSE="GPL-2+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT Unicode-DFS-2016 + || ( GPL-2 GPL-3 LGPL-3 ) +" +SLOT="0" +KEYWORDS="amd64 ~ppc64" + +QA_FLAGS_IGNORED="usr/bin/sqv" + +COMMON_DEPEND=" + dev-libs/gmp:= + dev-libs/nettle:= +" + +DEPEND=" + ${COMMON_DEPEND} +" +RDEPEND="${COMMON_DEPEND}" +# Needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') + 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. + asset_dir="${T}"/assets + export ASSET_OUT_DIR="${asset_dir}" + + # Setting CARGO_TARGET_DIR is required to have the build system + # create the bash and zsh completion files. + export CARGO_TARGET_DIR="${S}/target" + + cargo_src_compile +} + +src_install() { + cargo_src_install + + newbashcomp "${asset_dir}"/shell-completions/sqv.bash sqv + + doman "${asset_dir}"/man-pages/sqv.1 + + insinto /usr/share/zsh/site-functions + doins "${asset_dir}"/shell-completions/_sqv + + insinto /usr/share/fish/vendor_completions.d + doins "${asset_dir}"/shell-completions/sqv.fish +} diff --git a/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1.ebuild b/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1.ebuild deleted file mode 100644 index 4352e534ebb9..000000000000 --- a/app-crypt/sequoia-sqv/sequoia-sqv-1.2.1.ebuild +++ /dev/null @@ -1,318 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aead@0.5.2 - aes-gcm@0.10.3 - aes@0.8.4 - aho-corasick@1.1.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.13 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - anyhow@1.0.76 - ascii-canvas@3.0.0 - assert_cmd@2.0.13 - autocfg@1.2.0 - base16ct@0.2.0 - base64@0.22.0 - base64ct@1.6.0 - bindgen@0.68.1 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - block-padding@0.3.3 - blowfish@0.9.1 - botan-sys@0.10.5 - botan@0.10.7 - bstr@1.9.1 - buffered-reader@1.3.1 - bumpalo@3.16.0 - byteorder@1.5.0 - camellia@0.1.0 - cast5@0.11.1 - cc@1.0.94 - cexpr@0.6.0 - cfb-mode@0.8.2 - cfg-if@1.0.0 - chrono@0.4.38 - cipher@0.4.4 - clang-sys@1.7.0 - clap@4.4.18 - clap_builder@4.4.18 - clap_complete@4.4.10 - clap_derive@4.4.7 - clap_lex@0.6.0 - clap_mangen@0.2.19 - cmac@0.7.2 - colorchoice@1.0.0 - const-oid@0.9.6 - core-foundation-sys@0.8.6 - cpufeatures@0.2.12 - crunchy@0.2.2 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - ctr@0.9.2 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.2 - dbl@0.3.2 - der@0.7.9 - des@0.8.1 - difflib@0.4.0 - digest@0.10.7 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - doc-comment@0.3.3 - dsa@0.6.3 - dyn-clone@1.0.17 - eax@0.5.0 - ecb@0.1.2 - ecdsa@0.16.9 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - either@1.11.0 - elliptic-curve@0.13.8 - ena@0.14.2 - equivalent@1.0.1 - errno@0.3.8 - fastrand@2.0.2 - ff@0.13.0 - fiat-crypto@0.2.7 - fixedbitset@0.4.2 - float-cmp@0.9.0 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - generic-array@0.14.7 - getrandom@0.2.14 - ghash@0.5.1 - glob@0.3.1 - group@0.13.0 - hashbrown@0.14.3 - heck@0.4.1 - hkdf@0.12.4 - hmac@0.12.1 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - idea@0.5.1 - idna@0.5.0 - indexmap@2.2.6 - inout@0.1.3 - itertools@0.11.0 - js-sys@0.3.69 - lalrpop-util@0.20.2 - lalrpop@0.20.2 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.153 - libloading@0.8.3 - libm@0.2.8 - libredox@0.1.3 - linux-raw-sys@0.4.13 - lock_api@0.4.11 - log@0.4.21 - md-5@0.10.6 - memchr@2.7.2 - memsec@0.6.3 - minimal-lexical@0.2.1 - nettle-sys@2.3.0 - nettle@7.4.0 - new_debug_unreachable@1.0.6 - nom@7.1.3 - normalize-line-endings@0.3.0 - num-bigint-dig@0.8.4 - num-integer@0.1.46 - num-iter@0.1.44 - num-traits@0.2.18 - once_cell@1.19.0 - opaque-debug@0.3.1 - openssl-macros@0.1.1 - openssl-sys@0.9.102 - openssl@0.10.64 - p256@0.13.2 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - peeking_take_while@0.1.2 - pem-rfc7468@0.7.0 - petgraph@0.6.4 - phf_shared@0.10.0 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - platforms@3.4.0 - polyval@0.6.2 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - primeorder@0.13.6 - proc-macro2@1.0.81 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redox_syscall@0.4.1 - redox_users@0.4.5 - regex-automata@0.4.6 - regex-syntax@0.8.3 - regex@1.10.4 - rfc6979@0.4.0 - ripemd@0.1.3 - roff@0.2.1 - rsa@0.9.6 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.32 - rustversion@1.0.15 - same-file@1.0.6 - scopeguard@1.2.0 - sec1@0.7.3 - semver@1.0.22 - sequoia-openpgp@1.20.0 - sequoia-policy-config@0.6.0 - serde@1.0.198 - serde_derive@1.0.198 - sha1collisiondetection@0.3.4 - sha2@0.10.8 - shlex@1.3.0 - signature@2.2.0 - siphasher@0.3.11 - smallvec@1.13.2 - spin@0.5.2 - spki@0.7.3 - string_cache@0.8.7 - strsim@0.10.0 - subtle@2.5.0 - syn@2.0.60 - tempfile@3.10.1 - term@0.7.0 - terminal_size@0.3.0 - termtree@0.4.1 - thiserror-impl@1.0.58 - thiserror@1.0.58 - tiny-keccak@2.0.2 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - toml@0.5.11 - twofish@0.7.1 - typenum@1.17.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-xid@0.2.4 - universal-hash@0.5.1 - utf8parse@0.2.1 - vcpkg@0.2.15 - version_check@0.9.4 - wait-timeout@0.2.0 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - win-crypto-ng@0.5.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - 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-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - x25519-dalek@2.0.1 - xxhash-rust@0.8.10 - zeroize@1.7.0 - zeroize_derive@1.4.2 -" - -LLVM_COMPAT=( {17..18} ) - -inherit bash-completion-r1 cargo llvm-r1 - -DESCRIPTION="A simple OpenPGP signature verification program" -HOMEPAGE="https://sequoia-pgp.org/ https://gitlab.com/sequoia-pgp/sequoia-sqv" -SRC_URI=" - https://gitlab.com/sequoia-pgp/sequoia-sqv/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}"/${PN}-v${PV} - -LICENSE="GPL-2+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC LGPL-2+ MIT Unicode-DFS-2016 - || ( GPL-2 GPL-3 LGPL-3 ) -" -SLOT="0" -KEYWORDS="amd64 ~ppc64" - -QA_FLAGS_IGNORED="usr/bin/sqv" - -COMMON_DEPEND=" - dev-libs/gmp:= - dev-libs/nettle:= -" - -DEPEND=" - ${COMMON_DEPEND} -" -RDEPEND="${COMMON_DEPEND}" -# Needed for bindgen -BDEPEND=" - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - virtual/pkgconfig -" - -src_compile() { - # Set this here so that it doesn't change if we run tests - # and cause a recompilation. - asset_dir="${T}"/assets - export ASSET_OUT_DIR="${asset_dir}" - - # Setting CARGO_TARGET_DIR is required to have the build system - # create the bash and zsh completion files. - export CARGO_TARGET_DIR="${S}/target" - - cargo_src_compile -} - -src_install() { - cargo_src_install - - newbashcomp "${asset_dir}"/shell-completions/sqv.bash sqv - - doman "${asset_dir}"/man-pages/sqv.1 - - insinto /usr/share/zsh/site-functions - doins "${asset_dir}"/shell-completions/_sqv - - insinto /usr/share/fish/vendor_completions.d - doins "${asset_dir}"/shell-completions/sqv.fish -} diff --git a/app-editors/helix/helix-24.03-r1.ebuild b/app-editors/helix/helix-24.03-r1.ebuild deleted file mode 100644 index 46ee3c25397e..000000000000 --- a/app-editors/helix/helix-24.03-r1.ebuild +++ /dev/null @@ -1,362 +0,0 @@ -# Copyright 2024-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - addr2line@0.20.0 - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.2 - allocator-api2@0.2.14 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anyhow@1.0.81 - arc-swap@1.7.1 - autocfg@1.1.0 - backtrace@0.3.68 - bitflags@1.3.2 - bitflags@2.5.0 - bstr@1.8.0 - bumpalo@3.12.0 - bytes@1.4.0 - cassowary@0.3.0 - cc@1.0.90 - cfg-if@1.0.0 - chardetng@0.1.17 - chrono@0.4.35 - clipboard-win@5.3.0 - clru@0.6.1 - codespan-reporting@0.11.1 - content_inspector@0.2.4 - core-foundation-sys@0.8.4 - cov-mark@1.1.0 - crc32fast@1.3.2 - crossbeam-channel@0.5.8 - crossbeam-deque@0.8.3 - crossbeam-epoch@0.9.15 - crossbeam-utils@0.8.16 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - cxx-build@1.0.94 - cxx@1.0.94 - cxxbridge-flags@1.0.94 - cxxbridge-macro@1.0.94 - dunce@1.0.4 - either@1.9.0 - encoding_rs@0.8.33 - encoding_rs_io@0.1.7 - equivalent@1.0.0 - errno@0.3.8 - error-code@3.0.0 - etcetera@0.8.0 - faster-hex@0.9.0 - fastrand@2.0.1 - fern@0.6.2 - filedescriptor@0.8.2 - filetime@0.2.23 - flate2@1.0.27 - fnv@1.0.7 - form_urlencoded@1.2.1 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - getrandom@0.2.9 - gimli@0.27.3 - gix-actor@0.31.1 - gix-attributes@0.22.2 - gix-bitmap@0.2.11 - gix-chunk@0.4.8 - gix-command@0.3.6 - gix-commitgraph@0.24.2 - gix-config-value@0.14.6 - gix-config@0.36.0 - gix-date@0.8.5 - gix-diff@0.42.0 - gix-discover@0.31.0 - gix-features@0.38.1 - gix-filter@0.11.0 - gix-fs@0.10.1 - gix-glob@0.16.2 - gix-hash@0.14.2 - gix-hashtable@0.5.2 - gix-ignore@0.11.2 - gix-index@0.31.1 - gix-lock@13.0.0 - gix-macros@0.1.4 - gix-object@0.42.1 - gix-odb@0.59.0 - gix-pack@0.49.0 - gix-packetline-blocking@0.17.3 - gix-path@0.10.7 - gix-pathspec@0.7.2 - gix-quote@0.4.12 - gix-ref@0.43.0 - gix-refspec@0.23.0 - gix-revision@0.27.0 - gix-revwalk@0.13.0 - gix-sec@0.10.6 - gix-submodule@0.10.0 - gix-tempfile@13.0.0 - gix-trace@0.1.8 - gix-traverse@0.38.0 - gix-url@0.27.2 - gix-utils@0.1.11 - gix-validate@0.8.4 - gix-worktree@0.32.0 - gix@0.61.0 - globset@0.4.14 - grep-matcher@0.1.7 - grep-regex@0.1.12 - grep-searcher@0.1.13 - hashbrown@0.12.3 - hashbrown@0.14.3 - hermit-abi@0.2.6 - home@0.5.9 - iana-time-zone-haiku@0.1.1 - iana-time-zone@0.1.56 - idna@0.5.0 - ignore@0.4.22 - imara-diff@0.1.5 - indexmap@2.0.0 - indoc@2.0.5 - is-docker@0.2.0 - is-wsl@0.4.0 - itoa@1.0.6 - js-sys@0.3.61 - kstring@2.0.0 - libc@0.2.153 - libloading@0.8.3 - link-cplusplus@1.0.8 - linux-raw-sys@0.4.12 - lock_api@0.4.9 - log@0.4.21 - lsp-types@0.95.1 - memchr@2.6.3 - memmap2@0.9.0 - memoffset@0.9.0 - miniz_oxide@0.7.1 - mio@0.8.11 - nucleo-matcher@0.2.0 - nucleo@0.2.1 - num-traits@0.2.15 - num_cpus@1.15.0 - num_threads@0.1.6 - object@0.31.1 - once_cell@1.19.0 - open@5.1.2 - parking_lot@0.12.1 - parking_lot_core@0.9.7 - pathdiff@0.2.1 - percent-encoding@2.3.1 - pin-project-lite@0.2.12 - pin-utils@0.1.0 - proc-macro2@1.0.76 - prodash@28.0.0 - pulldown-cmark@0.10.0 - quickcheck@1.0.3 - quote@1.0.35 - rand@0.8.5 - rand_core@0.6.4 - rayon-core@1.11.0 - rayon@1.7.0 - redox_syscall@0.2.16 - redox_syscall@0.4.1 - regex-automata@0.4.5 - regex-cursor@0.1.4 - regex-syntax@0.8.2 - regex@1.10.4 - ropey@1.6.1 - rustc-demangle@0.1.23 - rustix@0.38.32 - ryu@1.0.13 - same-file@1.0.6 - scopeguard@1.1.0 - scratch@1.0.5 - serde@1.0.197 - serde_derive@1.0.197 - serde_json@1.0.114 - serde_repr@0.1.12 - serde_spanned@0.6.5 - sha1_smol@1.0.0 - shell-words@1.1.0 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.1 - signal-hook-tokio@0.3.1 - signal-hook@0.3.17 - slab@0.4.8 - slotmap@1.0.7 - smallvec@1.13.2 - smartstring@1.0.1 - smawk@0.3.1 - socket2@0.5.5 - static_assertions@1.1.0 - str_indices@0.4.1 - syn@1.0.109 - syn@2.0.48 - tempfile@3.10.1 - termcolor@1.2.0 - termini@1.0.0 - textwrap@0.16.1 - thiserror-impl@1.0.58 - thiserror@1.0.58 - threadpool@1.8.1 - time-core@0.1.1 - time-macros@0.2.10 - time@0.3.23 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tokio-macros@2.2.0 - tokio-stream@0.1.15 - tokio@1.36.0 - toml@0.8.12 - toml_datetime@0.6.5 - toml_edit@0.22.8 - tree-sitter@0.22.2 - unicase@2.6.0 - unicode-bidi@0.3.13 - unicode-bom@2.0.2 - unicode-general-category@0.6.0 - unicode-ident@1.0.8 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.22 - unicode-segmentation@1.11.0 - unicode-width@0.1.11 - url@2.5.0 - version_check@0.9.4 - walkdir@2.4.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.84 - wasm-bindgen-macro-support@0.2.84 - wasm-bindgen-macro@0.2.84 - wasm-bindgen-shared@0.2.84 - wasm-bindgen@0.2.84 - which@6.0.1 - 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 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.42.2 - windows-targets@0.48.0 - windows-targets@0.52.0 - windows@0.48.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.0 - windows_aarch64_gnullvm@0.52.0 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.0 - windows_aarch64_msvc@0.52.0 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.0 - windows_i686_gnu@0.52.0 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.0 - windows_i686_msvc@0.52.0 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.0 - windows_x86_64_gnu@0.52.0 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.0 - windows_x86_64_gnullvm@0.52.0 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.0 - windows_x86_64_msvc@0.52.0 - winnow@0.6.5 - winsafe@0.0.19 - zerocopy-derive@0.7.31 - zerocopy@0.7.31 -" - -inherit cargo desktop shell-completion xdg - -DESCRIPTION="A post-modern text editor" -HOMEPAGE=" - https://helix-editor.com/ - https://github.com/helix-editor/helix -" -SRC_URI=" - https://github.com/helix-editor/helix/releases/download/${PV}/${P}-source.tar.xz -> ${P}.tar.xz - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}" - -LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB" -SLOT="0" -KEYWORDS="amd64" -IUSE="+grammar" - -RDEPEND="dev-vcs/git" - -QA_FLAGS_IGNORED=" - usr/bin/hx - usr/share/helix/runtime/grammars/.*\.so -" - -DOCS=( - README.md - CHANGELOG.md - book/ - docs/ -) - -src_compile() { - use grammar || local -x HELIX_DISABLE_AUTO_GRAMMAR_BUILD=1 - - cargo_src_compile -} - -src_install() { - cargo_src_install --path helix-term - - insinto "/usr/$(get_libdir)/${PN}" - use grammar && doins runtime/grammars/*.so - rm -r runtime/grammars || die - use grammar && dosym "../../../$(get_libdir)/${PN}" "${EPREFIX}/usr/share/${PN}/runtime/grammars" - - insinto /usr/share/helix - doins -r runtime - dodoc -r "${DOCS[@]}" - - doicon -s 256x256 contrib/${PN}.png - domenu contrib/Helix.desktop - - insinto /usr/share/metainfo - doins contrib/Helix.appdata.xml - - newbashcomp contrib/completion/hx.bash hx - newzshcomp contrib/completion/hx.zsh _hx - dofishcomp contrib/completion/hx.fish - - newenvd - 99helix <<< 'HELIX_RUNTIME="/usr/share/helix/runtime"' -} - -pkg_postinst() { - einfo "The runtime files have been" - einfo "installed in '/usr/share/helix/runtime'. The environment variable" - einfo "HELIX_RUNTIME was also installed on your system. In running shell instances" - einfo "you need to run 'source /etc/profile' to pick up the new variable" - einfo "or manually set the environment variable HELIX_RUNTIME=/usr/share/helix/runtime." - - if ! use grammar ; then - einfo "" - einfo "Grammars are not installed yet. To fetch and install them, run:" - einfo "" - einfo " hx --grammar fetch" - einfo " hx --grammar build" - fi - - xdg_desktop_database_update - xdg_icon_cache_update -} - -pkg_postrm() { - xdg_desktop_database_update - xdg_icon_cache_update -} diff --git a/app-editors/helix/helix-24.03-r2.ebuild b/app-editors/helix/helix-24.03-r2.ebuild new file mode 100644 index 000000000000..46ee3c25397e --- /dev/null +++ b/app-editors/helix/helix-24.03-r2.ebuild @@ -0,0 +1,362 @@ +# Copyright 2024-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + addr2line@0.20.0 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.2 + allocator-api2@0.2.14 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anyhow@1.0.81 + arc-swap@1.7.1 + autocfg@1.1.0 + backtrace@0.3.68 + bitflags@1.3.2 + bitflags@2.5.0 + bstr@1.8.0 + bumpalo@3.12.0 + bytes@1.4.0 + cassowary@0.3.0 + cc@1.0.90 + cfg-if@1.0.0 + chardetng@0.1.17 + chrono@0.4.35 + clipboard-win@5.3.0 + clru@0.6.1 + codespan-reporting@0.11.1 + content_inspector@0.2.4 + core-foundation-sys@0.8.4 + cov-mark@1.1.0 + crc32fast@1.3.2 + crossbeam-channel@0.5.8 + crossbeam-deque@0.8.3 + crossbeam-epoch@0.9.15 + crossbeam-utils@0.8.16 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + cxx-build@1.0.94 + cxx@1.0.94 + cxxbridge-flags@1.0.94 + cxxbridge-macro@1.0.94 + dunce@1.0.4 + either@1.9.0 + encoding_rs@0.8.33 + encoding_rs_io@0.1.7 + equivalent@1.0.0 + errno@0.3.8 + error-code@3.0.0 + etcetera@0.8.0 + faster-hex@0.9.0 + fastrand@2.0.1 + fern@0.6.2 + filedescriptor@0.8.2 + filetime@0.2.23 + flate2@1.0.27 + fnv@1.0.7 + form_urlencoded@1.2.1 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + getrandom@0.2.9 + gimli@0.27.3 + gix-actor@0.31.1 + gix-attributes@0.22.2 + gix-bitmap@0.2.11 + gix-chunk@0.4.8 + gix-command@0.3.6 + gix-commitgraph@0.24.2 + gix-config-value@0.14.6 + gix-config@0.36.0 + gix-date@0.8.5 + gix-diff@0.42.0 + gix-discover@0.31.0 + gix-features@0.38.1 + gix-filter@0.11.0 + gix-fs@0.10.1 + gix-glob@0.16.2 + gix-hash@0.14.2 + gix-hashtable@0.5.2 + gix-ignore@0.11.2 + gix-index@0.31.1 + gix-lock@13.0.0 + gix-macros@0.1.4 + gix-object@0.42.1 + gix-odb@0.59.0 + gix-pack@0.49.0 + gix-packetline-blocking@0.17.3 + gix-path@0.10.7 + gix-pathspec@0.7.2 + gix-quote@0.4.12 + gix-ref@0.43.0 + gix-refspec@0.23.0 + gix-revision@0.27.0 + gix-revwalk@0.13.0 + gix-sec@0.10.6 + gix-submodule@0.10.0 + gix-tempfile@13.0.0 + gix-trace@0.1.8 + gix-traverse@0.38.0 + gix-url@0.27.2 + gix-utils@0.1.11 + gix-validate@0.8.4 + gix-worktree@0.32.0 + gix@0.61.0 + globset@0.4.14 + grep-matcher@0.1.7 + grep-regex@0.1.12 + grep-searcher@0.1.13 + hashbrown@0.12.3 + hashbrown@0.14.3 + hermit-abi@0.2.6 + home@0.5.9 + iana-time-zone-haiku@0.1.1 + iana-time-zone@0.1.56 + idna@0.5.0 + ignore@0.4.22 + imara-diff@0.1.5 + indexmap@2.0.0 + indoc@2.0.5 + is-docker@0.2.0 + is-wsl@0.4.0 + itoa@1.0.6 + js-sys@0.3.61 + kstring@2.0.0 + libc@0.2.153 + libloading@0.8.3 + link-cplusplus@1.0.8 + linux-raw-sys@0.4.12 + lock_api@0.4.9 + log@0.4.21 + lsp-types@0.95.1 + memchr@2.6.3 + memmap2@0.9.0 + memoffset@0.9.0 + miniz_oxide@0.7.1 + mio@0.8.11 + nucleo-matcher@0.2.0 + nucleo@0.2.1 + num-traits@0.2.15 + num_cpus@1.15.0 + num_threads@0.1.6 + object@0.31.1 + once_cell@1.19.0 + open@5.1.2 + parking_lot@0.12.1 + parking_lot_core@0.9.7 + pathdiff@0.2.1 + percent-encoding@2.3.1 + pin-project-lite@0.2.12 + pin-utils@0.1.0 + proc-macro2@1.0.76 + prodash@28.0.0 + pulldown-cmark@0.10.0 + quickcheck@1.0.3 + quote@1.0.35 + rand@0.8.5 + rand_core@0.6.4 + rayon-core@1.11.0 + rayon@1.7.0 + redox_syscall@0.2.16 + redox_syscall@0.4.1 + regex-automata@0.4.5 + regex-cursor@0.1.4 + regex-syntax@0.8.2 + regex@1.10.4 + ropey@1.6.1 + rustc-demangle@0.1.23 + rustix@0.38.32 + ryu@1.0.13 + same-file@1.0.6 + scopeguard@1.1.0 + scratch@1.0.5 + serde@1.0.197 + serde_derive@1.0.197 + serde_json@1.0.114 + serde_repr@0.1.12 + serde_spanned@0.6.5 + sha1_smol@1.0.0 + shell-words@1.1.0 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.1 + signal-hook-tokio@0.3.1 + signal-hook@0.3.17 + slab@0.4.8 + slotmap@1.0.7 + smallvec@1.13.2 + smartstring@1.0.1 + smawk@0.3.1 + socket2@0.5.5 + static_assertions@1.1.0 + str_indices@0.4.1 + syn@1.0.109 + syn@2.0.48 + tempfile@3.10.1 + termcolor@1.2.0 + termini@1.0.0 + textwrap@0.16.1 + thiserror-impl@1.0.58 + thiserror@1.0.58 + threadpool@1.8.1 + time-core@0.1.1 + time-macros@0.2.10 + time@0.3.23 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio-macros@2.2.0 + tokio-stream@0.1.15 + tokio@1.36.0 + toml@0.8.12 + toml_datetime@0.6.5 + toml_edit@0.22.8 + tree-sitter@0.22.2 + unicase@2.6.0 + unicode-bidi@0.3.13 + unicode-bom@2.0.2 + unicode-general-category@0.6.0 + unicode-ident@1.0.8 + unicode-linebreak@0.1.5 + unicode-normalization@0.1.22 + unicode-segmentation@1.11.0 + unicode-width@0.1.11 + url@2.5.0 + version_check@0.9.4 + walkdir@2.4.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.84 + wasm-bindgen-macro-support@0.2.84 + wasm-bindgen-macro@0.2.84 + wasm-bindgen-shared@0.2.84 + wasm-bindgen@0.2.84 + which@6.0.1 + 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 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.42.2 + windows-targets@0.48.0 + windows-targets@0.52.0 + windows@0.48.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_gnullvm@0.52.0 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.0 + windows_aarch64_msvc@0.52.0 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.0 + windows_i686_gnu@0.52.0 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.0 + windows_i686_msvc@0.52.0 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnu@0.52.0 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_gnullvm@0.52.0 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.0 + windows_x86_64_msvc@0.52.0 + winnow@0.6.5 + winsafe@0.0.19 + zerocopy-derive@0.7.31 + zerocopy@0.7.31 +" + +inherit cargo desktop shell-completion xdg + +DESCRIPTION="A post-modern text editor" +HOMEPAGE=" + https://helix-editor.com/ + https://github.com/helix-editor/helix +" +SRC_URI=" + https://github.com/helix-editor/helix/releases/download/${PV}/${P}-source.tar.xz -> ${P}.tar.xz + ${CARGO_CRATE_URIS} +" + +S="${WORKDIR}" + +LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB" +SLOT="0" +KEYWORDS="amd64" +IUSE="+grammar" + +RDEPEND="dev-vcs/git" + +QA_FLAGS_IGNORED=" + usr/bin/hx + usr/share/helix/runtime/grammars/.*\.so +" + +DOCS=( + README.md + CHANGELOG.md + book/ + docs/ +) + +src_compile() { + use grammar || local -x HELIX_DISABLE_AUTO_GRAMMAR_BUILD=1 + + cargo_src_compile +} + +src_install() { + cargo_src_install --path helix-term + + insinto "/usr/$(get_libdir)/${PN}" + use grammar && doins runtime/grammars/*.so + rm -r runtime/grammars || die + use grammar && dosym "../../../$(get_libdir)/${PN}" "${EPREFIX}/usr/share/${PN}/runtime/grammars" + + insinto /usr/share/helix + doins -r runtime + dodoc -r "${DOCS[@]}" + + doicon -s 256x256 contrib/${PN}.png + domenu contrib/Helix.desktop + + insinto /usr/share/metainfo + doins contrib/Helix.appdata.xml + + newbashcomp contrib/completion/hx.bash hx + newzshcomp contrib/completion/hx.zsh _hx + dofishcomp contrib/completion/hx.fish + + newenvd - 99helix <<< 'HELIX_RUNTIME="/usr/share/helix/runtime"' +} + +pkg_postinst() { + einfo "The runtime files have been" + einfo "installed in '/usr/share/helix/runtime'. The environment variable" + einfo "HELIX_RUNTIME was also installed on your system. In running shell instances" + einfo "you need to run 'source /etc/profile' to pick up the new variable" + einfo "or manually set the environment variable HELIX_RUNTIME=/usr/share/helix/runtime." + + if ! use grammar ; then + einfo "" + einfo "Grammars are not installed yet. To fetch and install them, run:" + einfo "" + einfo " hx --grammar fetch" + einfo " hx --grammar build" + fi + + xdg_desktop_database_update + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/app-editors/helix/helix-24.07-r1.ebuild b/app-editors/helix/helix-24.07-r1.ebuild new file mode 100644 index 000000000000..23c9065f87bd --- /dev/null +++ b/app-editors/helix/helix-24.07-r1.ebuild @@ -0,0 +1,363 @@ +# Copyright 2024-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + addr2line@0.20.0 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.2 + allocator-api2@0.2.14 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anyhow@1.0.86 + arc-swap@1.7.1 + autocfg@1.1.0 + backtrace@0.3.68 + bitflags@1.3.2 + bitflags@2.6.0 + bstr@1.8.0 + bumpalo@3.12.0 + bytes@1.4.0 + cassowary@0.3.0 + cc@1.0.106 + cfg-if@1.0.0 + chardetng@0.1.17 + chrono@0.4.38 + clipboard-win@5.4.0 + clru@0.6.1 + codespan-reporting@0.11.1 + content_inspector@0.2.4 + core-foundation-sys@0.8.4 + cov-mark@1.1.0 + crc32fast@1.3.2 + crossbeam-channel@0.5.8 + crossbeam-deque@0.8.3 + crossbeam-epoch@0.9.15 + crossbeam-utils@0.8.16 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + cxx-build@1.0.94 + cxx@1.0.94 + cxxbridge-flags@1.0.94 + cxxbridge-macro@1.0.94 + dashmap@5.4.0 + deranged@0.3.11 + dunce@1.0.4 + either@1.9.0 + encoding_rs@0.8.34 + encoding_rs_io@0.1.7 + equivalent@1.0.0 + errno@0.3.8 + error-code@3.0.0 + etcetera@0.8.0 + faster-hex@0.9.0 + fastrand@2.1.0 + fern@0.6.2 + filedescriptor@0.8.2 + filetime@0.2.23 + flate2@1.0.27 + fnv@1.0.7 + form_urlencoded@1.2.1 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + getrandom@0.2.9 + gimli@0.27.3 + gix-actor@0.31.2 + gix-attributes@0.22.2 + gix-bitmap@0.2.11 + gix-chunk@0.4.8 + gix-command@0.3.7 + gix-commitgraph@0.24.2 + gix-config-value@0.14.6 + gix-config@0.37.0 + gix-date@0.8.6 + gix-diff@0.44.0 + gix-dir@0.5.0 + gix-discover@0.32.0 + gix-features@0.38.2 + gix-filter@0.11.2 + gix-fs@0.11.0 + gix-glob@0.16.2 + gix-hash@0.14.2 + gix-hashtable@0.5.2 + gix-ignore@0.11.2 + gix-index@0.33.0 + gix-lock@14.0.0 + gix-macros@0.1.5 + gix-object@0.42.2 + gix-odb@0.61.0 + gix-pack@0.51.0 + gix-packetline-blocking@0.17.4 + gix-path@0.10.7 + gix-pathspec@0.7.5 + gix-quote@0.4.12 + gix-ref@0.44.0 + gix-refspec@0.23.0 + gix-revision@0.27.1 + gix-revwalk@0.13.1 + gix-sec@0.10.6 + gix-status@0.10.0 + gix-submodule@0.11.0 + gix-tempfile@14.0.0 + gix-trace@0.1.9 + gix-traverse@0.39.1 + gix-url@0.27.3 + gix-utils@0.1.12 + gix-validate@0.8.5 + gix-worktree@0.34.0 + gix@0.63.0 + globset@0.4.14 + grep-matcher@0.1.7 + grep-regex@0.1.12 + grep-searcher@0.1.13 + hashbrown@0.12.3 + hashbrown@0.14.5 + hermit-abi@0.2.6 + home@0.5.9 + iana-time-zone-haiku@0.1.1 + iana-time-zone@0.1.56 + idna@0.5.0 + ignore@0.4.22 + imara-diff@0.1.6 + indexmap@2.0.0 + indoc@2.0.5 + is-docker@0.2.0 + is-wsl@0.4.0 + itoa@1.0.6 + js-sys@0.3.61 + kstring@2.0.0 + libc@0.2.155 + libloading@0.8.4 + link-cplusplus@1.0.8 + linux-raw-sys@0.4.12 + lock_api@0.4.9 + log@0.4.22 + lsp-types@0.95.1 + memchr@2.6.3 + memmap2@0.9.0 + memoffset@0.9.0 + miniz_oxide@0.7.1 + mio@0.8.11 + nucleo-matcher@0.2.0 + nucleo@0.2.1 + num-conv@0.1.0 + num-traits@0.2.15 + num_cpus@1.15.0 + num_threads@0.1.6 + object@0.31.1 + once_cell@1.19.0 + open@5.2.0 + parking_lot@0.12.3 + parking_lot_core@0.9.7 + pathdiff@0.2.1 + percent-encoding@2.3.1 + pin-project-lite@0.2.12 + pin-utils@0.1.0 + powerfmt@0.2.0 + proc-macro2@1.0.76 + prodash@28.0.0 + pulldown-cmark@0.11.0 + quickcheck@1.0.3 + quote@1.0.35 + rand@0.8.5 + rand_core@0.6.4 + rayon-core@1.11.0 + rayon@1.7.0 + redox_syscall@0.2.16 + redox_syscall@0.4.1 + regex-automata@0.4.5 + regex-cursor@0.1.4 + regex-syntax@0.8.2 + regex@1.10.5 + ropey@1.6.1 + rustc-demangle@0.1.23 + rustix@0.38.34 + ryu@1.0.13 + same-file@1.0.6 + scopeguard@1.1.0 + scratch@1.0.5 + serde@1.0.204 + serde_derive@1.0.204 + serde_json@1.0.120 + serde_repr@0.1.12 + serde_spanned@0.6.6 + sha1_smol@1.0.0 + shell-words@1.1.0 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.1 + signal-hook-tokio@0.3.1 + signal-hook@0.3.17 + slab@0.4.8 + slotmap@1.0.7 + smallvec@1.13.2 + smartstring@1.0.1 + smawk@0.3.1 + socket2@0.5.5 + static_assertions@1.1.0 + str_indices@0.4.1 + syn@1.0.109 + syn@2.0.48 + tempfile@3.10.1 + termcolor@1.2.0 + termini@1.0.0 + textwrap@0.16.1 + thiserror-impl@1.0.61 + thiserror@1.0.61 + threadpool@1.8.1 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio-macros@2.3.0 + tokio-stream@0.1.15 + tokio@1.38.0 + toml@0.8.14 + toml_datetime@0.6.6 + toml_edit@0.22.14 + tree-sitter@0.22.6 + unicase@2.6.0 + unicode-bidi@0.3.15 + unicode-bom@2.0.2 + unicode-general-category@0.6.0 + unicode-ident@1.0.8 + unicode-linebreak@0.1.5 + unicode-normalization@0.1.22 + unicode-segmentation@1.11.0 + unicode-width@0.1.12 + url@2.5.2 + version_check@0.9.4 + walkdir@2.4.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.84 + wasm-bindgen-macro-support@0.2.84 + wasm-bindgen-macro@0.2.84 + wasm-bindgen-shared@0.2.84 + wasm-bindgen@0.2.84 + which@6.0.1 + 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 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.42.2 + windows-targets@0.48.0 + windows-targets@0.52.0 + windows@0.48.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_gnullvm@0.52.0 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.0 + windows_aarch64_msvc@0.52.0 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.0 + windows_i686_gnu@0.52.0 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.0 + windows_i686_msvc@0.52.0 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnu@0.52.0 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_gnullvm@0.52.0 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.0 + windows_x86_64_msvc@0.52.0 + winnow@0.6.5 + winsafe@0.0.19 + zerocopy-derive@0.7.31 + zerocopy@0.7.31 +" + +inherit cargo desktop shell-completion xdg + +DESCRIPTION="A post-modern text editor" +HOMEPAGE=" + https://helix-editor.com/ + https://github.com/helix-editor/helix +" +SRC_URI=" + https://github.com/helix-editor/helix/releases/download/${PV}/${P}-source.tar.xz -> ${P}.tar.xz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}" + +LICENSE="MPL-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 ISC MIT MPL-2.0 MPL-2.0 Unicode-DFS-2016 + ZLIB +" +SLOT="0" +KEYWORDS="amd64" +IUSE="+grammar" + +RDEPEND="dev-vcs/git" + +pkg_setup() { + QA_FLAGS_IGNORED=" + usr/bin/hx + /usr/$(get_libdir)/helix/.*\.so + " + export HELIX_DEFAULT_RUNTIME="${EPREFIX}/usr/share/${PN}/runtime" + use grammar || export HELIX_DISABLE_AUTO_GRAMMAR_BUILD=1 + rust_pkg_setup +} + +src_install() { + cargo_src_install --path helix-term + + insinto "/usr/$(get_libdir)/${PN}" + use grammar && doins runtime/grammars/*.so + rm -r runtime/grammars || die + use grammar && dosym "../../../$(get_libdir)/${PN}" "${EPREFIX}/usr/share/${PN}/runtime/grammars" + + insinto /usr/share/helix + doins -r runtime + + doicon -s 256x256 contrib/${PN}.png + domenu contrib/Helix.desktop + + insinto /usr/share/metainfo + doins contrib/Helix.appdata.xml + + newbashcomp contrib/completion/hx.bash hx + newzshcomp contrib/completion/hx.zsh _hx + dofishcomp contrib/completion/hx.fish + + DOCS=( + README.md + CHANGELOG.md + docs/ + ) + HTML_DOCS=( + book/ + ) + einstalldocs +} + +pkg_postinst() { + if ! use grammar ; then + einfo "Grammars are not installed yet. To fetch them, run:" + einfo "" + einfo " hx --grammar fetch && hx --grammar build" + fi + + xdg_desktop_database_update + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/app-editors/helix/helix-24.07.ebuild b/app-editors/helix/helix-24.07.ebuild deleted file mode 100644 index 89deeb654e5f..000000000000 --- a/app-editors/helix/helix-24.07.ebuild +++ /dev/null @@ -1,362 +0,0 @@ -# Copyright 2024-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - addr2line@0.20.0 - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.2 - allocator-api2@0.2.14 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anyhow@1.0.86 - arc-swap@1.7.1 - autocfg@1.1.0 - backtrace@0.3.68 - bitflags@1.3.2 - bitflags@2.6.0 - bstr@1.8.0 - bumpalo@3.12.0 - bytes@1.4.0 - cassowary@0.3.0 - cc@1.0.106 - cfg-if@1.0.0 - chardetng@0.1.17 - chrono@0.4.38 - clipboard-win@5.4.0 - clru@0.6.1 - codespan-reporting@0.11.1 - content_inspector@0.2.4 - core-foundation-sys@0.8.4 - cov-mark@1.1.0 - crc32fast@1.3.2 - crossbeam-channel@0.5.8 - crossbeam-deque@0.8.3 - crossbeam-epoch@0.9.15 - crossbeam-utils@0.8.16 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - cxx-build@1.0.94 - cxx@1.0.94 - cxxbridge-flags@1.0.94 - cxxbridge-macro@1.0.94 - dashmap@5.4.0 - deranged@0.3.11 - dunce@1.0.4 - either@1.9.0 - encoding_rs@0.8.34 - encoding_rs_io@0.1.7 - equivalent@1.0.0 - errno@0.3.8 - error-code@3.0.0 - etcetera@0.8.0 - faster-hex@0.9.0 - fastrand@2.1.0 - fern@0.6.2 - filedescriptor@0.8.2 - filetime@0.2.23 - flate2@1.0.27 - fnv@1.0.7 - form_urlencoded@1.2.1 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - getrandom@0.2.9 - gimli@0.27.3 - gix-actor@0.31.2 - gix-attributes@0.22.2 - gix-bitmap@0.2.11 - gix-chunk@0.4.8 - gix-command@0.3.7 - gix-commitgraph@0.24.2 - gix-config-value@0.14.6 - gix-config@0.37.0 - gix-date@0.8.6 - gix-diff@0.44.0 - gix-dir@0.5.0 - gix-discover@0.32.0 - gix-features@0.38.2 - gix-filter@0.11.2 - gix-fs@0.11.0 - gix-glob@0.16.2 - gix-hash@0.14.2 - gix-hashtable@0.5.2 - gix-ignore@0.11.2 - gix-index@0.33.0 - gix-lock@14.0.0 - gix-macros@0.1.5 - gix-object@0.42.2 - gix-odb@0.61.0 - gix-pack@0.51.0 - gix-packetline-blocking@0.17.4 - gix-path@0.10.7 - gix-pathspec@0.7.5 - gix-quote@0.4.12 - gix-ref@0.44.0 - gix-refspec@0.23.0 - gix-revision@0.27.1 - gix-revwalk@0.13.1 - gix-sec@0.10.6 - gix-status@0.10.0 - gix-submodule@0.11.0 - gix-tempfile@14.0.0 - gix-trace@0.1.9 - gix-traverse@0.39.1 - gix-url@0.27.3 - gix-utils@0.1.12 - gix-validate@0.8.5 - gix-worktree@0.34.0 - gix@0.63.0 - globset@0.4.14 - grep-matcher@0.1.7 - grep-regex@0.1.12 - grep-searcher@0.1.13 - hashbrown@0.12.3 - hashbrown@0.14.5 - hermit-abi@0.2.6 - home@0.5.9 - iana-time-zone-haiku@0.1.1 - iana-time-zone@0.1.56 - idna@0.5.0 - ignore@0.4.22 - imara-diff@0.1.6 - indexmap@2.0.0 - indoc@2.0.5 - is-docker@0.2.0 - is-wsl@0.4.0 - itoa@1.0.6 - js-sys@0.3.61 - kstring@2.0.0 - libc@0.2.155 - libloading@0.8.4 - link-cplusplus@1.0.8 - linux-raw-sys@0.4.12 - lock_api@0.4.9 - log@0.4.22 - lsp-types@0.95.1 - memchr@2.6.3 - memmap2@0.9.0 - memoffset@0.9.0 - miniz_oxide@0.7.1 - mio@0.8.11 - nucleo-matcher@0.2.0 - nucleo@0.2.1 - num-conv@0.1.0 - num-traits@0.2.15 - num_cpus@1.15.0 - num_threads@0.1.6 - object@0.31.1 - once_cell@1.19.0 - open@5.2.0 - parking_lot@0.12.3 - parking_lot_core@0.9.7 - pathdiff@0.2.1 - percent-encoding@2.3.1 - pin-project-lite@0.2.12 - pin-utils@0.1.0 - powerfmt@0.2.0 - proc-macro2@1.0.76 - prodash@28.0.0 - pulldown-cmark@0.11.0 - quickcheck@1.0.3 - quote@1.0.35 - rand@0.8.5 - rand_core@0.6.4 - rayon-core@1.11.0 - rayon@1.7.0 - redox_syscall@0.2.16 - redox_syscall@0.4.1 - regex-automata@0.4.5 - regex-cursor@0.1.4 - regex-syntax@0.8.2 - regex@1.10.5 - ropey@1.6.1 - rustc-demangle@0.1.23 - rustix@0.38.34 - ryu@1.0.13 - same-file@1.0.6 - scopeguard@1.1.0 - scratch@1.0.5 - serde@1.0.204 - serde_derive@1.0.204 - serde_json@1.0.120 - serde_repr@0.1.12 - serde_spanned@0.6.6 - sha1_smol@1.0.0 - shell-words@1.1.0 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.1 - signal-hook-tokio@0.3.1 - signal-hook@0.3.17 - slab@0.4.8 - slotmap@1.0.7 - smallvec@1.13.2 - smartstring@1.0.1 - smawk@0.3.1 - socket2@0.5.5 - static_assertions@1.1.0 - str_indices@0.4.1 - syn@1.0.109 - syn@2.0.48 - tempfile@3.10.1 - termcolor@1.2.0 - termini@1.0.0 - textwrap@0.16.1 - thiserror-impl@1.0.61 - thiserror@1.0.61 - threadpool@1.8.1 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tokio-macros@2.3.0 - tokio-stream@0.1.15 - tokio@1.38.0 - toml@0.8.14 - toml_datetime@0.6.6 - toml_edit@0.22.14 - tree-sitter@0.22.6 - unicase@2.6.0 - unicode-bidi@0.3.15 - unicode-bom@2.0.2 - unicode-general-category@0.6.0 - unicode-ident@1.0.8 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.22 - unicode-segmentation@1.11.0 - unicode-width@0.1.12 - url@2.5.2 - version_check@0.9.4 - walkdir@2.4.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.84 - wasm-bindgen-macro-support@0.2.84 - wasm-bindgen-macro@0.2.84 - wasm-bindgen-shared@0.2.84 - wasm-bindgen@0.2.84 - which@6.0.1 - 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 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.42.2 - windows-targets@0.48.0 - windows-targets@0.52.0 - windows@0.48.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.0 - windows_aarch64_gnullvm@0.52.0 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.0 - windows_aarch64_msvc@0.52.0 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.0 - windows_i686_gnu@0.52.0 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.0 - windows_i686_msvc@0.52.0 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.0 - windows_x86_64_gnu@0.52.0 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.0 - windows_x86_64_gnullvm@0.52.0 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.0 - windows_x86_64_msvc@0.52.0 - winnow@0.6.5 - winsafe@0.0.19 - zerocopy-derive@0.7.31 - zerocopy@0.7.31 -" - -inherit cargo desktop shell-completion xdg - -DESCRIPTION="A post-modern text editor" -HOMEPAGE=" - https://helix-editor.com/ - https://github.com/helix-editor/helix -" -SRC_URI=" - https://github.com/helix-editor/helix/releases/download/${PV}/${P}-source.tar.xz -> ${P}.tar.xz - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}" - -LICENSE="MPL-2.0" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 ISC MIT MPL-2.0 MPL-2.0 Unicode-DFS-2016 - ZLIB -" -SLOT="0" -KEYWORDS="amd64" -IUSE="+grammar" - -RDEPEND="dev-vcs/git" - -pkg_setup() { - QA_FLAGS_IGNORED=" - usr/bin/hx - /usr/$(get_libdir)/helix/.*\.so - " - export HELIX_DEFAULT_RUNTIME="${EPREFIX}/usr/share/${PN}/runtime" - use grammar || export HELIX_DISABLE_AUTO_GRAMMAR_BUILD=1 -} - -src_install() { - cargo_src_install --path helix-term - - insinto "/usr/$(get_libdir)/${PN}" - use grammar && doins runtime/grammars/*.so - rm -r runtime/grammars || die - use grammar && dosym "../../../$(get_libdir)/${PN}" "${EPREFIX}/usr/share/${PN}/runtime/grammars" - - insinto /usr/share/helix - doins -r runtime - - doicon -s 256x256 contrib/${PN}.png - domenu contrib/Helix.desktop - - insinto /usr/share/metainfo - doins contrib/Helix.appdata.xml - - newbashcomp contrib/completion/hx.bash hx - newzshcomp contrib/completion/hx.zsh _hx - dofishcomp contrib/completion/hx.fish - - DOCS=( - README.md - CHANGELOG.md - docs/ - ) - HTML_DOCS=( - book/ - ) - einstalldocs -} - -pkg_postinst() { - if ! use grammar ; then - einfo "Grammars are not installed yet. To fetch them, run:" - einfo "" - einfo " hx --grammar fetch && hx --grammar build" - fi - - xdg_desktop_database_update - xdg_icon_cache_update -} - -pkg_postrm() { - xdg_desktop_database_update - xdg_icon_cache_update -} diff --git a/app-editors/zed/zed-0.155.2-r1.ebuild b/app-editors/zed/zed-0.155.2-r1.ebuild new file mode 100644 index 000000000000..7ac2746fed38 --- /dev/null +++ b/app-editors/zed/zed-0.155.2-r1.ebuild @@ -0,0 +1,142 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [alacritty_terminal]='https://github.com/alacritty/alacritty;91d034ff8b53867143c005acfaa14609147c9a2c;alacritty-%commit%/alacritty_terminal' + [async-pipe]='https://github.com/zed-industries/async-pipe-rs;82d00a04211cf4e1236029aa03e6b6ce2a74c553;async-pipe-rs-%commit%' + [blade-graphics]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-graphics' + [blade-macros]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-macros' + [blade-util]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-util' + [cosmic-text]='https://github.com/pop-os/cosmic-text;542b20ca4376a3b5de5fa629db1a4ace44e18e0c;cosmic-text-%commit%' + [font-kit]='https://github.com/zed-industries/font-kit;40391b7c0041d8a8572af2afa3de32ae088f0120;font-kit-%commit%' + [lsp-types]='https://github.com/zed-industries/lsp-types;72357d6f6d212bdffba3b5ef4b31d8ca856058e7;lsp-types-%commit%' + [nvim-rs]='https://github.com/KillTheMule/nvim-rs;69500bae73b8b3f02a05b7bee621a0d0e633da6c;nvim-rs-%commit%' + [protols-tree-sitter-proto]='https://github.com/zed-industries/tree-sitter-proto;0848bd30a64be48772e15fbb9d5ba8c0cc5772ad;tree-sitter-proto-%commit%' + [tree-sitter-gomod]='https://github.com/zed-industries/tree-sitter-go-mod;a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca;tree-sitter-go-mod-%commit%' + [tree-sitter-gowork]='https://github.com/zed-industries/tree-sitter-go-work;acb0617bf7f4fda02c6217676cc64acb89536dc7;tree-sitter-go-work-%commit%' + [tree-sitter-heex]='https://github.com/zed-industries/tree-sitter-heex;1dd45142fbb05562e35b2040c6129c9bca346592;tree-sitter-heex-%commit%' + [tree-sitter-md]='https://github.com/zed-industries/tree-sitter-markdown;4cfa6aad6b75052a5077c80fd934757d9267d81b;tree-sitter-markdown-%commit%' + [tree-sitter-yaml]='https://github.com/zed-industries/tree-sitter-yaml;baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a;tree-sitter-yaml-%commit%' + [xim-ctext]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-ctext' + [xim-parser]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-parser' + [xim]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%' + [xkbcommon]='https://github.com/ConradIrwin/xkbcommon-rs;fcbb4612185cc129ceeff51d22f7fb51810a03b2;xkbcommon-rs-%commit%' +) + +LLVM_COMPAT=( 18 ) +RUST_MIN_VER="1.80.1" +RUST_NEEDS_LLVM=1 + +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" +SRC_URI=" + https://github.com/zed-industries/zed/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://gitlab.com/api/v4/projects/35204985/packages/generic/${PN}/${PV}/${P}-crates.tar.xz + ${CARGO_CRATE_URIS}" + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC + LGPL-3 MIT MPL-2.0 Unicode-DFS-2016 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" +CHECKREQS_DISK_BUILD="8G" +CHECKREQS_MEMORY="16G" + +DEPEND=" + app-arch/zstd:= + dev-db/sqlite:3 + dev-libs/libgit2:= + dev-libs/mimalloc + dev-libs/openssl:0/3 + dev-libs/protobuf + dev-libs/wayland + dev-libs/wayland-protocols + dev-util/wayland-scanner + dev-util/vulkan-tools + media-fonts/noto + media-libs/alsa-lib + media-libs/fontconfig + media-libs/vulkan-loader[X] + net-misc/curl + sys-libs/zlib + x11-libs/libxcb:= + x11-libs/libxkbcommon[X] +" +RDEPEND="${DEPEND}" +BDEPEND=" + dev-util/vulkan-headers + sys-devel/gettext + sys-devel/mold + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT}= + sys-devel/llvm:${LLVM_SLOT}= + ') +" + +QA_FLAGS_IGNORED="usr/bin/zedit" + +pkg_setup() { + if tc-is-gcc; then + export CARGO_PROFILE_RELEASE_LTO="true" + elif tc-is-clang; then + export CARGO_PROFILE_RELEASE_LTO="thin" + fi + strip-unsupported-flags + # flags from upstream + 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() { + default + + export APP_CLI="zedit" + export APP_ICON="zed" + export APP_ID="dev.zed.Zed" + export APP_NAME="Zed" + export APP_ARGS="%U" + export DO_STARTUP_NOTIFY="true" + envsubst < "crates/zed/resources/zed.desktop.in" > ${APP_ID}.desktop || die +} + +src_configure() { + cargo_src_configure --all-features +} + +src_compile() { + export RELEASE_VERSION="${PV}" + export ZED_UPDATE_EXPLANATION='Updates are handled by portage' + cargo_src_compile --package zed --package cli +} + +src_install() { + newbin $(cargo_target_dir)/cli ${APP_CLI} + exeinto "/usr/libexec" + newexe $(cargo_target_dir)/zed zed-editor + + newicon -s 512 crates/zed/resources/app-icon.png zed.png + newicon -s 1024 crates/zed/resources/app-icon@2x.png zed.png + domenu "${S}/${APP_ID}.desktop" +} + +src_test () { + mkdir -p "${HOME}/.config/zed" || die + mkdir -p "${HOME}/.local/share/zed/logs/" || die + + SHELL=/usr/bin/sh RUST_BACKTRACE=full cargo_src_test -vv +} diff --git a/app-editors/zed/zed-0.155.2.ebuild b/app-editors/zed/zed-0.155.2.ebuild deleted file mode 100644 index b4cace50d25f..000000000000 --- a/app-editors/zed/zed-0.155.2.ebuild +++ /dev/null @@ -1,139 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" -" - -declare -A GIT_CRATES=( - [alacritty_terminal]='https://github.com/alacritty/alacritty;91d034ff8b53867143c005acfaa14609147c9a2c;alacritty-%commit%/alacritty_terminal' - [async-pipe]='https://github.com/zed-industries/async-pipe-rs;82d00a04211cf4e1236029aa03e6b6ce2a74c553;async-pipe-rs-%commit%' - [blade-graphics]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-graphics' - [blade-macros]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-macros' - [blade-util]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-util' - [cosmic-text]='https://github.com/pop-os/cosmic-text;542b20ca4376a3b5de5fa629db1a4ace44e18e0c;cosmic-text-%commit%' - [font-kit]='https://github.com/zed-industries/font-kit;40391b7c0041d8a8572af2afa3de32ae088f0120;font-kit-%commit%' - [lsp-types]='https://github.com/zed-industries/lsp-types;72357d6f6d212bdffba3b5ef4b31d8ca856058e7;lsp-types-%commit%' - [nvim-rs]='https://github.com/KillTheMule/nvim-rs;69500bae73b8b3f02a05b7bee621a0d0e633da6c;nvim-rs-%commit%' - [protols-tree-sitter-proto]='https://github.com/zed-industries/tree-sitter-proto;0848bd30a64be48772e15fbb9d5ba8c0cc5772ad;tree-sitter-proto-%commit%' - [tree-sitter-gomod]='https://github.com/zed-industries/tree-sitter-go-mod;a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca;tree-sitter-go-mod-%commit%' - [tree-sitter-gowork]='https://github.com/zed-industries/tree-sitter-go-work;acb0617bf7f4fda02c6217676cc64acb89536dc7;tree-sitter-go-work-%commit%' - [tree-sitter-heex]='https://github.com/zed-industries/tree-sitter-heex;1dd45142fbb05562e35b2040c6129c9bca346592;tree-sitter-heex-%commit%' - [tree-sitter-md]='https://github.com/zed-industries/tree-sitter-markdown;4cfa6aad6b75052a5077c80fd934757d9267d81b;tree-sitter-markdown-%commit%' - [tree-sitter-yaml]='https://github.com/zed-industries/tree-sitter-yaml;baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a;tree-sitter-yaml-%commit%' - [xim-ctext]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-ctext' - [xim-parser]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-parser' - [xim]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%' - [xkbcommon]='https://github.com/ConradIrwin/xkbcommon-rs;fcbb4612185cc129ceeff51d22f7fb51810a03b2;xkbcommon-rs-%commit%' -) - -LLVM_COMPAT=( 18 ) - -inherit cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg - -DESCRIPTION="The fast, collaborative code editor" -HOMEPAGE="https://zed.dev https://github.com/zed-industries/zed" -SRC_URI=" - https://github.com/zed-industries/zed/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - https://gitlab.com/api/v4/projects/35204985/packages/generic/${PN}/${PV}/${P}-crates.tar.xz - ${CARGO_CRATE_URIS}" - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC - LGPL-3 MIT MPL-2.0 Unicode-DFS-2016 ZLIB -" -SLOT="0" -KEYWORDS="~amd64" -CHECKREQS_DISK_BUILD="8G" -CHECKREQS_MEMORY="16G" - -DEPEND=" - app-arch/zstd:= - dev-db/sqlite:3 - dev-libs/libgit2:= - dev-libs/mimalloc - dev-libs/openssl:0/3 - dev-libs/protobuf - dev-libs/wayland - dev-libs/wayland-protocols - dev-util/wayland-scanner - dev-util/vulkan-tools - media-fonts/noto - media-libs/alsa-lib - media-libs/fontconfig - media-libs/vulkan-loader[X] - net-misc/curl - sys-libs/zlib - x11-libs/libxcb:= - x11-libs/libxkbcommon[X] -" -RDEPEND="${DEPEND}" -BDEPEND=" - >=virtual/rust-1.80.0 - dev-util/vulkan-headers - sys-devel/gettext - sys-devel/mold - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT}= - sys-devel/llvm:${LLVM_SLOT}= - ') -" - -QA_FLAGS_IGNORED="usr/bin/zedit" - -pkg_setup() { - if tc-is-gcc; then - export CARGO_PROFILE_RELEASE_LTO="true" - elif tc-is-clang; then - export CARGO_PROFILE_RELEASE_LTO="thin" - fi - strip-unsupported-flags - # flags from upstream - 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" -} - -src_prepare() { - default - - export APP_CLI="zedit" - export APP_ICON="zed" - export APP_ID="dev.zed.Zed" - export APP_NAME="Zed" - export APP_ARGS="%U" - export DO_STARTUP_NOTIFY="true" - envsubst < "crates/zed/resources/zed.desktop.in" > ${APP_ID}.desktop || die -} - -src_configure() { - cargo_src_configure --all-features -} - -src_compile() { - export RELEASE_VERSION="${PV}" - export ZED_UPDATE_EXPLANATION='Updates are handled by portage' - cargo_src_compile --package zed --package cli -} - -src_install() { - newbin $(cargo_target_dir)/cli ${APP_CLI} - exeinto "/usr/libexec" - newexe $(cargo_target_dir)/zed zed-editor - - newicon -s 512 crates/zed/resources/app-icon.png zed.png - newicon -s 1024 crates/zed/resources/app-icon@2x.png zed.png - domenu "${S}/${APP_ID}.desktop" -} - -src_test () { - mkdir -p "${HOME}/.config/zed" || die - mkdir -p "${HOME}/.local/share/zed/logs/" || die - - SHELL=/usr/bin/sh RUST_BACKTRACE=full cargo_src_test -vv -} diff --git a/app-editors/zed/zed-0.159.10-r1.ebuild b/app-editors/zed/zed-0.159.10-r1.ebuild new file mode 100644 index 000000000000..6b5c07a29c86 --- /dev/null +++ b/app-editors/zed/zed-0.159.10-r1.ebuild @@ -0,0 +1,171 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [alacritty_terminal]='https://github.com/alacritty/alacritty;91d034ff8b53867143c005acfaa14609147c9a2c;alacritty-%commit%/alacritty_terminal' + [async-pipe]='https://github.com/zed-industries/async-pipe-rs;82d00a04211cf4e1236029aa03e6b6ce2a74c553;async-pipe-rs-%commit%' + [async-stripe]='https://github.com/zed-industries/async-stripe;3672dd4efb7181aa597bf580bf5a2f5d23db6735;async-stripe-%commit%' + [blade-graphics]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-graphics' + [blade-macros]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-macros' + [blade-util]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-util' + [cosmic-text]='https://github.com/pop-os/cosmic-text;542b20ca4376a3b5de5fa629db1a4ace44e18e0c;cosmic-text-%commit%' + [font-kit]='https://github.com/zed-industries/font-kit;40391b7c0041d8a8572af2afa3de32ae088f0120;font-kit-%commit%' + [lsp-types]='https://github.com/zed-industries/lsp-types;72357d6f6d212bdffba3b5ef4b31d8ca856058e7;lsp-types-%commit%' + [nvim-rs]='https://github.com/KillTheMule/nvim-rs;69500bae73b8b3f02a05b7bee621a0d0e633da6c;nvim-rs-%commit%' + [pet-conda]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-conda' + [pet-core]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-core' + [pet-env-var-path]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-env-var-path' + [pet-fs]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-fs' + [pet-global-virtualenvs]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-global-virtualenvs' + [pet-homebrew]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-homebrew' + [pet-jsonrpc]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-jsonrpc' + [pet-linux-global-python]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-linux-global-python' + [pet-mac-commandlinetools]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-commandlinetools' + [pet-mac-python-org]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-python-org' + [pet-mac-xcode]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-xcode' + [pet-pipenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-pipenv' + [pet-poetry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-poetry' + [pet-pyenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-pyenv' + [pet-python-utils]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-python-utils' + [pet-reporter]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-reporter' + [pet-telemetry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-telemetry' + [pet-venv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-venv' + [pet-virtualenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-virtualenv' + [pet-virtualenvwrapper]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-virtualenvwrapper' + [pet-windows-registry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-windows-registry' + [pet-windows-store]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-windows-store' + [pet]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet' + [reqwest]='https://github.com/zed-industries/reqwest;fd110f6998da16bbca97b6dddda9be7827c50e29;reqwest-%commit%' + [tree-sitter-gomod]='https://github.com/zed-industries/tree-sitter-go-mod;a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca;tree-sitter-go-mod-%commit%' + [tree-sitter-gowork]='https://github.com/zed-industries/tree-sitter-go-work;acb0617bf7f4fda02c6217676cc64acb89536dc7;tree-sitter-go-work-%commit%' + [tree-sitter-heex]='https://github.com/zed-industries/tree-sitter-heex;1dd45142fbb05562e35b2040c6129c9bca346592;tree-sitter-heex-%commit%' + [tree-sitter-md]='https://github.com/tree-sitter-grammars/tree-sitter-markdown;9a23c1a96c0513d8fc6520972beedd419a973539;tree-sitter-markdown-%commit%' + [tree-sitter-yaml]='https://github.com/zed-industries/tree-sitter-yaml;baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a;tree-sitter-yaml-%commit%' + [xim-ctext]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-ctext' + [xim-parser]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-parser' + [xim]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%' + [xkbcommon]='https://github.com/ConradIrwin/xkbcommon-rs;fcbb4612185cc129ceeff51d22f7fb51810a03b2;xkbcommon-rs-%commit%' +) + +LLVM_COMPAT=( 18 ) +RUST_MIN_VER="1.80.1" +RUST_NEEDS_LLVM=1 + +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" +SRC_URI=" + https://github.com/zed-industries/zed/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://gitlab.com/api/v4/projects/35204985/packages/generic/${PN}/${PV}/${P}-crates.tar.xz + ${CARGO_CRATE_URIS}" + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC + LGPL-3 MIT MPL-2.0 Unicode-DFS-2016 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="gles" +CHECKREQS_DISK_BUILD="8G" +CHECKREQS_MEMORY="16G" + +DEPEND=" + app-arch/zstd:= + dev-db/sqlite:3 + dev-libs/libgit2:= + dev-libs/mimalloc + dev-libs/openssl:0/3 + dev-libs/protobuf + dev-libs/wayland + dev-libs/wayland-protocols + dev-util/wayland-scanner + dev-util/vulkan-tools + media-fonts/noto + media-libs/alsa-lib + media-libs/fontconfig + media-libs/vulkan-loader[X] + net-misc/curl + sys-libs/zlib + x11-libs/libxcb:= + x11-libs/libxkbcommon[X] +" +RDEPEND="${DEPEND}" +BDEPEND=" + dev-build/cmake + dev-util/vulkan-headers + sys-devel/gettext + sys-devel/mold + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT}= + sys-devel/llvm:${LLVM_SLOT}= + ') +" + +QA_FLAGS_IGNORED="usr/bin/zedit" + +pkg_setup() { + if tc-is-gcc; then + export CARGO_PROFILE_RELEASE_LTO="true" + elif tc-is-clang; then + export CARGO_PROFILE_RELEASE_LTO="thin" + fi + strip-unsupported-flags + # flags from upstream + 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" + if use gles; then + export RUSTFLAGS="${RUSTFLAGS} --cfg gles" + fi + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + + export APP_CLI="zedit" + export APP_ICON="zed" + export APP_ID="dev.zed.Zed" + export APP_NAME="Zed" + export APP_ARGS="%U" + export DO_STARTUP_NOTIFY="true" + envsubst < "crates/zed/resources/zed.desktop.in" > ${APP_ID}.desktop || die +} + +src_configure() { + cargo_src_configure --all-features +} + +src_compile() { + export RELEASE_VERSION="${PV}" + export ZED_UPDATE_EXPLANATION='Updates are handled by portage' + cargo_src_compile --package zed --package cli +} + +src_install() { + newbin $(cargo_target_dir)/cli ${APP_CLI} + exeinto "/usr/libexec" + newexe $(cargo_target_dir)/zed zed-editor + + newicon -s 512 crates/zed/resources/app-icon.png zed.png + newicon -s 1024 crates/zed/resources/app-icon@2x.png zed.png + domenu "${S}/${APP_ID}.desktop" +} + +src_test () { + mkdir -p "${HOME}/.config/zed" || die + mkdir -p "${HOME}/.local/share/zed/logs/" || die + + SHELL=/usr/bin/sh RUST_BACKTRACE=full cargo_src_test -vv +} diff --git a/app-editors/zed/zed-0.159.10.ebuild b/app-editors/zed/zed-0.159.10.ebuild deleted file mode 100644 index 63b11db2c3dd..000000000000 --- a/app-editors/zed/zed-0.159.10.ebuild +++ /dev/null @@ -1,168 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" -" - -declare -A GIT_CRATES=( - [alacritty_terminal]='https://github.com/alacritty/alacritty;91d034ff8b53867143c005acfaa14609147c9a2c;alacritty-%commit%/alacritty_terminal' - [async-pipe]='https://github.com/zed-industries/async-pipe-rs;82d00a04211cf4e1236029aa03e6b6ce2a74c553;async-pipe-rs-%commit%' - [async-stripe]='https://github.com/zed-industries/async-stripe;3672dd4efb7181aa597bf580bf5a2f5d23db6735;async-stripe-%commit%' - [blade-graphics]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-graphics' - [blade-macros]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-macros' - [blade-util]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-util' - [cosmic-text]='https://github.com/pop-os/cosmic-text;542b20ca4376a3b5de5fa629db1a4ace44e18e0c;cosmic-text-%commit%' - [font-kit]='https://github.com/zed-industries/font-kit;40391b7c0041d8a8572af2afa3de32ae088f0120;font-kit-%commit%' - [lsp-types]='https://github.com/zed-industries/lsp-types;72357d6f6d212bdffba3b5ef4b31d8ca856058e7;lsp-types-%commit%' - [nvim-rs]='https://github.com/KillTheMule/nvim-rs;69500bae73b8b3f02a05b7bee621a0d0e633da6c;nvim-rs-%commit%' - [pet-conda]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-conda' - [pet-core]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-core' - [pet-env-var-path]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-env-var-path' - [pet-fs]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-fs' - [pet-global-virtualenvs]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-global-virtualenvs' - [pet-homebrew]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-homebrew' - [pet-jsonrpc]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-jsonrpc' - [pet-linux-global-python]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-linux-global-python' - [pet-mac-commandlinetools]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-commandlinetools' - [pet-mac-python-org]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-python-org' - [pet-mac-xcode]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-xcode' - [pet-pipenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-pipenv' - [pet-poetry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-poetry' - [pet-pyenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-pyenv' - [pet-python-utils]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-python-utils' - [pet-reporter]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-reporter' - [pet-telemetry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-telemetry' - [pet-venv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-venv' - [pet-virtualenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-virtualenv' - [pet-virtualenvwrapper]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-virtualenvwrapper' - [pet-windows-registry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-windows-registry' - [pet-windows-store]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-windows-store' - [pet]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet' - [reqwest]='https://github.com/zed-industries/reqwest;fd110f6998da16bbca97b6dddda9be7827c50e29;reqwest-%commit%' - [tree-sitter-gomod]='https://github.com/zed-industries/tree-sitter-go-mod;a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca;tree-sitter-go-mod-%commit%' - [tree-sitter-gowork]='https://github.com/zed-industries/tree-sitter-go-work;acb0617bf7f4fda02c6217676cc64acb89536dc7;tree-sitter-go-work-%commit%' - [tree-sitter-heex]='https://github.com/zed-industries/tree-sitter-heex;1dd45142fbb05562e35b2040c6129c9bca346592;tree-sitter-heex-%commit%' - [tree-sitter-md]='https://github.com/tree-sitter-grammars/tree-sitter-markdown;9a23c1a96c0513d8fc6520972beedd419a973539;tree-sitter-markdown-%commit%' - [tree-sitter-yaml]='https://github.com/zed-industries/tree-sitter-yaml;baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a;tree-sitter-yaml-%commit%' - [xim-ctext]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-ctext' - [xim-parser]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-parser' - [xim]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%' - [xkbcommon]='https://github.com/ConradIrwin/xkbcommon-rs;fcbb4612185cc129ceeff51d22f7fb51810a03b2;xkbcommon-rs-%commit%' -) - -LLVM_COMPAT=( 18 ) - -inherit cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg - -DESCRIPTION="The fast, collaborative code editor" -HOMEPAGE="https://zed.dev https://github.com/zed-industries/zed" -SRC_URI=" - https://github.com/zed-industries/zed/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - https://gitlab.com/api/v4/projects/35204985/packages/generic/${PN}/${PV}/${P}-crates.tar.xz - ${CARGO_CRATE_URIS}" - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC - LGPL-3 MIT MPL-2.0 Unicode-DFS-2016 ZLIB -" -SLOT="0" -KEYWORDS="~amd64" -IUSE="gles" -CHECKREQS_DISK_BUILD="8G" -CHECKREQS_MEMORY="16G" - -DEPEND=" - app-arch/zstd:= - dev-db/sqlite:3 - dev-libs/libgit2:= - dev-libs/mimalloc - dev-libs/openssl:0/3 - dev-libs/protobuf - dev-libs/wayland - dev-libs/wayland-protocols - dev-util/wayland-scanner - dev-util/vulkan-tools - media-fonts/noto - media-libs/alsa-lib - media-libs/fontconfig - media-libs/vulkan-loader[X] - net-misc/curl - sys-libs/zlib - x11-libs/libxcb:= - x11-libs/libxkbcommon[X] -" -RDEPEND="${DEPEND}" -BDEPEND=" - dev-build/cmake - 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}= - ') -" - -QA_FLAGS_IGNORED="usr/bin/zedit" - -pkg_setup() { - if tc-is-gcc; then - export CARGO_PROFILE_RELEASE_LTO="true" - elif tc-is-clang; then - export CARGO_PROFILE_RELEASE_LTO="thin" - fi - strip-unsupported-flags - # flags from upstream - 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" - if use gles; then - export RUSTFLAGS="${RUSTFLAGS} --cfg gles" - fi -} - -src_prepare() { - default - - export APP_CLI="zedit" - export APP_ICON="zed" - export APP_ID="dev.zed.Zed" - export APP_NAME="Zed" - export APP_ARGS="%U" - export DO_STARTUP_NOTIFY="true" - envsubst < "crates/zed/resources/zed.desktop.in" > ${APP_ID}.desktop || die -} - -src_configure() { - cargo_src_configure --all-features -} - -src_compile() { - export RELEASE_VERSION="${PV}" - export ZED_UPDATE_EXPLANATION='Updates are handled by portage' - cargo_src_compile --package zed --package cli -} - -src_install() { - newbin $(cargo_target_dir)/cli ${APP_CLI} - exeinto "/usr/libexec" - newexe $(cargo_target_dir)/zed zed-editor - - newicon -s 512 crates/zed/resources/app-icon.png zed.png - newicon -s 1024 crates/zed/resources/app-icon@2x.png zed.png - domenu "${S}/${APP_ID}.desktop" -} - -src_test () { - mkdir -p "${HOME}/.config/zed" || die - mkdir -p "${HOME}/.local/share/zed/logs/" || die - - SHELL=/usr/bin/sh RUST_BACKTRACE=full cargo_src_test -vv -} diff --git a/app-editors/zed/zed-0.160.7-r1.ebuild b/app-editors/zed/zed-0.160.7-r1.ebuild new file mode 100644 index 000000000000..6b5c07a29c86 --- /dev/null +++ b/app-editors/zed/zed-0.160.7-r1.ebuild @@ -0,0 +1,171 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [alacritty_terminal]='https://github.com/alacritty/alacritty;91d034ff8b53867143c005acfaa14609147c9a2c;alacritty-%commit%/alacritty_terminal' + [async-pipe]='https://github.com/zed-industries/async-pipe-rs;82d00a04211cf4e1236029aa03e6b6ce2a74c553;async-pipe-rs-%commit%' + [async-stripe]='https://github.com/zed-industries/async-stripe;3672dd4efb7181aa597bf580bf5a2f5d23db6735;async-stripe-%commit%' + [blade-graphics]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-graphics' + [blade-macros]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-macros' + [blade-util]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-util' + [cosmic-text]='https://github.com/pop-os/cosmic-text;542b20ca4376a3b5de5fa629db1a4ace44e18e0c;cosmic-text-%commit%' + [font-kit]='https://github.com/zed-industries/font-kit;40391b7c0041d8a8572af2afa3de32ae088f0120;font-kit-%commit%' + [lsp-types]='https://github.com/zed-industries/lsp-types;72357d6f6d212bdffba3b5ef4b31d8ca856058e7;lsp-types-%commit%' + [nvim-rs]='https://github.com/KillTheMule/nvim-rs;69500bae73b8b3f02a05b7bee621a0d0e633da6c;nvim-rs-%commit%' + [pet-conda]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-conda' + [pet-core]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-core' + [pet-env-var-path]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-env-var-path' + [pet-fs]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-fs' + [pet-global-virtualenvs]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-global-virtualenvs' + [pet-homebrew]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-homebrew' + [pet-jsonrpc]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-jsonrpc' + [pet-linux-global-python]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-linux-global-python' + [pet-mac-commandlinetools]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-commandlinetools' + [pet-mac-python-org]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-python-org' + [pet-mac-xcode]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-xcode' + [pet-pipenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-pipenv' + [pet-poetry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-poetry' + [pet-pyenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-pyenv' + [pet-python-utils]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-python-utils' + [pet-reporter]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-reporter' + [pet-telemetry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-telemetry' + [pet-venv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-venv' + [pet-virtualenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-virtualenv' + [pet-virtualenvwrapper]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-virtualenvwrapper' + [pet-windows-registry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-windows-registry' + [pet-windows-store]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-windows-store' + [pet]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet' + [reqwest]='https://github.com/zed-industries/reqwest;fd110f6998da16bbca97b6dddda9be7827c50e29;reqwest-%commit%' + [tree-sitter-gomod]='https://github.com/zed-industries/tree-sitter-go-mod;a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca;tree-sitter-go-mod-%commit%' + [tree-sitter-gowork]='https://github.com/zed-industries/tree-sitter-go-work;acb0617bf7f4fda02c6217676cc64acb89536dc7;tree-sitter-go-work-%commit%' + [tree-sitter-heex]='https://github.com/zed-industries/tree-sitter-heex;1dd45142fbb05562e35b2040c6129c9bca346592;tree-sitter-heex-%commit%' + [tree-sitter-md]='https://github.com/tree-sitter-grammars/tree-sitter-markdown;9a23c1a96c0513d8fc6520972beedd419a973539;tree-sitter-markdown-%commit%' + [tree-sitter-yaml]='https://github.com/zed-industries/tree-sitter-yaml;baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a;tree-sitter-yaml-%commit%' + [xim-ctext]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-ctext' + [xim-parser]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-parser' + [xim]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%' + [xkbcommon]='https://github.com/ConradIrwin/xkbcommon-rs;fcbb4612185cc129ceeff51d22f7fb51810a03b2;xkbcommon-rs-%commit%' +) + +LLVM_COMPAT=( 18 ) +RUST_MIN_VER="1.80.1" +RUST_NEEDS_LLVM=1 + +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" +SRC_URI=" + https://github.com/zed-industries/zed/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://gitlab.com/api/v4/projects/35204985/packages/generic/${PN}/${PV}/${P}-crates.tar.xz + ${CARGO_CRATE_URIS}" + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC + LGPL-3 MIT MPL-2.0 Unicode-DFS-2016 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="gles" +CHECKREQS_DISK_BUILD="8G" +CHECKREQS_MEMORY="16G" + +DEPEND=" + app-arch/zstd:= + dev-db/sqlite:3 + dev-libs/libgit2:= + dev-libs/mimalloc + dev-libs/openssl:0/3 + dev-libs/protobuf + dev-libs/wayland + dev-libs/wayland-protocols + dev-util/wayland-scanner + dev-util/vulkan-tools + media-fonts/noto + media-libs/alsa-lib + media-libs/fontconfig + media-libs/vulkan-loader[X] + net-misc/curl + sys-libs/zlib + x11-libs/libxcb:= + x11-libs/libxkbcommon[X] +" +RDEPEND="${DEPEND}" +BDEPEND=" + dev-build/cmake + dev-util/vulkan-headers + sys-devel/gettext + sys-devel/mold + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT}= + sys-devel/llvm:${LLVM_SLOT}= + ') +" + +QA_FLAGS_IGNORED="usr/bin/zedit" + +pkg_setup() { + if tc-is-gcc; then + export CARGO_PROFILE_RELEASE_LTO="true" + elif tc-is-clang; then + export CARGO_PROFILE_RELEASE_LTO="thin" + fi + strip-unsupported-flags + # flags from upstream + 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" + if use gles; then + export RUSTFLAGS="${RUSTFLAGS} --cfg gles" + fi + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + + export APP_CLI="zedit" + export APP_ICON="zed" + export APP_ID="dev.zed.Zed" + export APP_NAME="Zed" + export APP_ARGS="%U" + export DO_STARTUP_NOTIFY="true" + envsubst < "crates/zed/resources/zed.desktop.in" > ${APP_ID}.desktop || die +} + +src_configure() { + cargo_src_configure --all-features +} + +src_compile() { + export RELEASE_VERSION="${PV}" + export ZED_UPDATE_EXPLANATION='Updates are handled by portage' + cargo_src_compile --package zed --package cli +} + +src_install() { + newbin $(cargo_target_dir)/cli ${APP_CLI} + exeinto "/usr/libexec" + newexe $(cargo_target_dir)/zed zed-editor + + newicon -s 512 crates/zed/resources/app-icon.png zed.png + newicon -s 1024 crates/zed/resources/app-icon@2x.png zed.png + domenu "${S}/${APP_ID}.desktop" +} + +src_test () { + mkdir -p "${HOME}/.config/zed" || die + mkdir -p "${HOME}/.local/share/zed/logs/" || die + + SHELL=/usr/bin/sh RUST_BACKTRACE=full cargo_src_test -vv +} diff --git a/app-editors/zed/zed-0.160.7.ebuild b/app-editors/zed/zed-0.160.7.ebuild deleted file mode 100644 index 63b11db2c3dd..000000000000 --- a/app-editors/zed/zed-0.160.7.ebuild +++ /dev/null @@ -1,168 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" -" - -declare -A GIT_CRATES=( - [alacritty_terminal]='https://github.com/alacritty/alacritty;91d034ff8b53867143c005acfaa14609147c9a2c;alacritty-%commit%/alacritty_terminal' - [async-pipe]='https://github.com/zed-industries/async-pipe-rs;82d00a04211cf4e1236029aa03e6b6ce2a74c553;async-pipe-rs-%commit%' - [async-stripe]='https://github.com/zed-industries/async-stripe;3672dd4efb7181aa597bf580bf5a2f5d23db6735;async-stripe-%commit%' - [blade-graphics]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-graphics' - [blade-macros]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-macros' - [blade-util]='https://github.com/kvark/blade;e142a3a5e678eb6a13e642ad8401b1f3aa38e969;blade-%commit%/blade-util' - [cosmic-text]='https://github.com/pop-os/cosmic-text;542b20ca4376a3b5de5fa629db1a4ace44e18e0c;cosmic-text-%commit%' - [font-kit]='https://github.com/zed-industries/font-kit;40391b7c0041d8a8572af2afa3de32ae088f0120;font-kit-%commit%' - [lsp-types]='https://github.com/zed-industries/lsp-types;72357d6f6d212bdffba3b5ef4b31d8ca856058e7;lsp-types-%commit%' - [nvim-rs]='https://github.com/KillTheMule/nvim-rs;69500bae73b8b3f02a05b7bee621a0d0e633da6c;nvim-rs-%commit%' - [pet-conda]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-conda' - [pet-core]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-core' - [pet-env-var-path]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-env-var-path' - [pet-fs]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-fs' - [pet-global-virtualenvs]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-global-virtualenvs' - [pet-homebrew]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-homebrew' - [pet-jsonrpc]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-jsonrpc' - [pet-linux-global-python]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-linux-global-python' - [pet-mac-commandlinetools]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-commandlinetools' - [pet-mac-python-org]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-python-org' - [pet-mac-xcode]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-mac-xcode' - [pet-pipenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-pipenv' - [pet-poetry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-poetry' - [pet-pyenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-pyenv' - [pet-python-utils]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-python-utils' - [pet-reporter]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-reporter' - [pet-telemetry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-telemetry' - [pet-venv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-venv' - [pet-virtualenv]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-virtualenv' - [pet-virtualenvwrapper]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-virtualenvwrapper' - [pet-windows-registry]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-windows-registry' - [pet-windows-store]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet-windows-store' - [pet]='https://github.com/microsoft/python-environment-tools;ffcbf3f28c46633abd5448a52b1f396c322e0d6c;python-environment-tools-%commit%/crates/pet' - [reqwest]='https://github.com/zed-industries/reqwest;fd110f6998da16bbca97b6dddda9be7827c50e29;reqwest-%commit%' - [tree-sitter-gomod]='https://github.com/zed-industries/tree-sitter-go-mod;a9aea5e358cde4d0f8ff20b7bc4fa311e359c7ca;tree-sitter-go-mod-%commit%' - [tree-sitter-gowork]='https://github.com/zed-industries/tree-sitter-go-work;acb0617bf7f4fda02c6217676cc64acb89536dc7;tree-sitter-go-work-%commit%' - [tree-sitter-heex]='https://github.com/zed-industries/tree-sitter-heex;1dd45142fbb05562e35b2040c6129c9bca346592;tree-sitter-heex-%commit%' - [tree-sitter-md]='https://github.com/tree-sitter-grammars/tree-sitter-markdown;9a23c1a96c0513d8fc6520972beedd419a973539;tree-sitter-markdown-%commit%' - [tree-sitter-yaml]='https://github.com/zed-industries/tree-sitter-yaml;baff0b51c64ef6a1fb1f8390f3ad6015b83ec13a;tree-sitter-yaml-%commit%' - [xim-ctext]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-ctext' - [xim-parser]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%/xim-parser' - [xim]='https://github.com/XDeme1/xim-rs;d50d461764c2213655cd9cf65a0ea94c70d3c4fd;xim-rs-%commit%' - [xkbcommon]='https://github.com/ConradIrwin/xkbcommon-rs;fcbb4612185cc129ceeff51d22f7fb51810a03b2;xkbcommon-rs-%commit%' -) - -LLVM_COMPAT=( 18 ) - -inherit cargo check-reqs desktop flag-o-matic llvm-r1 toolchain-funcs xdg - -DESCRIPTION="The fast, collaborative code editor" -HOMEPAGE="https://zed.dev https://github.com/zed-industries/zed" -SRC_URI=" - https://github.com/zed-industries/zed/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - https://gitlab.com/api/v4/projects/35204985/packages/generic/${PN}/${PV}/${P}-crates.tar.xz - ${CARGO_CRATE_URIS}" - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC - LGPL-3 MIT MPL-2.0 Unicode-DFS-2016 ZLIB -" -SLOT="0" -KEYWORDS="~amd64" -IUSE="gles" -CHECKREQS_DISK_BUILD="8G" -CHECKREQS_MEMORY="16G" - -DEPEND=" - app-arch/zstd:= - dev-db/sqlite:3 - dev-libs/libgit2:= - dev-libs/mimalloc - dev-libs/openssl:0/3 - dev-libs/protobuf - dev-libs/wayland - dev-libs/wayland-protocols - dev-util/wayland-scanner - dev-util/vulkan-tools - media-fonts/noto - media-libs/alsa-lib - media-libs/fontconfig - media-libs/vulkan-loader[X] - net-misc/curl - sys-libs/zlib - x11-libs/libxcb:= - x11-libs/libxkbcommon[X] -" -RDEPEND="${DEPEND}" -BDEPEND=" - dev-build/cmake - 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}= - ') -" - -QA_FLAGS_IGNORED="usr/bin/zedit" - -pkg_setup() { - if tc-is-gcc; then - export CARGO_PROFILE_RELEASE_LTO="true" - elif tc-is-clang; then - export CARGO_PROFILE_RELEASE_LTO="thin" - fi - strip-unsupported-flags - # flags from upstream - 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" - if use gles; then - export RUSTFLAGS="${RUSTFLAGS} --cfg gles" - fi -} - -src_prepare() { - default - - export APP_CLI="zedit" - export APP_ICON="zed" - export APP_ID="dev.zed.Zed" - export APP_NAME="Zed" - export APP_ARGS="%U" - export DO_STARTUP_NOTIFY="true" - envsubst < "crates/zed/resources/zed.desktop.in" > ${APP_ID}.desktop || die -} - -src_configure() { - cargo_src_configure --all-features -} - -src_compile() { - export RELEASE_VERSION="${PV}" - export ZED_UPDATE_EXPLANATION='Updates are handled by portage' - cargo_src_compile --package zed --package cli -} - -src_install() { - newbin $(cargo_target_dir)/cli ${APP_CLI} - exeinto "/usr/libexec" - newexe $(cargo_target_dir)/zed zed-editor - - newicon -s 512 crates/zed/resources/app-icon.png zed.png - newicon -s 1024 crates/zed/resources/app-icon@2x.png zed.png - domenu "${S}/${APP_ID}.desktop" -} - -src_test () { - mkdir -p "${HOME}/.config/zed" || die - mkdir -p "${HOME}/.local/share/zed/logs/" || die - - SHELL=/usr/bin/sh RUST_BACKTRACE=full cargo_src_test -vv -} diff --git a/app-emulation/ruffle/ruffle-0_p20240929-r1.ebuild b/app-emulation/ruffle/ruffle-0_p20240929-r1.ebuild new file mode 100644 index 000000000000..2ca7a360fdef --- /dev/null +++ b/app-emulation/ruffle/ruffle-0_p20240929-r1.ebuild @@ -0,0 +1,118 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_MIN_VER="1.81.0" + +inherit cargo desktop optfeature xdg + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://code.videolan.org/videolan/libplacebo.git" + inherit git-r3 +else + MY_PV=nightly-${PV:3:4}-${PV:7:2}-${PV:9:2} + MY_P=${PN}-${MY_PV} + SRC_URI=" + https://github.com/ruffle-rs/ruffle/archive/refs/tags/${MY_PV}.tar.gz + -> ${MY_P}.tar.gz + https://dev.gentoo.org/~ionen/distfiles/${MY_P}-vendor.tar.xz + " + S=${WORKDIR}/${MY_P} + KEYWORDS="amd64" +fi + +DESCRIPTION="Flash Player emulator written in Rust" +HOMEPAGE="https://ruffle.rs/" + +LICENSE="|| ( Apache-2.0 MIT )" +LICENSE+=" + Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC UbuntuFontLicense-1.0 MIT + MPL-2.0 OFL-1.1 openssl Unicode-3.0 Unicode-DFS-2016 ZLIB +" # crates +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +# dlopen: libX* (see winit+x11-dl crates) +RDEPEND=" + media-libs/alsa-lib + virtual/libudev:= + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXrandr + x11-libs/libXrender +" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +BDEPEND=" + virtual/jre:* + virtual/pkgconfig +" + +QA_FLAGS_IGNORED="usr/bin/${PN}.*" + +PATCHES=( + "${FILESDIR}"/${PN}-0_p20231216-skip-render-tests.patch +) + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + local workspaces=( + ruffle_{desktop,scanner} + exporter + $(usev test tests) + ) + + cargo_src_configure "${workspaces[@]/#/--package=}" +} + +src_test() { + local skip=( + # may need more investigation, strangely "pass" (xfail) when + # RUSTFLAGS is unset, skip for now (bug #915726) + --skip from_avmplus/as3/Types/Int/wraparound + ) + + cargo_src_test -- "${skip[@]}" +} + +src_install() { + dodoc README.md + + newicon web/packages/extension/assets/images/icon180.png ${PN}.png + make_desktop_entry ${PN} ${PN^} ${PN} "AudioVideo;Player;Emulator;" \ + "MimeType=application/x-shockwave-flash;application/vnd.adobe.flash.movie;" + + cd "$(cargo_target_dir)" || die + newbin ${PN}_desktop ${PN} + newbin exporter ${PN}_exporter + dobin ${PN}_scanner +} + +pkg_postinst() { + xdg_pkg_postinst + + if [[ ! ${REPLACING_VERSIONS} ]]; then + elog "${PN} is experimental software that is still under heavy development" + elog "and only receiving nightly releases. Plans in Gentoo is to update" + elog "roughly every months if no known major regressions (feel free to" + elog "report if you feel a newer nightly is needed ahead of time)." + elog + elog "There is currently no plans to support wasm builds / browser" + elog "extensions, this provides the desktop viewer and other tools." + fi + + optfeature "h264 video decoding" media-libs/openh264 + optfeature "the in-application file picker" sys-apps/xdg-desktop-portal +} diff --git a/app-emulation/ruffle/ruffle-0_p20240929.ebuild b/app-emulation/ruffle/ruffle-0_p20240929.ebuild deleted file mode 100644 index 2246aaa0a1de..000000000000 --- a/app-emulation/ruffle/ruffle-0_p20240929.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cargo desktop optfeature xdg - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://code.videolan.org/videolan/libplacebo.git" - inherit git-r3 -else - MY_PV=nightly-${PV:3:4}-${PV:7:2}-${PV:9:2} - MY_P=${PN}-${MY_PV} - SRC_URI=" - https://github.com/ruffle-rs/ruffle/archive/refs/tags/${MY_PV}.tar.gz - -> ${MY_P}.tar.gz - https://dev.gentoo.org/~ionen/distfiles/${MY_P}-vendor.tar.xz - " - S=${WORKDIR}/${MY_P} - KEYWORDS="amd64" -fi - -DESCRIPTION="Flash Player emulator written in Rust" -HOMEPAGE="https://ruffle.rs/" - -LICENSE="|| ( Apache-2.0 MIT )" -LICENSE+=" - Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC UbuntuFontLicense-1.0 MIT - MPL-2.0 OFL-1.1 openssl Unicode-3.0 Unicode-DFS-2016 ZLIB -" # crates -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -# dlopen: libX* (see winit+x11-dl crates) -RDEPEND=" - media-libs/alsa-lib - virtual/libudev:= - x11-libs/libX11 - x11-libs/libXcursor - x11-libs/libXrandr - x11-libs/libXrender -" -DEPEND=" - ${RDEPEND} - x11-base/xorg-proto -" -BDEPEND=" - virtual/jre:* - virtual/pkgconfig - >=virtual/rust-1.81 -" - -QA_FLAGS_IGNORED="usr/bin/${PN}.*" - -PATCHES=( - "${FILESDIR}"/${PN}-0_p20231216-skip-render-tests.patch -) - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_configure() { - local workspaces=( - ruffle_{desktop,scanner} - exporter - $(usev test tests) - ) - - cargo_src_configure "${workspaces[@]/#/--package=}" -} - -src_test() { - local skip=( - # may need more investigation, strangely "pass" (xfail) when - # RUSTFLAGS is unset, skip for now (bug #915726) - --skip from_avmplus/as3/Types/Int/wraparound - ) - - cargo_src_test -- "${skip[@]}" -} - -src_install() { - dodoc README.md - - newicon web/packages/extension/assets/images/icon180.png ${PN}.png - make_desktop_entry ${PN} ${PN^} ${PN} "AudioVideo;Player;Emulator;" \ - "MimeType=application/x-shockwave-flash;application/vnd.adobe.flash.movie;" - - cd "$(cargo_target_dir)" || die - newbin ${PN}_desktop ${PN} - newbin exporter ${PN}_exporter - dobin ${PN}_scanner -} - -pkg_postinst() { - xdg_pkg_postinst - - if [[ ! ${REPLACING_VERSIONS} ]]; then - elog "${PN} is experimental software that is still under heavy development" - elog "and only receiving nightly releases. Plans in Gentoo is to update" - elog "roughly every months if no known major regressions (feel free to" - elog "report if you feel a newer nightly is needed ahead of time)." - elog - elog "There is currently no plans to support wasm builds / browser" - elog "extensions, this provides the desktop viewer and other tools." - fi - - optfeature "h264 video decoding" media-libs/openh264 - optfeature "the in-application file picker" sys-apps/xdg-desktop-portal -} diff --git a/app-emulation/ruffle/ruffle-0_p20241027-r1.ebuild b/app-emulation/ruffle/ruffle-0_p20241027-r1.ebuild new file mode 100644 index 000000000000..ed46221ee0c5 --- /dev/null +++ b/app-emulation/ruffle/ruffle-0_p20241027-r1.ebuild @@ -0,0 +1,118 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_MIN_VER="1.81.0" + +inherit cargo desktop optfeature xdg + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://code.videolan.org/videolan/libplacebo.git" + inherit git-r3 +else + MY_PV=nightly-${PV:3:4}-${PV:7:2}-${PV:9:2} + MY_P=${PN}-${MY_PV} + SRC_URI=" + https://github.com/ruffle-rs/ruffle/archive/refs/tags/${MY_PV}.tar.gz + -> ${MY_P}.tar.gz + https://dev.gentoo.org/~ionen/distfiles/${MY_P}-vendor.tar.xz + " + S=${WORKDIR}/${MY_P} + KEYWORDS="~amd64" +fi + +DESCRIPTION="Flash Player emulator written in Rust" +HOMEPAGE="https://ruffle.rs/" + +LICENSE="|| ( Apache-2.0 MIT )" +LICENSE+=" + Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC UbuntuFontLicense-1.0 MIT + MPL-2.0 OFL-1.1 openssl Unicode-3.0 Unicode-DFS-2016 ZLIB +" # crates +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +# dlopen: libX* (see winit+x11-dl crates) +RDEPEND=" + media-libs/alsa-lib + virtual/libudev:= + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXrandr + x11-libs/libXrender +" +DEPEND=" + ${RDEPEND} + x11-base/xorg-proto +" +BDEPEND=" + virtual/jre:* + virtual/pkgconfig +" + +QA_FLAGS_IGNORED="usr/bin/${PN}.*" + +PATCHES=( + "${FILESDIR}"/${PN}-0_p20231216-skip-render-tests.patch +) + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + local workspaces=( + ruffle_{desktop,scanner} + exporter + $(usev test tests) + ) + + cargo_src_configure "${workspaces[@]/#/--package=}" +} + +src_test() { + local skip=( + # may need more investigation, strangely "pass" (xfail) when + # RUSTFLAGS is unset, skip for now (bug #915726) + --skip from_avmplus/as3/Types/Int/wraparound + ) + + cargo_src_test -- "${skip[@]}" +} + +src_install() { + dodoc README.md + + newicon web/packages/extension/assets/images/icon180.png ${PN}.png + make_desktop_entry ${PN} ${PN^} ${PN} "AudioVideo;Player;Emulator;" \ + "MimeType=application/x-shockwave-flash;application/vnd.adobe.flash.movie;" + + cd "$(cargo_target_dir)" || die + newbin ${PN}_desktop ${PN} + newbin exporter ${PN}_exporter + dobin ${PN}_scanner +} + +pkg_postinst() { + xdg_pkg_postinst + + if [[ ! ${REPLACING_VERSIONS} ]]; then + elog "${PN} is experimental software that is still under heavy development" + elog "and only receiving nightly releases. Plans in Gentoo is to update" + elog "roughly every months if no known major regressions (feel free to" + elog "report if you feel a newer nightly is needed ahead of time)." + elog + elog "There is currently no plans to support wasm builds / browser" + elog "extensions, this provides the desktop viewer and other tools." + fi + + optfeature "h264 video decoding" media-libs/openh264 + optfeature "the in-application file picker" sys-apps/xdg-desktop-portal +} diff --git a/app-emulation/ruffle/ruffle-0_p20241027.ebuild b/app-emulation/ruffle/ruffle-0_p20241027.ebuild deleted file mode 100644 index fbb6ac59d57f..000000000000 --- a/app-emulation/ruffle/ruffle-0_p20241027.ebuild +++ /dev/null @@ -1,117 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cargo desktop optfeature xdg - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://code.videolan.org/videolan/libplacebo.git" - inherit git-r3 -else - MY_PV=nightly-${PV:3:4}-${PV:7:2}-${PV:9:2} - MY_P=${PN}-${MY_PV} - SRC_URI=" - https://github.com/ruffle-rs/ruffle/archive/refs/tags/${MY_PV}.tar.gz - -> ${MY_P}.tar.gz - https://dev.gentoo.org/~ionen/distfiles/${MY_P}-vendor.tar.xz - " - S=${WORKDIR}/${MY_P} - KEYWORDS="~amd64" -fi - -DESCRIPTION="Flash Player emulator written in Rust" -HOMEPAGE="https://ruffle.rs/" - -LICENSE="|| ( Apache-2.0 MIT )" -LICENSE+=" - Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC UbuntuFontLicense-1.0 MIT - MPL-2.0 OFL-1.1 openssl Unicode-3.0 Unicode-DFS-2016 ZLIB -" # crates -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -# dlopen: libX* (see winit+x11-dl crates) -RDEPEND=" - media-libs/alsa-lib - virtual/libudev:= - x11-libs/libX11 - x11-libs/libXcursor - x11-libs/libXrandr - x11-libs/libXrender -" -DEPEND=" - ${RDEPEND} - x11-base/xorg-proto -" -BDEPEND=" - virtual/jre:* - virtual/pkgconfig - >=virtual/rust-1.81 -" - -QA_FLAGS_IGNORED="usr/bin/${PN}.*" - -PATCHES=( - "${FILESDIR}"/${PN}-0_p20231216-skip-render-tests.patch -) - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_configure() { - local workspaces=( - ruffle_{desktop,scanner} - exporter - $(usev test tests) - ) - - cargo_src_configure "${workspaces[@]/#/--package=}" -} - -src_test() { - local skip=( - # may need more investigation, strangely "pass" (xfail) when - # RUSTFLAGS is unset, skip for now (bug #915726) - --skip from_avmplus/as3/Types/Int/wraparound - ) - - cargo_src_test -- "${skip[@]}" -} - -src_install() { - dodoc README.md - - newicon web/packages/extension/assets/images/icon180.png ${PN}.png - make_desktop_entry ${PN} ${PN^} ${PN} "AudioVideo;Player;Emulator;" \ - "MimeType=application/x-shockwave-flash;application/vnd.adobe.flash.movie;" - - cd "$(cargo_target_dir)" || die - newbin ${PN}_desktop ${PN} - newbin exporter ${PN}_exporter - dobin ${PN}_scanner -} - -pkg_postinst() { - xdg_pkg_postinst - - if [[ ! ${REPLACING_VERSIONS} ]]; then - elog "${PN} is experimental software that is still under heavy development" - elog "and only receiving nightly releases. Plans in Gentoo is to update" - elog "roughly every months if no known major regressions (feel free to" - elog "report if you feel a newer nightly is needed ahead of time)." - elog - elog "There is currently no plans to support wasm builds / browser" - elog "extensions, this provides the desktop viewer and other tools." - fi - - optfeature "h264 video decoding" media-libs/openh264 - optfeature "the in-application file picker" sys-apps/xdg-desktop-portal -} 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-r1.ebuild b/app-emulation/virtiofsd/virtiofsd-1.10.0-r1.ebuild new file mode 100644 index 000000000000..7358e8fdae58 --- /dev/null +++ b/app-emulation/virtiofsd/virtiofsd-1.10.0-r1.ebuild @@ -0,0 +1,148 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@0.7.18 + anstream@0.3.2 + anstyle@1.0.1 + anstyle-parse@0.2.1 + anstyle-query@1.0.0 + anstyle-wincon@1.0.1 + arc-swap@1.5.0 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.4.1 + capng@0.2.2 + cc@1.0.79 + cfg-if@1.0.0 + clap@4.3.11 + clap_builder@4.3.11 + clap_derive@4.3.2 + clap_lex@0.5.0 + colorchoice@1.0.0 + env_logger@0.8.4 + errno@0.3.1 + errno-dragonfly@0.1.2 + error-chain@0.12.4 + 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 + heck@0.4.1 + hermit-abi@0.1.19 + hermit-abi@0.3.2 + hostname@0.3.1 + humantime@2.1.0 + is-terminal@0.4.9 + itoa@1.0.2 + libc@0.2.147 + libseccomp-sys@0.2.1 + linux-raw-sys@0.4.5 + log@0.4.17 + match_cfg@0.1.0 + memchr@2.5.0 + num_cpus@1.13.1 + num_threads@0.1.6 + once_cell@1.18.0 + pin-project-lite@0.2.9 + pin-utils@0.1.0 + proc-macro2@1.0.63 + quote@1.0.29 + regex@1.6.0 + regex-syntax@0.6.27 + rustix@0.38.7 + slab@0.4.7 + strsim@0.10.0 + syn@1.0.98 + syn@2.0.23 + syslog@6.0.1 + termcolor@1.1.3 + thiserror@1.0.41 + thiserror-impl@1.0.41 + time@0.3.11 + unicode-ident@1.0.2 + utf8parse@0.2.1 + version_check@0.9.4 + vhost@0.10.0 + vhost-user-backend@0.13.1 + virtio-bindings@0.2.2 + virtio-queue@0.11.0 + vm-memory@0.14.0 + vmm-sys-util@0.12.1 + 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.1 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_msvc@0.48.0 + windows_i686_gnu@0.48.0 + windows_i686_msvc@0.48.0 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_msvc@0.48.0 +" + +inherit cargo + +DESCRIPTION="Shared file system for virtual machines" +HOMEPAGE="https://virtio-fs.gitlab.io/" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.com/virtio-fs/virtiofsd.git" + EGIT_BRANCH="main" +else + SRC_URI="https://gitlab.com/virtio-fs/virtiofsd/-/archive/v${PV}/virtiofsd-v${PV}.tar.bz2" + SRC_URI+=" ${CARGO_CRATE_URIS}" + KEYWORDS="amd64 ppc64" + S="${WORKDIR}/${PN}-v${PV}" +fi + +LICENSE="Apache-2.0 BSD" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 Unlicense" +SLOT="0" + +DEPEND=" + sys-libs/libcap-ng + sys-libs/libseccomp +" +RDEPEND="${DEPEND}" + +# 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/libexec/${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 + + mkdir "${ED}/usr/libexec" || die + mv "${ED}/usr/"{bin,libexec}/${PN} || die + + # Install 50-virtiofsd.json but to avoid conflicts with + # /dev/null || die + distutils-r1_${phase} "$@" + popd >/dev/null || die + fi +} + +src_prepare() { + default + wrap_python ${FUNCNAME} +} + +src_compile() { + cargo_src_compile --workspace + wrap_python ${FUNCNAME} +} + +python_test() { + epytest +} + +src_test() { + cargo_src_test + wrap_python ${FUNCNAME} +} + +src_install() { + dobin "$(cargo_target_dir)"/yr + dolib.so "$(cargo_target_dir)"/*.so + + wrap_python ${FUNCNAME} +} diff --git a/app-forensics/yara-x/yara-x-0.5.0.ebuild b/app-forensics/yara-x/yara-x-0.5.0.ebuild deleted file mode 100644 index d658ac1b9717..000000000000 --- a/app-forensics/yara-x/yara-x-0.5.0.ebuild +++ /dev/null @@ -1,584 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..12} ) - -CRATES=" - addr2line@0.21.0 - addr2line@0.22.0 - adler@1.0.2 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - alloc-no-stdlib@2.0.4 - alloc-stdlib@0.2.2 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - annotate-snippets@0.11.4 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.1.0 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - anyhow@1.0.86 - arbitrary@1.3.2 - array-bytes@6.2.3 - arrayvec@0.7.4 - ascii_tree@0.1.1 - asn1-rs-derive@0.5.0 - asn1-rs-impl@0.2.0 - asn1-rs@0.6.1 - async-trait@0.1.80 - atty@0.2.14 - autocfg@1.3.0 - backtrace@0.3.73 - base16ct@0.2.0 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - bincode@1.3.3 - bitflags@1.3.2 - bitflags@2.5.0 - bitmask@0.5.0 - bitvec@1.0.1 - block-buffer@0.10.4 - block-buffer@0.9.0 - brotli-decompressor@2.5.1 - brotli@3.5.0 - bstr@0.2.17 - bstr@1.9.1 - bumpalo@3.16.0 - bytecount@0.6.8 - bytemuck@1.16.1 - byteorder@1.5.0 - bytes@1.6.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - camino@1.1.7 - cargo-platform@0.1.8 - cargo_metadata@0.14.2 - castaway@0.2.2 - cbindgen@0.26.0 - cc@1.0.99 - cfg-if@1.0.0 - chardetng@0.1.17 - chrono@0.4.38 - cipher@0.4.4 - clap@3.2.25 - clap@4.5.8 - clap_builder@4.5.8 - clap_complete@4.5.7 - clap_derive@4.5.8 - clap_lex@0.2.4 - clap_lex@0.7.1 - colorchoice@1.0.1 - colored_json@4.1.0 - compact_str@0.7.1 - console@0.15.8 - const-oid@0.9.6 - const-random-macro@0.1.16 - const-random@0.1.18 - constant_time_eq@0.3.0 - convert_case@0.6.0 - core-foundation-sys@0.8.6 - cpp_demangle@0.4.3 - cpufeatures@0.2.12 - cranelift-bforest@0.106.2 - cranelift-codegen-meta@0.106.2 - cranelift-codegen-shared@0.106.2 - cranelift-codegen@0.106.2 - cranelift-control@0.106.2 - cranelift-entity@0.106.2 - cranelift-frontend@0.106.2 - cranelift-isle@0.106.2 - cranelift-native@0.106.2 - cranelift-wasm@0.106.2 - crc-catalog@2.4.0 - crc32fast@1.4.2 - crc@3.2.1 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crossbeam@0.8.4 - crossterm@0.23.2 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - crunchy@0.2.2 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - csscolorparser@0.6.2 - darling@0.14.4 - darling_core@0.14.4 - darling_macro@0.14.4 - data-encoding@2.6.0 - debugid@0.8.0 - deflate64@0.1.8 - deltae@0.3.2 - der-parser@9.0.0 - der@0.7.9 - deranged@0.3.11 - derive_arbitrary@1.3.2 - diff@0.1.13 - digest@0.10.7 - digest@0.9.0 - directories-next@2.0.0 - dirs-sys-next@0.1.2 - dirs-sys@0.3.7 - dirs@4.0.0 - displaydoc@0.2.4 - dsa@0.6.3 - ecdsa@0.16.9 - either@1.12.0 - elliptic-curve@0.13.8 - enable-ansi-support@0.2.1 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - enum_dispatch@0.3.13 - env_filter@0.1.0 - env_logger@0.11.3 - equivalent@1.0.1 - errno@0.3.9 - error-chain@0.12.4 - fallible-iterator@0.2.0 - fallible-iterator@0.3.0 - fastrand@2.1.0 - ff@0.13.0 - filedescriptor@0.8.2 - findshlibs@0.10.2 - finl_unicode@1.2.0 - fixedbitset@0.4.2 - flate2@1.0.30 - fmmap@0.3.3 - fnv@1.0.7 - fraction@0.14.0 - fs4@0.6.6 - funty@2.0.0 - fxhash@0.2.1 - fxprof-processed-profile@0.6.0 - generic-array@0.14.7 - getrandom@0.2.15 - gimli@0.26.2 - gimli@0.28.1 - gimli@0.29.0 - glob@0.3.1 - globset@0.4.14 - globwalk@0.9.1 - goldenfile@1.7.1 - group@0.13.0 - hashbrown@0.12.3 - hashbrown@0.13.2 - hashbrown@0.14.5 - heck@0.3.3 - heck@0.4.1 - heck@0.5.0 - hermit-abi@0.1.19 - hermit-abi@0.3.9 - hex@0.4.3 - hkdf@0.12.4 - hmac@0.12.1 - home@0.5.9 - humantime@2.1.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - id-arena@2.2.1 - ident_case@1.0.1 - ignore@0.4.22 - ihex@3.0.0 - include_dir@0.7.4 - include_dir_macros@0.7.4 - indenter@0.3.3 - indexmap@1.9.3 - indexmap@2.2.6 - indoc@2.0.5 - inferno@0.11.19 - inout@0.1.3 - intaglio@1.9.1 - is-terminal@0.4.12 - is_terminal_polyfill@1.70.0 - itertools@0.10.5 - itertools@0.12.1 - itertools@0.13.0 - itoa@1.0.11 - ittapi-sys@0.4.0 - ittapi@0.4.0 - jobserver@0.1.31 - js-sys@0.3.69 - lab@0.11.0 - lazy_static@1.4.0 - leb128@0.2.5 - libc@0.2.155 - libm@0.2.8 - libredox@0.1.3 - lingua-english-language-model@1.1.0 - lingua-french-language-model@1.1.0 - lingua-german-language-model@1.1.0 - lingua-spanish-language-model@1.1.0 - lingua@1.6.2 - linked-hash-map@0.5.6 - linkme-impl@0.3.27 - linkme@0.3.27 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - lockfree-object-pool@0.1.6 - log@0.4.22 - lzma-rs@0.3.0 - mach@0.3.2 - magic-sys@0.3.0 - magic@0.16.2 - maplit@1.0.2 - md-5@0.10.6 - md2@0.10.2 - memchr@2.7.4 - memfd@0.6.4 - memmap2@0.9.4 - memmapix@0.7.6 - memmem@0.1.1 - memoffset@0.6.5 - memoffset@0.9.1 - memx@0.1.32 - minimal-lexical@0.2.1 - miniz_oxide@0.7.4 - mio@0.8.11 - nix@0.24.3 - nix@0.26.4 - nom@5.1.3 - nom@7.1.3 - num-bigint-dig@0.8.4 - num-bigint@0.4.5 - num-complex@0.4.6 - num-conv@0.1.0 - num-derive@0.3.3 - num-derive@0.4.2 - num-format@0.4.4 - num-integer@0.1.46 - num-iter@0.1.45 - num-rational@0.4.2 - num-traits@0.2.19 - num@0.4.3 - object@0.32.2 - object@0.36.0 - oid-registry@0.7.0 - once_cell@1.19.0 - opaque-debug@0.3.1 - ordered-float@3.9.2 - ordered-float@4.2.0 - os_str_bytes@6.6.1 - p256@0.13.2 - p384@0.13.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - parse-display-derive@0.8.2 - parse-display@0.8.2 - paste@1.0.15 - pbkdf2@0.12.2 - pem-rfc7468@0.7.0 - pest@2.7.10 - pest_derive@2.7.10 - pest_generator@2.7.10 - pest_meta@2.7.10 - phf@0.10.1 - phf@0.11.2 - phf_codegen@0.11.2 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.10.0 - phf_shared@0.11.2 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - portable-atomic@1.6.0 - powerfmt@0.2.0 - pprof@0.13.0 - ppv-lite86@0.2.17 - pretty_assertions@1.4.0 - primeorder@0.13.6 - proc-macro2@1.0.85 - protobuf-codegen@3.5.0 - protobuf-json-mapping@3.5.0 - protobuf-parse@3.5.0 - protobuf-support@3.5.0 - protobuf@3.5.0 - psm@0.1.21 - pulldown-cmark@0.9.6 - pyo3-build-config@0.21.2 - pyo3-ffi@0.21.2 - pyo3-file@0.8.1 - pyo3-macros-backend@0.21.2 - pyo3-macros@0.21.2 - pyo3@0.21.2 - quick-xml@0.26.0 - quote@1.0.36 - radium@0.7.0 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.5.2 - redox_users@0.4.5 - regalloc2@0.9.3 - regex-automata@0.1.10 - regex-automata@0.4.7 - regex-syntax@0.7.5 - regex-syntax@0.8.4 - regex@1.10.5 - rfc6979@0.4.0 - rgb@0.8.37 - ring@0.17.8 - roxmltree@0.20.0 - rsa@0.9.6 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustc-hash@2.0.0 - rusticata-macros@4.1.0 - rustix@0.38.34 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - scopeguard@1.2.0 - sec1@0.7.3 - semver-parser@0.10.2 - semver@0.11.0 - semver@1.0.23 - serde-wasm-bindgen@0.6.5 - serde@1.0.203 - serde_derive@1.0.203 - serde_json@1.0.117 - serde_spanned@0.6.6 - sha1@0.10.6 - sha2@0.10.8 - sha2@0.9.9 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.2 - signal-hook@0.1.17 - signal-hook@0.3.17 - signature@2.2.0 - simd-adler32@0.3.7 - similar-asserts@1.5.0 - similar@2.5.0 - siphasher@0.3.11 - skeptic@0.13.7 - slice-group-by@0.3.1 - smallvec@1.13.2 - spin@0.5.2 - spin@0.9.8 - spki@0.7.3 - sptr@0.3.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 - structmeta-derive@0.2.0 - structmeta@0.2.0 - strum@0.25.0 - strum_macros@0.25.3 - subtle@2.5.0 - superconsole@0.2.0 - symbolic-common@12.9.2 - symbolic-demangle@12.9.2 - syn@1.0.109 - syn@2.0.66 - synstructure@0.13.1 - tap@1.0.1 - target-lexicon@0.12.14 - tempfile@3.10.1 - termcolor@1.4.1 - terminfo@0.7.5 - termios@0.3.3 - termwiz@0.18.0 - textwrap@0.16.1 - thiserror-impl@1.0.61 - thiserror@1.0.61 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tlsh-fixed@0.1.1 - toml@0.5.11 - toml@0.8.14 - toml_datetime@0.6.6 - toml_edit@0.22.14 - typenum@1.17.0 - ucd-trie@0.1.6 - unicase@2.7.0 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-width@0.1.13 - unicode-xid@0.2.4 - unindent@0.2.3 - untrusted@0.9.0 - utf8parse@0.2.2 - uuid@1.8.0 - vcpkg@0.2.15 - version_check@0.9.4 - vtparse@0.6.2 - walkdir@2.5.0 - walrus-macro@0.19.0 - walrus@0.20.3 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - wasm-encoder@0.201.0 - wasm-encoder@0.29.0 - wasmparser@0.201.0 - wasmparser@0.80.2 - wasmprinter@0.201.0 - wasmtime-asm-macros@19.0.2 - wasmtime-cache@19.0.2 - wasmtime-component-macro@19.0.2 - wasmtime-component-util@19.0.2 - wasmtime-cranelift-shared@19.0.2 - wasmtime-cranelift@19.0.2 - wasmtime-environ@19.0.2 - wasmtime-fiber@19.0.2 - wasmtime-jit-debug@19.0.2 - wasmtime-jit-icache-coherence@19.0.2 - wasmtime-runtime@19.0.2 - wasmtime-slab@19.0.2 - wasmtime-types@19.0.2 - wasmtime-versioned-export-macros@19.0.2 - wasmtime-winch@19.0.2 - wasmtime-wit-bindgen@19.0.2 - wasmtime-wmemcheck@19.0.2 - wasmtime@19.0.2 - wast@201.0.0 - wat@1.201.0 - wezterm-bidi@0.2.3 - wezterm-color-types@0.2.0 - wezterm-dynamic-derive@0.1.0 - wezterm-dynamic@0.1.0 - wezterm-dynamic@0.2.0 - which@4.4.2 - wild@2.2.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - winch-codegen@0.17.2 - windows-core@0.52.0 - windows-sys@0.42.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winnow@0.6.13 - wit-parser@0.201.0 - wyz@0.5.1 - x509-parser@0.16.0 - yaml-rust@0.4.5 - yansi@0.5.1 - yansi@1.0.1 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zeroize@1.8.1 - zeroize_derive@1.4.2 - zip@2.1.3 - zopfli@0.8.1 - zstd-safe@7.1.0 - zstd-sys@2.0.11+zstd.1.5.6 - zstd@0.13.1 -" - -inherit cargo distutils-r1 - -DESCRIPTION="A malware identification and classification tool" -HOMEPAGE="https://virustotal.github.io/yara-x/" -SRC_URI=" - https://github.com/VirusTotal/yara-x/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="BSD" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD Boost-1.0 - CC0-1.0 CDDL EPL-2.0 ISC MIT MPL-2.0 Unicode-DFS-2016 WTFPL-2 -" - -SLOT="0" -KEYWORDS="amd64 ~x86" -IUSE="python" -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) -" - -RDEPEND=" - python? ( ${PYTHON_DEPS} ) -" -BDEPEND=" - python? ( - ${PYTHON_DEPS} - ${DISTUTILS_DEPS} - ) -" - -wrap_python() { - local phase=$1 - shift - - if use python; then - pushd py >/dev/null || die - distutils-r1_${phase} "$@" - popd >/dev/null || die - fi -} - -src_prepare() { - default - wrap_python ${FUNCNAME} -} - -src_compile() { - cargo_src_compile --workspace - wrap_python ${FUNCNAME} -} - -python_test() { - epytest -} - -src_test() { - cargo_src_test - wrap_python ${FUNCNAME} -} - -src_install() { - dobin "$(cargo_target_dir)"/yr - dolib.so "$(cargo_target_dir)"/*.so - - wrap_python ${FUNCNAME} -} diff --git a/app-forensics/yara-x/yara-x-0.6.0-r1.ebuild b/app-forensics/yara-x/yara-x-0.6.0-r1.ebuild new file mode 100644 index 000000000000..bca3d88152a2 --- /dev/null +++ b/app-forensics/yara-x/yara-x-0.6.0-r1.ebuild @@ -0,0 +1,595 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +CRATES=" + addr2line@0.21.0 + addr2line@0.22.0 + adler@1.0.2 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + alloc-no-stdlib@2.0.4 + alloc-stdlib@0.2.2 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + annotate-snippets@0.11.4 + 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.86 + arbitrary@1.3.2 + array-bytes@6.2.3 + arrayvec@0.7.4 + ascii_tree@0.1.1 + asn1-rs-derive@0.5.0 + asn1-rs-impl@0.2.0 + asn1-rs@0.6.1 + async-trait@0.1.81 + atty@0.2.14 + autocfg@1.3.0 + backtrace@0.3.73 + base16ct@0.2.0 + base64@0.13.1 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + beef@0.5.2 + bincode@1.3.3 + bitflags@1.3.2 + bitflags@2.6.0 + bitmask@0.5.0 + bitvec@1.0.1 + block-buffer@0.10.4 + block-buffer@0.9.0 + brotli-decompressor@2.5.1 + brotli@3.5.0 + bstr@1.10.0 + bumpalo@3.16.0 + bytecount@0.6.8 + bytemuck@1.16.1 + byteorder@1.5.0 + bytes@1.6.1 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + camino@1.1.7 + cargo-platform@0.1.8 + cargo_metadata@0.14.2 + castaway@0.2.3 + cbindgen@0.26.0 + cc@1.1.6 + cfg-if@1.0.0 + chardetng@0.1.17 + chrono@0.4.38 + cipher@0.4.4 + clap@3.2.25 + clap@4.5.11 + clap_builder@4.5.11 + clap_complete@4.5.11 + clap_derive@4.5.11 + clap_lex@0.2.4 + clap_lex@0.7.2 + cobs@0.2.3 + colorchoice@1.0.2 + colored_json@4.1.0 + compact_str@0.7.1 + console@0.15.8 + const-oid@0.9.6 + const-random-macro@0.1.16 + const-random@0.1.18 + constant_time_eq@0.3.0 + convert_case@0.6.0 + core-foundation-sys@0.8.6 + countme@3.0.1 + cpp_demangle@0.4.3 + cpufeatures@0.2.12 + cranelift-bforest@0.109.0 + cranelift-codegen-meta@0.109.0 + cranelift-codegen-shared@0.109.0 + cranelift-codegen@0.109.0 + cranelift-control@0.109.0 + cranelift-entity@0.109.0 + cranelift-frontend@0.109.0 + cranelift-isle@0.109.0 + cranelift-native@0.109.0 + cranelift-wasm@0.109.0 + crc-catalog@2.4.0 + crc32fast@1.4.2 + crc@3.2.1 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossbeam@0.8.4 + crossterm@0.23.2 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + csscolorparser@0.6.2 + darling@0.14.4 + darling_core@0.14.4 + darling_macro@0.14.4 + data-encoding@2.6.0 + debugid@0.8.0 + deflate64@0.1.9 + deltae@0.3.2 + der-parser@9.0.0 + der@0.7.9 + deranged@0.3.11 + derive_arbitrary@1.3.2 + diff@0.1.13 + digest@0.10.7 + digest@0.9.0 + directories-next@2.0.0 + dirs-sys-next@0.1.2 + dirs-sys@0.3.7 + dirs@4.0.0 + displaydoc@0.2.5 + dsa@0.6.3 + ecdsa@0.16.9 + either@1.13.0 + elliptic-curve@0.13.8 + embedded-io@0.4.0 + enable-ansi-support@0.2.1 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + enum_dispatch@0.3.13 + env_filter@0.1.2 + env_logger@0.11.5 + equivalent@1.0.1 + errno@0.3.9 + error-chain@0.12.4 + fallible-iterator@0.2.0 + fallible-iterator@0.3.0 + fastrand@2.1.0 + ff@0.13.0 + filedescriptor@0.8.2 + findshlibs@0.10.2 + finl_unicode@1.2.0 + fixedbitset@0.4.2 + flate2@1.0.30 + fmmap@0.3.3 + fnv@1.0.7 + fraction@0.14.0 + fs4@0.6.6 + funty@2.0.0 + fxhash@0.2.1 + fxprof-processed-profile@0.6.0 + generic-array@0.14.7 + getrandom@0.2.15 + gimli@0.26.2 + gimli@0.28.1 + gimli@0.29.0 + glob@0.3.1 + globset@0.4.14 + globwalk@0.9.1 + goldenfile@1.7.1 + group@0.13.0 + hashbrown@0.12.3 + hashbrown@0.13.2 + hashbrown@0.14.5 + heck@0.3.3 + heck@0.4.1 + heck@0.5.0 + hermit-abi@0.1.19 + hermit-abi@0.3.9 + hex@0.4.3 + hkdf@0.12.4 + hmac@0.12.1 + home@0.5.9 + humantime@2.1.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + id-arena@2.2.1 + ident_case@1.0.1 + ignore@0.4.22 + ihex@3.0.0 + include_dir@0.7.4 + include_dir_macros@0.7.4 + indexmap@1.9.3 + indexmap@2.2.6 + indoc@2.0.5 + inferno@0.11.20 + inout@0.1.3 + intaglio@1.9.1 + is-terminal@0.4.12 + is_terminal_polyfill@1.70.1 + itertools@0.10.5 + itertools@0.12.1 + itertools@0.13.0 + itoa@1.0.11 + ittapi-sys@0.4.0 + ittapi@0.4.0 + jobserver@0.1.32 + js-sys@0.3.69 + lab@0.11.0 + lazy_static@1.5.0 + leb128@0.2.5 + libc@0.2.155 + libm@0.2.8 + libredox@0.1.3 + lingua-english-language-model@1.1.0 + lingua-french-language-model@1.1.0 + lingua-german-language-model@1.1.0 + lingua-spanish-language-model@1.1.0 + lingua@1.6.2 + linkme-impl@0.3.27 + linkme@0.3.27 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + lockfree-object-pool@0.1.6 + log@0.4.22 + logos-codegen@0.14.0 + logos-derive@0.14.0 + logos@0.14.0 + lzma-rs@0.3.0 + mach2@0.4.2 + magic-sys@0.3.0 + magic@0.16.2 + maplit@1.0.2 + md-5@0.10.6 + md2@0.10.2 + memchr@2.7.4 + memfd@0.6.4 + memmap2@0.9.4 + memmapix@0.7.6 + memmem@0.1.1 + memoffset@0.6.5 + memoffset@0.9.1 + memx@0.1.32 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + mio@0.8.11 + nix@0.24.3 + nix@0.26.4 + nom@5.1.3 + nom@7.1.3 + num-bigint-dig@0.8.4 + num-bigint@0.4.6 + num-complex@0.4.6 + num-conv@0.1.0 + num-derive@0.3.3 + num-derive@0.4.2 + num-format@0.4.4 + num-integer@0.1.46 + num-iter@0.1.45 + num-rational@0.4.2 + num-traits@0.2.19 + num@0.4.3 + object@0.36.2 + oid-registry@0.7.0 + once_cell@1.19.0 + opaque-debug@0.3.1 + ordered-float@3.9.2 + ordered-float@4.2.1 + os_str_bytes@6.6.1 + p256@0.13.2 + p384@0.13.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + parse-display-derive@0.8.2 + parse-display@0.8.2 + paste@1.0.15 + pbkdf2@0.12.2 + pem-rfc7468@0.7.0 + pest@2.7.11 + pest_derive@2.7.11 + pest_generator@2.7.11 + pest_meta@2.7.11 + phf@0.10.1 + phf@0.11.2 + phf_codegen@0.11.2 + phf_generator@0.11.2 + phf_macros@0.11.2 + phf_shared@0.10.0 + phf_shared@0.11.2 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + portable-atomic@1.7.0 + postcard@1.0.8 + powerfmt@0.2.0 + pprof@0.13.0 + ppv-lite86@0.2.17 + pretty_assertions@1.4.0 + primeorder@0.13.6 + proc-macro2@1.0.86 + protobuf-codegen@3.5.0 + protobuf-json-mapping@3.5.0 + protobuf-parse@3.5.0 + protobuf-support@3.5.0 + protobuf@3.5.0 + psm@0.1.21 + pulldown-cmark@0.9.6 + pyo3-build-config@0.21.2 + pyo3-ffi@0.21.2 + pyo3-file@0.8.1 + pyo3-macros-backend@0.21.2 + pyo3-macros@0.21.2 + pyo3@0.21.2 + quick-xml@0.26.0 + quote@1.0.36 + radium@0.7.0 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.3 + redox_users@0.4.5 + regalloc2@0.9.3 + regex-automata@0.4.7 + regex-syntax@0.7.5 + regex-syntax@0.8.4 + regex@1.10.5 + rfc6979@0.4.0 + rgb@0.8.45 + ring@0.17.8 + rowan@0.15.15 + roxmltree@0.20.0 + rsa@0.9.6 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc-hash@2.0.0 + rusticata-macros@4.1.0 + rustix@0.38.34 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + scopeguard@1.2.0 + sec1@0.7.3 + semver-parser@0.10.2 + semver@0.11.0 + semver@1.0.23 + serde-wasm-bindgen@0.6.5 + serde@1.0.204 + serde_derive@1.0.204 + serde_json@1.0.120 + serde_spanned@0.6.7 + sha1@0.10.6 + sha2@0.10.8 + sha2@0.9.9 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.2 + signal-hook@0.1.17 + signal-hook@0.3.17 + signature@2.2.0 + simd-adler32@0.3.7 + similar-asserts@1.5.0 + similar@2.6.0 + siphasher@0.3.11 + skeptic@0.13.7 + slice-group-by@0.3.1 + smallvec@1.13.2 + spin@0.9.8 + spki@0.7.3 + sptr@0.3.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 + structmeta-derive@0.2.0 + structmeta@0.2.0 + strum@0.25.0 + strum_macros@0.25.3 + subtle@2.6.1 + superconsole@0.2.0 + symbolic-common@12.10.0 + symbolic-demangle@12.10.0 + syn@1.0.109 + syn@2.0.72 + synstructure@0.13.1 + tap@1.0.1 + target-lexicon@0.12.15 + tempfile@3.10.1 + termcolor@1.4.1 + terminfo@0.7.5 + termios@0.3.3 + termwiz@0.18.0 + text-size@1.1.1 + textwrap@0.16.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tlsh-fixed@0.1.1 + toml@0.5.11 + toml@0.8.16 + toml_datetime@0.6.7 + toml_edit@0.22.17 + typenum@1.17.0 + ucd-trie@0.1.6 + unicase@2.7.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.13 + unicode-xid@0.2.4 + unindent@0.2.3 + untrusted@0.9.0 + utf8parse@0.2.2 + uuid@1.10.0 + vcpkg@0.2.15 + version_check@0.9.5 + vtparse@0.6.2 + walkdir@2.5.0 + walrus-macro@0.19.0 + walrus@0.21.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + wasm-encoder@0.209.1 + wasm-encoder@0.212.0 + wasm-encoder@0.214.0 + wasmparser@0.209.1 + wasmparser@0.212.0 + wasmprinter@0.209.1 + wasmtime-asm-macros@22.0.0 + wasmtime-cache@22.0.0 + wasmtime-component-macro@22.0.0 + wasmtime-component-util@22.0.0 + wasmtime-cranelift@22.0.0 + wasmtime-environ@22.0.0 + wasmtime-fiber@22.0.0 + wasmtime-jit-debug@22.0.0 + wasmtime-jit-icache-coherence@22.0.0 + wasmtime-slab@22.0.0 + wasmtime-types@22.0.0 + wasmtime-versioned-export-macros@22.0.0 + wasmtime-winch@22.0.0 + wasmtime-wit-bindgen@22.0.0 + wasmtime@22.0.0 + wast@214.0.0 + wat@1.214.0 + wezterm-bidi@0.2.3 + wezterm-color-types@0.2.0 + wezterm-dynamic-derive@0.1.0 + wezterm-dynamic@0.1.0 + wezterm-dynamic@0.2.0 + which@4.4.2 + wild@2.2.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + winch-codegen@0.20.0 + windows-core@0.52.0 + windows-sys@0.42.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.6.16 + wit-parser@0.209.1 + wyz@0.5.1 + x509-parser@0.16.0 + yansi@0.5.1 + yansi@1.0.1 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zeroize@1.8.1 + zeroize_derive@1.4.2 + zip@2.1.5 + zopfli@0.8.1 + zstd-safe@7.2.0 + zstd-sys@2.0.12+zstd.1.5.6 + zstd@0.13.2 +" + +inherit cargo distutils-r1 + +DESCRIPTION="A malware identification and classification tool" +HOMEPAGE="https://virustotal.github.io/yara-x/" +SRC_URI=" + https://github.com/VirusTotal/yara-x/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="BSD" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 CC0-1.0 + CDDL EPL-2.0 ISC MIT MPL-2.0 Unicode-DFS-2016 WTFPL-2 +" + +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="python" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) +" + +RDEPEND=" + python? ( ${PYTHON_DEPS} ) +" +BDEPEND=" + python? ( + ${PYTHON_DEPS} + ${DISTUTILS_DEPS} + ) +" + +wrap_python() { + local phase=$1 + shift + + if use python; then + pushd py >/dev/null || die + distutils-r1_${phase} "$@" + popd >/dev/null || die + fi +} + +# https://bugs.gentoo.org/933231, https://bugs.gentoo.org/933232 +QA_FLAGS_IGNORED="usr/bin/yr" + +pkg_setup() { + # https://bugs.gentoo.org/933233 + QA_SONAME="usr/$(get_libdir)/libyara_x.*\\.so usr/lib.*/py.*/site-packages/yara_x/yara_x.*\\.so" +} + +src_prepare() { + default + wrap_python ${FUNCNAME} +} + +src_compile() { + cargo_src_compile --workspace + wrap_python ${FUNCNAME} +} + +python_test() { + epytest +} + +src_test() { + cargo_src_test + wrap_python ${FUNCNAME} +} + +src_install() { + dobin "$(cargo_target_dir)"/yr + dolib.so "$(cargo_target_dir)"/*.so + + wrap_python ${FUNCNAME} +} diff --git a/app-forensics/yara-x/yara-x-0.6.0.ebuild b/app-forensics/yara-x/yara-x-0.6.0.ebuild deleted file mode 100644 index bca3d88152a2..000000000000 --- a/app-forensics/yara-x/yara-x-0.6.0.ebuild +++ /dev/null @@ -1,595 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -CRATES=" - addr2line@0.21.0 - addr2line@0.22.0 - adler@1.0.2 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - alloc-no-stdlib@2.0.4 - alloc-stdlib@0.2.2 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - annotate-snippets@0.11.4 - 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.86 - arbitrary@1.3.2 - array-bytes@6.2.3 - arrayvec@0.7.4 - ascii_tree@0.1.1 - asn1-rs-derive@0.5.0 - asn1-rs-impl@0.2.0 - asn1-rs@0.6.1 - async-trait@0.1.81 - atty@0.2.14 - autocfg@1.3.0 - backtrace@0.3.73 - base16ct@0.2.0 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - beef@0.5.2 - bincode@1.3.3 - bitflags@1.3.2 - bitflags@2.6.0 - bitmask@0.5.0 - bitvec@1.0.1 - block-buffer@0.10.4 - block-buffer@0.9.0 - brotli-decompressor@2.5.1 - brotli@3.5.0 - bstr@1.10.0 - bumpalo@3.16.0 - bytecount@0.6.8 - bytemuck@1.16.1 - byteorder@1.5.0 - bytes@1.6.1 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - camino@1.1.7 - cargo-platform@0.1.8 - cargo_metadata@0.14.2 - castaway@0.2.3 - cbindgen@0.26.0 - cc@1.1.6 - cfg-if@1.0.0 - chardetng@0.1.17 - chrono@0.4.38 - cipher@0.4.4 - clap@3.2.25 - clap@4.5.11 - clap_builder@4.5.11 - clap_complete@4.5.11 - clap_derive@4.5.11 - clap_lex@0.2.4 - clap_lex@0.7.2 - cobs@0.2.3 - colorchoice@1.0.2 - colored_json@4.1.0 - compact_str@0.7.1 - console@0.15.8 - const-oid@0.9.6 - const-random-macro@0.1.16 - const-random@0.1.18 - constant_time_eq@0.3.0 - convert_case@0.6.0 - core-foundation-sys@0.8.6 - countme@3.0.1 - cpp_demangle@0.4.3 - cpufeatures@0.2.12 - cranelift-bforest@0.109.0 - cranelift-codegen-meta@0.109.0 - cranelift-codegen-shared@0.109.0 - cranelift-codegen@0.109.0 - cranelift-control@0.109.0 - cranelift-entity@0.109.0 - cranelift-frontend@0.109.0 - cranelift-isle@0.109.0 - cranelift-native@0.109.0 - cranelift-wasm@0.109.0 - crc-catalog@2.4.0 - crc32fast@1.4.2 - crc@3.2.1 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crossbeam@0.8.4 - crossterm@0.23.2 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - crunchy@0.2.2 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - csscolorparser@0.6.2 - darling@0.14.4 - darling_core@0.14.4 - darling_macro@0.14.4 - data-encoding@2.6.0 - debugid@0.8.0 - deflate64@0.1.9 - deltae@0.3.2 - der-parser@9.0.0 - der@0.7.9 - deranged@0.3.11 - derive_arbitrary@1.3.2 - diff@0.1.13 - digest@0.10.7 - digest@0.9.0 - directories-next@2.0.0 - dirs-sys-next@0.1.2 - dirs-sys@0.3.7 - dirs@4.0.0 - displaydoc@0.2.5 - dsa@0.6.3 - ecdsa@0.16.9 - either@1.13.0 - elliptic-curve@0.13.8 - embedded-io@0.4.0 - enable-ansi-support@0.2.1 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - enum_dispatch@0.3.13 - env_filter@0.1.2 - env_logger@0.11.5 - equivalent@1.0.1 - errno@0.3.9 - error-chain@0.12.4 - fallible-iterator@0.2.0 - fallible-iterator@0.3.0 - fastrand@2.1.0 - ff@0.13.0 - filedescriptor@0.8.2 - findshlibs@0.10.2 - finl_unicode@1.2.0 - fixedbitset@0.4.2 - flate2@1.0.30 - fmmap@0.3.3 - fnv@1.0.7 - fraction@0.14.0 - fs4@0.6.6 - funty@2.0.0 - fxhash@0.2.1 - fxprof-processed-profile@0.6.0 - generic-array@0.14.7 - getrandom@0.2.15 - gimli@0.26.2 - gimli@0.28.1 - gimli@0.29.0 - glob@0.3.1 - globset@0.4.14 - globwalk@0.9.1 - goldenfile@1.7.1 - group@0.13.0 - hashbrown@0.12.3 - hashbrown@0.13.2 - hashbrown@0.14.5 - heck@0.3.3 - heck@0.4.1 - heck@0.5.0 - hermit-abi@0.1.19 - hermit-abi@0.3.9 - hex@0.4.3 - hkdf@0.12.4 - hmac@0.12.1 - home@0.5.9 - humantime@2.1.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - id-arena@2.2.1 - ident_case@1.0.1 - ignore@0.4.22 - ihex@3.0.0 - include_dir@0.7.4 - include_dir_macros@0.7.4 - indexmap@1.9.3 - indexmap@2.2.6 - indoc@2.0.5 - inferno@0.11.20 - inout@0.1.3 - intaglio@1.9.1 - is-terminal@0.4.12 - is_terminal_polyfill@1.70.1 - itertools@0.10.5 - itertools@0.12.1 - itertools@0.13.0 - itoa@1.0.11 - ittapi-sys@0.4.0 - ittapi@0.4.0 - jobserver@0.1.32 - js-sys@0.3.69 - lab@0.11.0 - lazy_static@1.5.0 - leb128@0.2.5 - libc@0.2.155 - libm@0.2.8 - libredox@0.1.3 - lingua-english-language-model@1.1.0 - lingua-french-language-model@1.1.0 - lingua-german-language-model@1.1.0 - lingua-spanish-language-model@1.1.0 - lingua@1.6.2 - linkme-impl@0.3.27 - linkme@0.3.27 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - lockfree-object-pool@0.1.6 - log@0.4.22 - logos-codegen@0.14.0 - logos-derive@0.14.0 - logos@0.14.0 - lzma-rs@0.3.0 - mach2@0.4.2 - magic-sys@0.3.0 - magic@0.16.2 - maplit@1.0.2 - md-5@0.10.6 - md2@0.10.2 - memchr@2.7.4 - memfd@0.6.4 - memmap2@0.9.4 - memmapix@0.7.6 - memmem@0.1.1 - memoffset@0.6.5 - memoffset@0.9.1 - memx@0.1.32 - minimal-lexical@0.2.1 - miniz_oxide@0.7.4 - mio@0.8.11 - nix@0.24.3 - nix@0.26.4 - nom@5.1.3 - nom@7.1.3 - num-bigint-dig@0.8.4 - num-bigint@0.4.6 - num-complex@0.4.6 - num-conv@0.1.0 - num-derive@0.3.3 - num-derive@0.4.2 - num-format@0.4.4 - num-integer@0.1.46 - num-iter@0.1.45 - num-rational@0.4.2 - num-traits@0.2.19 - num@0.4.3 - object@0.36.2 - oid-registry@0.7.0 - once_cell@1.19.0 - opaque-debug@0.3.1 - ordered-float@3.9.2 - ordered-float@4.2.1 - os_str_bytes@6.6.1 - p256@0.13.2 - p384@0.13.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - parse-display-derive@0.8.2 - parse-display@0.8.2 - paste@1.0.15 - pbkdf2@0.12.2 - pem-rfc7468@0.7.0 - pest@2.7.11 - pest_derive@2.7.11 - pest_generator@2.7.11 - pest_meta@2.7.11 - phf@0.10.1 - phf@0.11.2 - phf_codegen@0.11.2 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.10.0 - phf_shared@0.11.2 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - portable-atomic@1.7.0 - postcard@1.0.8 - powerfmt@0.2.0 - pprof@0.13.0 - ppv-lite86@0.2.17 - pretty_assertions@1.4.0 - primeorder@0.13.6 - proc-macro2@1.0.86 - protobuf-codegen@3.5.0 - protobuf-json-mapping@3.5.0 - protobuf-parse@3.5.0 - protobuf-support@3.5.0 - protobuf@3.5.0 - psm@0.1.21 - pulldown-cmark@0.9.6 - pyo3-build-config@0.21.2 - pyo3-ffi@0.21.2 - pyo3-file@0.8.1 - pyo3-macros-backend@0.21.2 - pyo3-macros@0.21.2 - pyo3@0.21.2 - quick-xml@0.26.0 - quote@1.0.36 - radium@0.7.0 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.5.3 - redox_users@0.4.5 - regalloc2@0.9.3 - regex-automata@0.4.7 - regex-syntax@0.7.5 - regex-syntax@0.8.4 - regex@1.10.5 - rfc6979@0.4.0 - rgb@0.8.45 - ring@0.17.8 - rowan@0.15.15 - roxmltree@0.20.0 - rsa@0.9.6 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustc-hash@2.0.0 - rusticata-macros@4.1.0 - rustix@0.38.34 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - scopeguard@1.2.0 - sec1@0.7.3 - semver-parser@0.10.2 - semver@0.11.0 - semver@1.0.23 - serde-wasm-bindgen@0.6.5 - serde@1.0.204 - serde_derive@1.0.204 - serde_json@1.0.120 - serde_spanned@0.6.7 - sha1@0.10.6 - sha2@0.10.8 - sha2@0.9.9 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.2 - signal-hook@0.1.17 - signal-hook@0.3.17 - signature@2.2.0 - simd-adler32@0.3.7 - similar-asserts@1.5.0 - similar@2.6.0 - siphasher@0.3.11 - skeptic@0.13.7 - slice-group-by@0.3.1 - smallvec@1.13.2 - spin@0.9.8 - spki@0.7.3 - sptr@0.3.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 - structmeta-derive@0.2.0 - structmeta@0.2.0 - strum@0.25.0 - strum_macros@0.25.3 - subtle@2.6.1 - superconsole@0.2.0 - symbolic-common@12.10.0 - symbolic-demangle@12.10.0 - syn@1.0.109 - syn@2.0.72 - synstructure@0.13.1 - tap@1.0.1 - target-lexicon@0.12.15 - tempfile@3.10.1 - termcolor@1.4.1 - terminfo@0.7.5 - termios@0.3.3 - termwiz@0.18.0 - text-size@1.1.1 - textwrap@0.16.1 - thiserror-impl@1.0.63 - thiserror@1.0.63 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tlsh-fixed@0.1.1 - toml@0.5.11 - toml@0.8.16 - toml_datetime@0.6.7 - toml_edit@0.22.17 - typenum@1.17.0 - ucd-trie@0.1.6 - unicase@2.7.0 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-width@0.1.13 - unicode-xid@0.2.4 - unindent@0.2.3 - untrusted@0.9.0 - utf8parse@0.2.2 - uuid@1.10.0 - vcpkg@0.2.15 - version_check@0.9.5 - vtparse@0.6.2 - walkdir@2.5.0 - walrus-macro@0.19.0 - walrus@0.21.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - wasm-encoder@0.209.1 - wasm-encoder@0.212.0 - wasm-encoder@0.214.0 - wasmparser@0.209.1 - wasmparser@0.212.0 - wasmprinter@0.209.1 - wasmtime-asm-macros@22.0.0 - wasmtime-cache@22.0.0 - wasmtime-component-macro@22.0.0 - wasmtime-component-util@22.0.0 - wasmtime-cranelift@22.0.0 - wasmtime-environ@22.0.0 - wasmtime-fiber@22.0.0 - wasmtime-jit-debug@22.0.0 - wasmtime-jit-icache-coherence@22.0.0 - wasmtime-slab@22.0.0 - wasmtime-types@22.0.0 - wasmtime-versioned-export-macros@22.0.0 - wasmtime-winch@22.0.0 - wasmtime-wit-bindgen@22.0.0 - wasmtime@22.0.0 - wast@214.0.0 - wat@1.214.0 - wezterm-bidi@0.2.3 - wezterm-color-types@0.2.0 - wezterm-dynamic-derive@0.1.0 - wezterm-dynamic@0.1.0 - wezterm-dynamic@0.2.0 - which@4.4.2 - wild@2.2.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - winch-codegen@0.20.0 - windows-core@0.52.0 - windows-sys@0.42.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.6 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.6 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.6 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.6 - windows_i686_gnullvm@0.52.6 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.6 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.6 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.6 - winnow@0.6.16 - wit-parser@0.209.1 - wyz@0.5.1 - x509-parser@0.16.0 - yansi@0.5.1 - yansi@1.0.1 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zeroize@1.8.1 - zeroize_derive@1.4.2 - zip@2.1.5 - zopfli@0.8.1 - zstd-safe@7.2.0 - zstd-sys@2.0.12+zstd.1.5.6 - zstd@0.13.2 -" - -inherit cargo distutils-r1 - -DESCRIPTION="A malware identification and classification tool" -HOMEPAGE="https://virustotal.github.io/yara-x/" -SRC_URI=" - https://github.com/VirusTotal/yara-x/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="BSD" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 CC0-1.0 - CDDL EPL-2.0 ISC MIT MPL-2.0 Unicode-DFS-2016 WTFPL-2 -" - -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="python" -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) -" - -RDEPEND=" - python? ( ${PYTHON_DEPS} ) -" -BDEPEND=" - python? ( - ${PYTHON_DEPS} - ${DISTUTILS_DEPS} - ) -" - -wrap_python() { - local phase=$1 - shift - - if use python; then - pushd py >/dev/null || die - distutils-r1_${phase} "$@" - popd >/dev/null || die - fi -} - -# https://bugs.gentoo.org/933231, https://bugs.gentoo.org/933232 -QA_FLAGS_IGNORED="usr/bin/yr" - -pkg_setup() { - # https://bugs.gentoo.org/933233 - QA_SONAME="usr/$(get_libdir)/libyara_x.*\\.so usr/lib.*/py.*/site-packages/yara_x/yara_x.*\\.so" -} - -src_prepare() { - default - wrap_python ${FUNCNAME} -} - -src_compile() { - cargo_src_compile --workspace - wrap_python ${FUNCNAME} -} - -python_test() { - epytest -} - -src_test() { - cargo_src_test - wrap_python ${FUNCNAME} -} - -src_install() { - dobin "$(cargo_target_dir)"/yr - dolib.so "$(cargo_target_dir)"/*.so - - wrap_python ${FUNCNAME} -} diff --git a/app-forensics/yara-x/yara-x-0.7.0-r1.ebuild b/app-forensics/yara-x/yara-x-0.7.0-r1.ebuild new file mode 100644 index 000000000000..1f95cf49b85c --- /dev/null +++ b/app-forensics/yara-x/yara-x-0.7.0-r1.ebuild @@ -0,0 +1,588 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +DISTUTILS_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +CRATES=" + addr2line@0.21.0 + addr2line@0.22.0 + adler@1.0.2 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + alloc-no-stdlib@2.0.4 + alloc-stdlib@0.2.2 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + annotate-snippets@0.11.4 + 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.86 + arbitrary@1.3.2 + array-bytes@6.2.3 + arrayvec@0.7.4 + ascii_tree@0.1.1 + asn1-rs-derive@0.5.1 + asn1-rs-impl@0.2.0 + asn1-rs@0.6.2 + async-trait@0.1.81 + autocfg@1.3.0 + backtrace@0.3.73 + base16ct@0.2.0 + base64@0.13.1 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + beef@0.5.2 + bincode@1.3.3 + bitflags@1.3.2 + bitflags@2.6.0 + bitmask@0.5.0 + bitvec@1.0.1 + block-buffer@0.10.4 + block-buffer@0.9.0 + brotli-decompressor@2.5.1 + brotli@3.5.0 + bstr@1.10.0 + bumpalo@3.16.0 + bytecount@0.6.8 + bytemuck@1.17.0 + byteorder@1.5.0 + bytes@1.7.1 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + camino@1.1.8 + cargo-platform@0.1.8 + cargo_metadata@0.14.2 + castaway@0.2.3 + cbindgen@0.27.0 + cc@1.1.13 + cfg-if@1.0.0 + chardetng@0.1.17 + chrono@0.4.38 + cipher@0.4.4 + clap@4.5.16 + clap_builder@4.5.15 + clap_complete@4.5.16 + clap_derive@4.5.13 + clap_lex@0.7.2 + cobs@0.2.3 + colorchoice@1.0.2 + colored_json@4.1.0 + compact_str@0.7.1 + console@0.15.8 + const-oid@0.9.6 + const-random-macro@0.1.16 + const-random@0.1.18 + constant_time_eq@0.3.0 + core-foundation-sys@0.8.7 + countme@3.0.1 + cpp_demangle@0.4.3 + cpufeatures@0.2.13 + cranelift-bforest@0.109.0 + cranelift-codegen-meta@0.109.0 + cranelift-codegen-shared@0.109.0 + cranelift-codegen@0.109.0 + cranelift-control@0.109.0 + cranelift-entity@0.109.0 + cranelift-frontend@0.109.0 + cranelift-isle@0.109.0 + cranelift-native@0.109.0 + cranelift-wasm@0.109.0 + crc-catalog@2.4.0 + crc32fast@1.4.2 + crc@3.2.1 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossbeam@0.8.4 + crossterm@0.23.2 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + csscolorparser@0.6.2 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + data-encoding@2.6.0 + debugid@0.8.0 + deflate64@0.1.9 + deltae@0.3.2 + der-parser@9.0.0 + der@0.7.9 + deranged@0.3.11 + derive_arbitrary@1.3.2 + diff@0.1.13 + digest@0.10.7 + digest@0.9.0 + directories-next@2.0.0 + dirs-sys-next@0.1.2 + dirs-sys@0.3.7 + dirs@4.0.0 + displaydoc@0.2.5 + dsa@0.6.3 + ecdsa@0.16.9 + either@1.13.0 + elliptic-curve@0.13.8 + embedded-io@0.4.0 + enable-ansi-support@0.2.1 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + enum_dispatch@0.3.13 + env_filter@0.1.2 + env_logger@0.11.5 + equivalent@1.0.1 + errno@0.3.9 + error-chain@0.12.4 + fallible-iterator@0.2.0 + fallible-iterator@0.3.0 + fastrand@2.1.0 + ff@0.13.0 + filedescriptor@0.8.2 + findshlibs@0.10.2 + finl_unicode@1.2.0 + fixedbitset@0.4.2 + flate2@1.0.31 + fmmap@0.3.3 + fnv@1.0.7 + fraction@0.14.0 + fs4@0.6.6 + funty@2.0.0 + fxhash@0.2.1 + fxprof-processed-profile@0.6.0 + generic-array@0.14.7 + getrandom@0.2.15 + gimli@0.26.2 + gimli@0.28.1 + gimli@0.29.0 + glob@0.3.1 + globset@0.4.14 + globwalk@0.9.1 + goldenfile@1.7.1 + group@0.13.0 + hashbrown@0.12.3 + hashbrown@0.13.2 + hashbrown@0.14.5 + heck@0.3.3 + heck@0.4.1 + heck@0.5.0 + hermit-abi@0.4.0 + hex@0.4.3 + hkdf@0.12.4 + hmac@0.12.1 + home@0.5.9 + humantime@2.1.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + id-arena@2.2.1 + ident_case@1.0.1 + ignore@0.4.22 + ihex@3.0.0 + include_dir@0.7.4 + include_dir_macros@0.7.4 + indexmap@1.9.3 + indexmap@2.4.0 + indoc@2.0.5 + inferno@0.11.21 + inout@0.1.3 + intaglio@1.9.1 + is-terminal@0.4.13 + is_terminal_polyfill@1.70.1 + itertools@0.10.5 + itertools@0.12.1 + itertools@0.13.0 + itoa@1.0.11 + ittapi-sys@0.4.0 + ittapi@0.4.0 + jobserver@0.1.32 + js-sys@0.3.70 + lab@0.11.0 + lazy_static@1.5.0 + leb128@0.2.5 + libc@0.2.156 + libm@0.2.8 + libredox@0.1.3 + lingua-english-language-model@1.1.0 + lingua-french-language-model@1.1.0 + lingua-german-language-model@1.1.0 + lingua-spanish-language-model@1.1.0 + lingua@1.6.2 + linkme-impl@0.3.28 + linkme@0.3.28 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + lockfree-object-pool@0.1.6 + log@0.4.22 + logos-codegen@0.14.1 + logos-derive@0.14.1 + logos@0.14.1 + lzma-rs@0.3.0 + mach2@0.4.2 + magic-sys@0.3.0 + magic@0.16.2 + maplit@1.0.2 + md-5@0.10.6 + md2@0.10.2 + memchr@2.7.4 + memfd@0.6.4 + memmap2@0.9.4 + memmapix@0.7.6 + memmem@0.1.1 + memoffset@0.6.5 + memoffset@0.9.1 + memx@0.1.32 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + mio@0.8.11 + nix@0.24.3 + nix@0.26.4 + nom@5.1.3 + nom@7.1.3 + num-bigint-dig@0.8.4 + num-bigint@0.4.6 + num-complex@0.4.6 + num-conv@0.1.0 + num-derive@0.3.3 + num-derive@0.4.2 + num-format@0.4.4 + num-integer@0.1.46 + num-iter@0.1.45 + num-rational@0.4.2 + num-traits@0.2.19 + num@0.4.3 + object@0.36.3 + oid-registry@0.7.0 + once_cell@1.19.0 + opaque-debug@0.3.1 + ordered-float@3.9.2 + ordered-float@4.2.2 + p256@0.13.2 + p384@0.13.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + parse-display-derive@0.8.2 + parse-display@0.8.2 + paste@1.0.15 + pbkdf2@0.12.2 + pem-rfc7468@0.7.0 + pest@2.7.11 + pest_derive@2.7.11 + pest_generator@2.7.11 + pest_meta@2.7.11 + phf@0.10.1 + phf@0.11.2 + phf_codegen@0.11.2 + phf_generator@0.11.2 + phf_macros@0.11.2 + phf_shared@0.10.0 + phf_shared@0.11.2 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + portable-atomic@1.7.0 + postcard@1.0.8 + powerfmt@0.2.0 + pprof@0.13.0 + ppv-lite86@0.2.20 + pretty_assertions@1.4.0 + primeorder@0.13.6 + proc-macro2@1.0.86 + protobuf-codegen@3.5.0 + protobuf-json-mapping@3.5.0 + protobuf-parse@3.5.0 + protobuf-support@3.5.0 + protobuf@3.5.0 + psm@0.1.21 + pulldown-cmark@0.9.6 + pyo3-build-config@0.21.2 + pyo3-ffi@0.21.2 + pyo3-file@0.8.1 + pyo3-macros-backend@0.21.2 + pyo3-macros@0.21.2 + pyo3@0.21.2 + quick-xml@0.26.0 + quote@1.0.36 + radium@0.7.0 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.3 + redox_users@0.4.5 + regalloc2@0.9.3 + regex-automata@0.4.7 + regex-syntax@0.7.5 + regex-syntax@0.8.4 + regex@1.10.6 + rfc6979@0.4.0 + rgb@0.8.48 + ring@0.17.8 + rowan@0.15.15 + roxmltree@0.20.0 + rsa@0.9.6 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc-hash@2.0.0 + rusticata-macros@4.1.0 + rustix@0.38.34 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + scopeguard@1.2.0 + sec1@0.7.3 + semver-parser@0.10.2 + semver@0.11.0 + semver@1.0.23 + serde-wasm-bindgen@0.6.5 + serde@1.0.208 + serde_derive@1.0.208 + serde_json@1.0.125 + serde_spanned@0.6.7 + sha1@0.10.6 + sha2@0.10.8 + sha2@0.9.9 + shlex@1.3.0 + signal-hook-mio@0.2.4 + signal-hook-registry@1.4.2 + signal-hook@0.1.17 + signal-hook@0.3.17 + signature@2.2.0 + simd-adler32@0.3.7 + similar-asserts@1.5.0 + similar@2.6.0 + siphasher@0.3.11 + skeptic@0.13.7 + slice-group-by@0.3.1 + smallvec@1.13.2 + spin@0.9.8 + spki@0.7.3 + sptr@0.3.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 + structmeta-derive@0.2.0 + structmeta@0.2.0 + strum@0.25.0 + strum_macros@0.25.3 + subtle@2.6.1 + superconsole@0.2.0 + symbolic-common@12.10.0 + symbolic-demangle@12.10.0 + syn@1.0.109 + syn@2.0.74 + synstructure@0.13.1 + tap@1.0.1 + target-lexicon@0.12.16 + tempfile@3.12.0 + terminfo@0.7.5 + termios@0.3.3 + termwiz@0.18.0 + text-size@1.1.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tlsh-fixed@0.1.1 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.22.20 + typenum@1.17.0 + ucd-trie@0.1.6 + unicase@2.7.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.13 + unicode-xid@0.2.4 + unindent@0.2.3 + untrusted@0.9.0 + utf8parse@0.2.2 + uuid@1.10.0 + vcpkg@0.2.15 + version_check@0.9.5 + vtparse@0.6.2 + walkdir@2.5.0 + walrus-macro@0.19.0 + walrus@0.21.1 + 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 + wasm-encoder@0.209.1 + wasm-encoder@0.212.0 + wasm-encoder@0.215.0 + wasmparser@0.209.1 + wasmparser@0.212.0 + wasmprinter@0.209.1 + wasmtime-asm-macros@22.0.0 + wasmtime-cache@22.0.0 + wasmtime-component-macro@22.0.0 + wasmtime-component-util@22.0.0 + wasmtime-cranelift@22.0.0 + wasmtime-environ@22.0.0 + wasmtime-fiber@22.0.0 + wasmtime-jit-debug@22.0.0 + wasmtime-jit-icache-coherence@22.0.0 + wasmtime-slab@22.0.0 + wasmtime-types@22.0.0 + wasmtime-versioned-export-macros@22.0.0 + wasmtime-winch@22.0.0 + wasmtime-wit-bindgen@22.0.0 + wasmtime@22.0.0 + wast@215.0.0 + wat@1.215.0 + wezterm-bidi@0.2.3 + wezterm-color-types@0.2.0 + wezterm-dynamic-derive@0.1.0 + wezterm-dynamic@0.1.0 + wezterm-dynamic@0.2.0 + which@4.4.2 + wild@2.2.1 + 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 + winch-codegen@0.20.0 + windows-core@0.52.0 + windows-sys@0.42.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.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.6.18 + wit-parser@0.209.1 + wyz@0.5.1 + x509-parser@0.16.0 + yansi@0.5.1 + yansi@1.0.1 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zeroize@1.8.1 + zeroize_derive@1.4.2 + zip@2.1.6 + zopfli@0.8.1 + zstd-safe@7.2.1 + zstd-sys@2.0.13+zstd.1.5.6 + zstd@0.13.2 +" + +inherit cargo distutils-r1 + +DESCRIPTION="A malware identification and classification tool" +HOMEPAGE="https://virustotal.github.io/yara-x/" +SRC_URI=" + https://github.com/VirusTotal/yara-x/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="BSD" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 CC0-1.0 + CDDL EPL-2.0 ISC MIT MPL-2.0 Unicode-DFS-2016 WTFPL-2 +" + +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="python" +REQUIRED_USE=" + python? ( ${PYTHON_REQUIRED_USE} ) +" + +RDEPEND=" + python? ( ${PYTHON_DEPS} ) +" +BDEPEND=" + python? ( + ${PYTHON_DEPS} + ${DISTUTILS_DEPS} + ) +" + +wrap_python() { + local phase=$1 + shift + + if use python; then + pushd py >/dev/null || die + distutils-r1_${phase} "$@" + popd >/dev/null || die + fi +} + +# https://bugs.gentoo.org/933231, https://bugs.gentoo.org/933232 +QA_FLAGS_IGNORED="usr/bin/yr" + +pkg_setup() { + # https://bugs.gentoo.org/933233 + QA_SONAME="usr/$(get_libdir)/libyara_x.*\\.so usr/lib.*/py.*/site-packages/yara_x/yara_x.*\\.so" +} + +src_prepare() { + default + wrap_python ${FUNCNAME} +} + +src_compile() { + cargo_src_compile --workspace + wrap_python ${FUNCNAME} +} + +python_test() { + epytest +} + +src_test() { + cargo_src_test + wrap_python ${FUNCNAME} +} + +src_install() { + dobin "$(cargo_target_dir)"/yr + dolib.so "$(cargo_target_dir)"/*.so + + wrap_python ${FUNCNAME} +} diff --git a/app-forensics/yara-x/yara-x-0.7.0.ebuild b/app-forensics/yara-x/yara-x-0.7.0.ebuild deleted file mode 100644 index 1f95cf49b85c..000000000000 --- a/app-forensics/yara-x/yara-x-0.7.0.ebuild +++ /dev/null @@ -1,588 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -DISTUTILS_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -CRATES=" - addr2line@0.21.0 - addr2line@0.22.0 - adler@1.0.2 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - alloc-no-stdlib@2.0.4 - alloc-stdlib@0.2.2 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - annotate-snippets@0.11.4 - 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.86 - arbitrary@1.3.2 - array-bytes@6.2.3 - arrayvec@0.7.4 - ascii_tree@0.1.1 - asn1-rs-derive@0.5.1 - asn1-rs-impl@0.2.0 - asn1-rs@0.6.2 - async-trait@0.1.81 - autocfg@1.3.0 - backtrace@0.3.73 - base16ct@0.2.0 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - beef@0.5.2 - bincode@1.3.3 - bitflags@1.3.2 - bitflags@2.6.0 - bitmask@0.5.0 - bitvec@1.0.1 - block-buffer@0.10.4 - block-buffer@0.9.0 - brotli-decompressor@2.5.1 - brotli@3.5.0 - bstr@1.10.0 - bumpalo@3.16.0 - bytecount@0.6.8 - bytemuck@1.17.0 - byteorder@1.5.0 - bytes@1.7.1 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - camino@1.1.8 - cargo-platform@0.1.8 - cargo_metadata@0.14.2 - castaway@0.2.3 - cbindgen@0.27.0 - cc@1.1.13 - cfg-if@1.0.0 - chardetng@0.1.17 - chrono@0.4.38 - cipher@0.4.4 - clap@4.5.16 - clap_builder@4.5.15 - clap_complete@4.5.16 - clap_derive@4.5.13 - clap_lex@0.7.2 - cobs@0.2.3 - colorchoice@1.0.2 - colored_json@4.1.0 - compact_str@0.7.1 - console@0.15.8 - const-oid@0.9.6 - const-random-macro@0.1.16 - const-random@0.1.18 - constant_time_eq@0.3.0 - core-foundation-sys@0.8.7 - countme@3.0.1 - cpp_demangle@0.4.3 - cpufeatures@0.2.13 - cranelift-bforest@0.109.0 - cranelift-codegen-meta@0.109.0 - cranelift-codegen-shared@0.109.0 - cranelift-codegen@0.109.0 - cranelift-control@0.109.0 - cranelift-entity@0.109.0 - cranelift-frontend@0.109.0 - cranelift-isle@0.109.0 - cranelift-native@0.109.0 - cranelift-wasm@0.109.0 - crc-catalog@2.4.0 - crc32fast@1.4.2 - crc@3.2.1 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crossbeam@0.8.4 - crossterm@0.23.2 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - crunchy@0.2.2 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - csscolorparser@0.6.2 - darling@0.20.10 - darling_core@0.20.10 - darling_macro@0.20.10 - data-encoding@2.6.0 - debugid@0.8.0 - deflate64@0.1.9 - deltae@0.3.2 - der-parser@9.0.0 - der@0.7.9 - deranged@0.3.11 - derive_arbitrary@1.3.2 - diff@0.1.13 - digest@0.10.7 - digest@0.9.0 - directories-next@2.0.0 - dirs-sys-next@0.1.2 - dirs-sys@0.3.7 - dirs@4.0.0 - displaydoc@0.2.5 - dsa@0.6.3 - ecdsa@0.16.9 - either@1.13.0 - elliptic-curve@0.13.8 - embedded-io@0.4.0 - enable-ansi-support@0.2.1 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - enum_dispatch@0.3.13 - env_filter@0.1.2 - env_logger@0.11.5 - equivalent@1.0.1 - errno@0.3.9 - error-chain@0.12.4 - fallible-iterator@0.2.0 - fallible-iterator@0.3.0 - fastrand@2.1.0 - ff@0.13.0 - filedescriptor@0.8.2 - findshlibs@0.10.2 - finl_unicode@1.2.0 - fixedbitset@0.4.2 - flate2@1.0.31 - fmmap@0.3.3 - fnv@1.0.7 - fraction@0.14.0 - fs4@0.6.6 - funty@2.0.0 - fxhash@0.2.1 - fxprof-processed-profile@0.6.0 - generic-array@0.14.7 - getrandom@0.2.15 - gimli@0.26.2 - gimli@0.28.1 - gimli@0.29.0 - glob@0.3.1 - globset@0.4.14 - globwalk@0.9.1 - goldenfile@1.7.1 - group@0.13.0 - hashbrown@0.12.3 - hashbrown@0.13.2 - hashbrown@0.14.5 - heck@0.3.3 - heck@0.4.1 - heck@0.5.0 - hermit-abi@0.4.0 - hex@0.4.3 - hkdf@0.12.4 - hmac@0.12.1 - home@0.5.9 - humantime@2.1.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - id-arena@2.2.1 - ident_case@1.0.1 - ignore@0.4.22 - ihex@3.0.0 - include_dir@0.7.4 - include_dir_macros@0.7.4 - indexmap@1.9.3 - indexmap@2.4.0 - indoc@2.0.5 - inferno@0.11.21 - inout@0.1.3 - intaglio@1.9.1 - is-terminal@0.4.13 - is_terminal_polyfill@1.70.1 - itertools@0.10.5 - itertools@0.12.1 - itertools@0.13.0 - itoa@1.0.11 - ittapi-sys@0.4.0 - ittapi@0.4.0 - jobserver@0.1.32 - js-sys@0.3.70 - lab@0.11.0 - lazy_static@1.5.0 - leb128@0.2.5 - libc@0.2.156 - libm@0.2.8 - libredox@0.1.3 - lingua-english-language-model@1.1.0 - lingua-french-language-model@1.1.0 - lingua-german-language-model@1.1.0 - lingua-spanish-language-model@1.1.0 - lingua@1.6.2 - linkme-impl@0.3.28 - linkme@0.3.28 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - lockfree-object-pool@0.1.6 - log@0.4.22 - logos-codegen@0.14.1 - logos-derive@0.14.1 - logos@0.14.1 - lzma-rs@0.3.0 - mach2@0.4.2 - magic-sys@0.3.0 - magic@0.16.2 - maplit@1.0.2 - md-5@0.10.6 - md2@0.10.2 - memchr@2.7.4 - memfd@0.6.4 - memmap2@0.9.4 - memmapix@0.7.6 - memmem@0.1.1 - memoffset@0.6.5 - memoffset@0.9.1 - memx@0.1.32 - minimal-lexical@0.2.1 - miniz_oxide@0.7.4 - mio@0.8.11 - nix@0.24.3 - nix@0.26.4 - nom@5.1.3 - nom@7.1.3 - num-bigint-dig@0.8.4 - num-bigint@0.4.6 - num-complex@0.4.6 - num-conv@0.1.0 - num-derive@0.3.3 - num-derive@0.4.2 - num-format@0.4.4 - num-integer@0.1.46 - num-iter@0.1.45 - num-rational@0.4.2 - num-traits@0.2.19 - num@0.4.3 - object@0.36.3 - oid-registry@0.7.0 - once_cell@1.19.0 - opaque-debug@0.3.1 - ordered-float@3.9.2 - ordered-float@4.2.2 - p256@0.13.2 - p384@0.13.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - parse-display-derive@0.8.2 - parse-display@0.8.2 - paste@1.0.15 - pbkdf2@0.12.2 - pem-rfc7468@0.7.0 - pest@2.7.11 - pest_derive@2.7.11 - pest_generator@2.7.11 - pest_meta@2.7.11 - phf@0.10.1 - phf@0.11.2 - phf_codegen@0.11.2 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.10.0 - phf_shared@0.11.2 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - portable-atomic@1.7.0 - postcard@1.0.8 - powerfmt@0.2.0 - pprof@0.13.0 - ppv-lite86@0.2.20 - pretty_assertions@1.4.0 - primeorder@0.13.6 - proc-macro2@1.0.86 - protobuf-codegen@3.5.0 - protobuf-json-mapping@3.5.0 - protobuf-parse@3.5.0 - protobuf-support@3.5.0 - protobuf@3.5.0 - psm@0.1.21 - pulldown-cmark@0.9.6 - pyo3-build-config@0.21.2 - pyo3-ffi@0.21.2 - pyo3-file@0.8.1 - pyo3-macros-backend@0.21.2 - pyo3-macros@0.21.2 - pyo3@0.21.2 - quick-xml@0.26.0 - quote@1.0.36 - radium@0.7.0 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.5.3 - redox_users@0.4.5 - regalloc2@0.9.3 - regex-automata@0.4.7 - regex-syntax@0.7.5 - regex-syntax@0.8.4 - regex@1.10.6 - rfc6979@0.4.0 - rgb@0.8.48 - ring@0.17.8 - rowan@0.15.15 - roxmltree@0.20.0 - rsa@0.9.6 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustc-hash@2.0.0 - rusticata-macros@4.1.0 - rustix@0.38.34 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - scopeguard@1.2.0 - sec1@0.7.3 - semver-parser@0.10.2 - semver@0.11.0 - semver@1.0.23 - serde-wasm-bindgen@0.6.5 - serde@1.0.208 - serde_derive@1.0.208 - serde_json@1.0.125 - serde_spanned@0.6.7 - sha1@0.10.6 - sha2@0.10.8 - sha2@0.9.9 - shlex@1.3.0 - signal-hook-mio@0.2.4 - signal-hook-registry@1.4.2 - signal-hook@0.1.17 - signal-hook@0.3.17 - signature@2.2.0 - simd-adler32@0.3.7 - similar-asserts@1.5.0 - similar@2.6.0 - siphasher@0.3.11 - skeptic@0.13.7 - slice-group-by@0.3.1 - smallvec@1.13.2 - spin@0.9.8 - spki@0.7.3 - sptr@0.3.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 - structmeta-derive@0.2.0 - structmeta@0.2.0 - strum@0.25.0 - strum_macros@0.25.3 - subtle@2.6.1 - superconsole@0.2.0 - symbolic-common@12.10.0 - symbolic-demangle@12.10.0 - syn@1.0.109 - syn@2.0.74 - synstructure@0.13.1 - tap@1.0.1 - target-lexicon@0.12.16 - tempfile@3.12.0 - terminfo@0.7.5 - termios@0.3.3 - termwiz@0.18.0 - text-size@1.1.1 - thiserror-impl@1.0.63 - thiserror@1.0.63 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tlsh-fixed@0.1.1 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.22.20 - typenum@1.17.0 - ucd-trie@0.1.6 - unicase@2.7.0 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-width@0.1.13 - unicode-xid@0.2.4 - unindent@0.2.3 - untrusted@0.9.0 - utf8parse@0.2.2 - uuid@1.10.0 - vcpkg@0.2.15 - version_check@0.9.5 - vtparse@0.6.2 - walkdir@2.5.0 - walrus-macro@0.19.0 - walrus@0.21.1 - 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 - wasm-encoder@0.209.1 - wasm-encoder@0.212.0 - wasm-encoder@0.215.0 - wasmparser@0.209.1 - wasmparser@0.212.0 - wasmprinter@0.209.1 - wasmtime-asm-macros@22.0.0 - wasmtime-cache@22.0.0 - wasmtime-component-macro@22.0.0 - wasmtime-component-util@22.0.0 - wasmtime-cranelift@22.0.0 - wasmtime-environ@22.0.0 - wasmtime-fiber@22.0.0 - wasmtime-jit-debug@22.0.0 - wasmtime-jit-icache-coherence@22.0.0 - wasmtime-slab@22.0.0 - wasmtime-types@22.0.0 - wasmtime-versioned-export-macros@22.0.0 - wasmtime-winch@22.0.0 - wasmtime-wit-bindgen@22.0.0 - wasmtime@22.0.0 - wast@215.0.0 - wat@1.215.0 - wezterm-bidi@0.2.3 - wezterm-color-types@0.2.0 - wezterm-dynamic-derive@0.1.0 - wezterm-dynamic@0.1.0 - wezterm-dynamic@0.2.0 - which@4.4.2 - wild@2.2.1 - 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 - winch-codegen@0.20.0 - windows-core@0.52.0 - windows-sys@0.42.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.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.6 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.6 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.6 - windows_i686_gnullvm@0.52.6 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.6 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.6 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.6 - winnow@0.6.18 - wit-parser@0.209.1 - wyz@0.5.1 - x509-parser@0.16.0 - yansi@0.5.1 - yansi@1.0.1 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zeroize@1.8.1 - zeroize_derive@1.4.2 - zip@2.1.6 - zopfli@0.8.1 - zstd-safe@7.2.1 - zstd-sys@2.0.13+zstd.1.5.6 - zstd@0.13.2 -" - -inherit cargo distutils-r1 - -DESCRIPTION="A malware identification and classification tool" -HOMEPAGE="https://virustotal.github.io/yara-x/" -SRC_URI=" - https://github.com/VirusTotal/yara-x/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="BSD" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 CC0-1.0 - CDDL EPL-2.0 ISC MIT MPL-2.0 Unicode-DFS-2016 WTFPL-2 -" - -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="python" -REQUIRED_USE=" - python? ( ${PYTHON_REQUIRED_USE} ) -" - -RDEPEND=" - python? ( ${PYTHON_DEPS} ) -" -BDEPEND=" - python? ( - ${PYTHON_DEPS} - ${DISTUTILS_DEPS} - ) -" - -wrap_python() { - local phase=$1 - shift - - if use python; then - pushd py >/dev/null || die - distutils-r1_${phase} "$@" - popd >/dev/null || die - fi -} - -# https://bugs.gentoo.org/933231, https://bugs.gentoo.org/933232 -QA_FLAGS_IGNORED="usr/bin/yr" - -pkg_setup() { - # https://bugs.gentoo.org/933233 - QA_SONAME="usr/$(get_libdir)/libyara_x.*\\.so usr/lib.*/py.*/site-packages/yara_x/yara_x.*\\.so" -} - -src_prepare() { - default - wrap_python ${FUNCNAME} -} - -src_compile() { - cargo_src_compile --workspace - wrap_python ${FUNCNAME} -} - -python_test() { - epytest -} - -src_test() { - cargo_src_test - wrap_python ${FUNCNAME} -} - -src_install() { - dobin "$(cargo_target_dir)"/yr - dolib.so "$(cargo_target_dir)"/*.so - - wrap_python ${FUNCNAME} -} 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-r1.ebuild b/app-laptop/tiny-dfr/tiny-dfr-0.3.0-r1.ebuild new file mode 100644 index 000000000000..50dc4b3865d9 --- /dev/null +++ b/app-laptop/tiny-dfr/tiny-dfr-0.3.0-r1.ebuild @@ -0,0 +1,260 @@ +# 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" +LICENSE="MIT" +SLOT="0" +KEYWORDS="~arm64" + +SRC_URI=" + ${CARGO_CRATE_URIS} + https://github.com/WhatAmISupposedToPutHere/tiny-dfr/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz +" + +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/tiny-dfr.service + newinitd "${FILESDIR}"/${PN}.initd ${PN} +} + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/app-laptop/tiny-dfr/tiny-dfr-0.3.0.ebuild b/app-laptop/tiny-dfr/tiny-dfr-0.3.0.ebuild deleted file mode 100644 index 163c14018843..000000000000 --- a/app-laptop/tiny-dfr/tiny-dfr-0.3.0.ebuild +++ /dev/null @@ -1,255 +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" -LICENSE="MIT" -SLOT="0" -KEYWORDS="~arm64" - -SRC_URI=" - ${CARGO_CRATE_URIS} - https://github.com/WhatAmISupposedToPutHere/tiny-dfr/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz -" - -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/tiny-dfr.service - 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-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-r1.ebuild deleted file mode 100644 index 19438db1f49e..000000000000 --- a/app-misc/anki/anki-24.06.3-r1.ebuild +++ /dev/null @@ -1,969 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -CRATES=" - addr2line@0.21.0 - adler@1.0.2 - aes@0.8.4 - ahash@0.8.10 - aho-corasick@1.1.2 - allocator-api2@0.2.16 - ammonia@3.3.0 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anes@0.1.6 - anstream@0.6.13 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - anyhow@1.0.80 - apple-bundles@0.17.0 - arrayref@0.3.7 - arrayvec@0.7.4 - ash@0.37.3+1.3.251 - assert-json-diff@2.0.2 - async-channel@1.9.0 - async-compression@0.4.6 - async-stream-impl@0.3.5 - async-stream@0.3.5 - async-trait@0.1.80 - autocfg@1.1.0 - axum-client-ip@0.4.2 - axum-core@0.3.4 - axum-macros@0.3.8 - axum@0.6.20 - backtrace@0.3.69 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - bincode@2.0.0-rc.3 - bit-set@0.5.3 - bit-vec@0.6.3 - bit_field@0.10.2 - bitflags@1.3.2 - bitflags@2.4.2 - blake3@1.5.0 - block-buffer@0.10.4 - block-padding@0.3.3 - block@0.1.6 - bstr@1.9.1 - bumpalo@3.15.3 - burn-autodiff@0.13.1 - burn-candle@0.13.1 - burn-common@0.13.1 - burn-compute@0.13.1 - burn-core@0.13.1 - burn-dataset@0.13.1 - burn-derive@0.13.1 - burn-fusion@0.13.1 - burn-jit@0.13.1 - burn-ndarray@0.13.1 - burn-tch@0.13.1 - burn-tensor@0.13.1 - burn-train@0.13.1 - burn-wgpu@0.13.1 - burn@0.13.1 - bytemuck@1.14.3 - bytemuck_derive@1.5.0 - byteorder@1.5.0 - bytes@1.5.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - camino@1.1.6 - candle-core@0.4.1 - cast@0.3.0 - cbc@0.1.2 - cc@1.0.88 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - chrono@0.4.34 - ciborium-io@0.2.2 - ciborium-ll@0.2.2 - ciborium@0.2.2 - cipher@0.4.4 - clap@4.5.1 - clap_builder@4.5.1 - clap_complete@4.5.1 - clap_derive@4.5.0 - clap_lex@0.7.0 - coarsetime@0.1.34 - codespan-reporting@0.11.1 - codespan@0.11.1 - color_quant@1.1.0 - colorchoice@1.0.0 - com@0.6.0 - com_macros@0.6.0 - com_macros_support@0.6.0 - concurrent-queue@2.4.0 - constant_time_eq@0.1.5 - constant_time_eq@0.3.0 - convert_case@0.6.0 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - core-graphics-types@0.1.3 - cpufeatures@0.2.12 - crc32fast@1.4.0 - criterion-plot@0.5.0 - criterion@0.5.1 - crossbeam-channel@0.5.11 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.19 - crunchy@0.2.2 - crypto-common@0.1.6 - csv-core@0.1.11 - csv@1.3.0 - d3d12@0.19.0 - dashmap@5.5.3 - data-encoding@2.5.0 - deadpool-runtime@0.1.3 - deadpool@0.9.5 - deranged@0.3.11 - derive-new@0.6.0 - des@0.8.1 - difflib@0.4.0 - digest@0.10.7 - dirs-sys@0.4.1 - dirs@5.0.1 - displaydoc@0.2.4 - duct@0.13.7 - dunce@1.0.4 - dyn-stack@0.10.0 - either@1.10.0 - elasticlunr-rs@3.0.2 - encoding_rs@0.8.33 - enum-as-inner@0.6.0 - env_filter@0.1.0 - env_logger@0.11.2 - envy@0.4.2 - equivalent@1.0.1 - errno@0.3.8 - event-listener@2.5.3 - exr@1.72.0 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - faster-hex@0.9.0 - fastrand@1.9.0 - fastrand@2.0.1 - fdeflate@0.3.4 - filetime@0.2.23 - find-winsdk@0.2.0 - fixedbitset@0.4.2 - flate2@1.0.28 - fluent-bundle@0.15.2 - fluent-langneg@0.13.0 - fluent-syntax@0.11.0 - fluent@0.16.0 - flume@0.11.0 - fnv@1.0.7 - foreign-types-macros@0.2.3 - foreign-types-shared@0.1.1 - foreign-types-shared@0.3.1 - foreign-types@0.3.2 - foreign-types@0.5.0 - form_urlencoded@1.2.1 - forwarded-header-value@0.1.1 - fs2@0.4.3 - fsevent-sys@4.1.0 - fsrs@0.6.4 - futf@0.1.5 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-intrusive@0.5.0 - futures-io@0.3.30 - futures-lite@1.13.0 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-timer@3.0.3 - futures-util@0.3.30 - futures@0.3.30 - gemm-c32@0.17.1 - gemm-c64@0.17.1 - gemm-common@0.17.1 - gemm-f16@0.17.1 - gemm-f32@0.17.1 - gemm-f64@0.17.1 - gemm@0.17.1 - generic-array@0.14.7 - getopts@0.2.21 - getrandom@0.1.16 - getrandom@0.2.14 - gif@0.13.1 - gimli@0.28.1 - gix-features@0.36.1 - gix-fs@0.8.1 - gix-hash@0.13.3 - gix-tempfile@11.0.1 - gix-trace@0.1.7 - gl_generator@0.14.0 - glob@0.3.1 - globset@0.4.14 - glow@0.13.1 - glutin_wgl_sys@0.5.0 - gpu-alloc-types@0.3.0 - gpu-alloc@0.6.0 - gpu-allocator@0.25.0 - gpu-descriptor-types@0.1.2 - gpu-descriptor@0.2.4 - h2@0.3.26 - half@2.4.1 - handlebars@5.1.0 - hashbrown@0.13.2 - hashbrown@0.14.3 - hashlink@0.8.4 - hassle-rs@0.11.0 - headers-core@0.2.0 - headers@0.3.9 - heck@0.4.1 - hermit-abi@0.3.8 - hex@0.4.3 - hexf-parse@0.2.1 - hmac@0.12.1 - home@0.5.9 - html5ever@0.26.0 - htmlescape@0.3.1 - http-body@0.4.6 - http-range-header@0.3.1 - http-types@2.12.0 - http@0.2.11 - httparse@1.8.0 - httpdate@1.0.3 - humantime@2.1.0 - hyper-rustls@0.24.2 - hyper-tls@0.5.0 - hyper@0.14.28 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - id_tree@1.8.0 - idna@0.5.0 - ignore@0.4.22 - image@0.24.9 - indexmap@2.2.3 - indoc@2.0.4 - infer@0.2.3 - inflections@1.1.1 - inotify-sys@0.1.5 - inotify@0.9.6 - inout@0.1.3 - instant@0.1.12 - intl-memoizer@0.5.1 - intl_pluralrules@7.0.2 - ipnet@2.9.0 - is-terminal@0.4.12 - itertools@0.10.5 - itertools@0.11.0 - itertools@0.12.1 - itoa@1.0.10 - jni-sys@0.3.0 - jpeg-decoder@0.3.1 - js-sys@0.3.68 - junction@1.0.0 - khronos-egl@6.0.0 - khronos_api@3.1.0 - kqueue-sys@1.0.4 - kqueue@1.0.8 - lazy_static@1.4.0 - lebe@0.5.2 - libc@0.2.153 - libloading@0.7.4 - libloading@0.8.1 - libm@0.2.8 - libredox@0.0.1 - libsqlite3-sys@0.27.0 - line-wrap@0.1.1 - linkify@0.7.0 - linux-raw-sys@0.4.13 - lock_api@0.4.11 - log@0.4.21 - lzma-sys@0.1.20 - mac@0.1.1 - malloc_buf@0.0.6 - maplit@1.0.2 - markup5ever@0.11.0 - markup5ever_rcdom@0.2.0 - matchers@0.1.0 - matches@0.1.10 - matchit@0.7.3 - matrixmultiply@0.3.8 - md5@0.7.0 - mdbook@0.4.37 - memchr@2.7.1 - memmap2@0.9.4 - memoffset@0.9.0 - metal@0.27.0 - mime@0.3.17 - mime_guess@2.0.4 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - mio@0.8.11 - multer@2.1.0 - multimap@0.8.3 - naga@0.19.2 - native-tls@0.2.11 - ndarray-rand@0.14.0 - ndarray@0.15.6 - ndk-sys@0.5.0+25.2.9519653 - new_debug_unreachable@1.0.4 - nom@7.1.3 - nonempty@0.7.0 - normpath@1.2.0 - notify-debouncer-mini@0.4.1 - notify@6.1.1 - nu-ansi-term@0.46.0 - num-complex@0.4.5 - num-conv@0.1.0 - num-format@0.4.4 - num-integer@0.1.46 - num-traits@0.2.18 - num_cpus@1.16.0 - num_enum@0.7.2 - num_enum_derive@0.7.2 - objc@0.2.7 - objc_exception@0.1.2 - object@0.32.2 - once_cell@1.19.0 - oorandom@11.1.3 - opener@0.6.1 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.101 - openssl@0.10.64 - option-ext@0.2.0 - os_pipe@1.1.5 - overload@0.1.1 - p12@0.6.3 - parking@2.2.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - password-hash@0.4.2 - password-hash@0.5.0 - paste@1.0.14 - pathdiff@0.2.1 - pbkdf2@0.11.0 - pbkdf2@0.12.2 - pem@1.1.1 - percent-encoding@2.3.1 - pest@2.7.7 - pest_derive@2.7.7 - pest_generator@2.7.7 - pest_meta@2.7.7 - petgraph@0.6.4 - phf@0.10.1 - phf@0.11.2 - phf_codegen@0.10.0 - phf_generator@0.10.0 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.10.0 - phf_shared@0.11.2 - pin-project-internal@1.1.4 - pin-project-lite@0.2.13 - pin-project@1.1.4 - pin-utils@0.1.0 - pkg-config@0.3.30 - plist@1.6.0 - plotters-backend@0.3.5 - plotters-svg@0.3.5 - plotters@0.3.5 - png@0.17.13 - pollster@0.3.0 - portable-atomic@1.6.0 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - presser@0.3.1 - prettyplease@0.2.16 - proc-macro-crate@3.1.0 - proc-macro-hack@0.5.20+deprecated - proc-macro2@1.0.81 - profiling@1.0.15 - prost-build@0.12.3 - prost-derive@0.12.3 - prost-reflect@0.12.0 - prost-types@0.12.3 - prost@0.12.3 - pulldown-cmark-escape@0.10.0 - pulldown-cmark@0.10.0 - pulldown-cmark@0.8.0 - pulldown-cmark@0.9.6 - pulp@0.18.8 - pyo3-build-config@0.20.3 - pyo3-ffi@0.20.3 - pyo3-macros-backend@0.20.3 - pyo3-macros@0.20.3 - pyo3@0.20.3 - qoi@0.4.1 - quick-xml@0.31.0 - quote@1.0.35 - r2d2@0.8.10 - r2d2_sqlite@0.23.0 - rand@0.7.3 - rand@0.8.5 - rand_chacha@0.2.2 - rand_chacha@0.3.1 - rand_core@0.5.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rand_hc@0.2.0 - range-alloc@0.1.3 - raw-cpuid@10.7.0 - raw-window-handle@0.6.1 - rawpointer@0.2.1 - rayon-core@1.12.1 - rayon@1.10.0 - rc2@0.8.1 - rcgen@0.10.0 - reborrow@0.5.5 - redox_syscall@0.4.1 - redox_users@0.4.4 - regex-automata@0.1.10 - regex-automata@0.4.5 - regex-syntax@0.6.29 - regex-syntax@0.8.2 - regex@1.10.3 - renderdoc-sys@1.0.0 - reqwest@0.11.24 - retain_mut@0.1.9 - ring@0.16.20 - ring@0.17.8 - rmp-serde@1.1.2 - rmp@0.8.12 - rusqlite@0.30.0 - rustc-demangle@0.1.23 - rustc-hash@1.1.0 - rustix@0.38.31 - rustls-native-certs@0.6.3 - rustls-pemfile@1.0.4 - rustls-pemfile@2.1.2 - rustls-pki-types@1.3.1 - rustls-webpki@0.101.7 - rustls-webpki@0.102.2 - rustls@0.21.11 - rustls@0.22.4 - rustversion@1.0.14 - ryu@1.0.17 - safemem@0.3.3 - safetensors@0.3.3 - safetensors@0.4.2 - same-file@1.0.6 - sanitize-filename@0.5.0 - schannel@0.1.23 - scheduled-thread-pool@0.2.7 - scoped-tls@1.0.1 - scopeguard@1.2.0 - sct@0.7.1 - security-framework-sys@2.9.1 - security-framework@2.9.2 - self_cell@0.10.3 - self_cell@1.0.3 - semver@1.0.22 - seq-macro@0.3.5 - serde-aux@4.5.0 - serde@1.0.197 - serde_derive@1.0.197 - serde_json@1.0.116 - serde_path_to_error@0.1.15 - serde_qs@0.8.5 - serde_repr@0.1.18 - serde_rusqlite@0.34.0 - serde_tuple@0.5.0 - serde_tuple_macros@0.5.0 - serde_urlencoded@0.7.1 - sha1@0.10.6 - sha2@0.10.8 - sharded-slab@0.1.7 - shared_child@1.0.0 - shlex@1.3.0 - signal-hook-registry@1.4.1 - signal-hook@0.3.17 - simd-adler32@0.3.7 - simple-file-manifest@0.11.0 - siphasher@0.3.11 - slab@0.4.9 - slotmap@1.0.7 - smallvec@1.13.1 - snafu-derive@0.8.1 - snafu@0.8.1 - snowflake@1.3.0 - socket2@0.5.6 - spin@0.5.2 - spin@0.9.8 - spirv@0.3.0+sdk-1.3.268.0 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - string_cache@0.8.7 - string_cache_codegen@0.5.2 - strsim@0.11.0 - strum@0.25.0 - strum@0.26.1 - strum_macros@0.25.3 - strum_macros@0.26.1 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.51 - sync_wrapper@0.1.2 - synstructure@0.13.1 - sysctl@0.5.5 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tar@0.4.40 - target-lexicon@0.12.14 - tch@0.15.0 - tempfile@3.10.1 - tendril@0.4.3 - termcolor@1.4.1 - terminal_size@0.3.0 - text_placeholder@0.5.0 - thiserror-impl@1.0.59 - thiserror@1.0.59 - thread-tree@0.3.3 - thread_local@1.1.8 - tiff@0.9.1 - time-core@0.1.2 - tinystr@0.7.5 - tinytemplate@1.2.1 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tokio-macros@2.2.0 - tokio-native-tls@0.3.1 - tokio-rustls@0.24.1 - tokio-socks@0.5.1 - tokio-stream@0.1.14 - tokio-tungstenite@0.20.1 - tokio-util@0.7.10 - tokio@1.36.0 - toml@0.5.11 - toml_datetime@0.6.5 - toml_edit@0.21.1 - topological-sort@0.2.2 - torch-sys@0.15.0 - tower-http@0.4.4 - tower-layer@0.3.2 - tower-service@0.3.2 - tower@0.4.13 - tracing-appender@0.2.3 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing@0.1.40 - try-lock@0.2.5 - tugger-common@0.10.0 - tugger-windows-codesign@0.10.0 - tugger-windows@0.10.0 - tungstenite@0.20.1 - type-map@0.4.0 - typenum@1.17.0 - ucd-trie@0.1.6 - unic-char-property@0.9.0 - unic-char-range@0.9.0 - unic-common@0.9.0 - unic-langid-impl@0.9.4 - unic-langid-macros-impl@0.9.4 - unic-langid-macros@0.9.4 - unic-langid@0.9.4 - unic-ucd-category@0.9.0 - unic-ucd-version@0.9.0 - unicase@2.6.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-segmentation@1.11.0 - unicode-width@0.1.11 - unicode-xid@0.2.4 - unindent@0.2.3 - untrusted@0.7.1 - untrusted@0.9.0 - ureq@2.9.6 - url@2.5.0 - utf-8@0.7.6 - utf8parse@0.2.1 - utime@0.3.1 - uuid@1.8.0 - valuable@0.1.0 - vcpkg@0.2.15 - version_check@0.9.4 - waker-fn@1.1.1 - walkdir@2.4.0 - want@0.3.1 - warp@0.3.6 - wasi@0.11.0+wasi-snapshot-preview1 - wasi@0.9.0+wasi-snapshot-preview1 - wasix@0.12.21 - wasm-bindgen-backend@0.2.91 - wasm-bindgen-futures@0.4.41 - wasm-bindgen-macro-support@0.2.91 - wasm-bindgen-macro@0.2.91 - wasm-bindgen-shared@0.2.91 - wasm-bindgen@0.2.91 - wasm-streams@0.4.0 - web-sys@0.3.68 - web-time@1.1.0 - webpki-roots@0.25.4 - webpki-roots@0.26.1 - weezl@0.1.8 - wgpu-core@0.19.4 - wgpu-hal@0.19.4 - wgpu-types@0.19.2 - wgpu@0.19.4 - which@4.4.2 - which@5.0.0 - widestring@1.0.2 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.51.1 - windows-core@0.52.0 - windows-core@0.54.0 - windows-result@0.1.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.3 - windows@0.51.1 - windows@0.54.0 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.3 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.3 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.3 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.3 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.3 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.3 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.3 - winnow@0.5.40 - winreg@0.5.1 - winreg@0.50.0 - wiremock@0.5.22 - xattr@1.3.1 - xml-rs@0.8.19 - xml5ever@0.17.0 - xz2@0.1.7 - yasna@0.5.2 - yoke-derive@0.7.3 - yoke@0.7.3 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 - zerofrom-derive@0.1.3 - zerofrom@0.1.3 - zeroize@1.7.0 - zip@0.6.6 - zstd-safe@5.0.2+zstd.1.5.2 - zstd-safe@7.0.0 - zstd-sys@2.0.9+zstd.1.5.5 - zstd@0.11.2+zstd.1.5.2 - zstd@0.13.0 - zune-inflate@0.2.54 -" -# https://github.com/time-rs/time/issues/693 -# cargo update time@0.3.34 --precise 0.3.36 -CRATES+=" - time-macros@0.2.18 - time@0.3.36 -" -declare -A GIT_CRATES=( - [linkcheck]='https://github.com/ankitects/linkcheck;184b2ca50ed39ca43da13f0b830a463861adb9ca;linkcheck-%commit%' - [percent-encoding-iri]='https://github.com/ankitects/rust-url;bb930b8d089f4d30d7d19c12e54e66191de47b88;rust-url-%commit%/percent_encoding' -) -inherit cargo desktop edo multiprocessing ninja-utils optfeature \ - python-single-r1 readme.gentoo-r1 toolchain-funcs xdg - -DESCRIPTION="A spaced-repetition memory training program (flash cards)" -HOMEPAGE="https://apps.ankiweb.net/" - -# Don't forget to update COMMITS if PV changes. -# Update [node_modules] to the most recent commit hash until ${PV}, that -# changed yarn.lock. -# Oftentimes this file does not change between releases. This versioning -# scheme prevents unnecessary downloads of the (sizeable) node_modules -# folder. -declare -A COMMITS=( - [anki]="d678e39350a2d243242a69f4e22f5192b04398f2" - [ftl-core]="b4813a328f44c8224d2649adbdbcbef095db9a40" - [ftl-desktop]="b95608421ba2ba1cdca407933aff9ba25d567e12" - [node_modules]="b9a182d8e2f3a11b633a6d5fbb582e9e7d8a4f34" -) -SRC_URI="${CARGO_CRATE_URIS} - https://github.com/ankitects/anki/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz - https://github.com/ankitects/anki-core-i18n/archive/${COMMITS[ftl-core]}.tar.gz - -> anki-core-i18n-${COMMITS[ftl-core]}.gh.tar.gz - https://github.com/ankitects/anki-desktop-ftl/archive/${COMMITS[ftl-desktop]}.tar.gz - -> anki-desktop-ftl-${COMMITS[ftl-desktop]}.gh.tar.gz - gui? ( https://git.sr.ht/~antecrescent/gentoo-files/blob/main/app-misc/anki/anki-node_modules-${COMMITS[node_modules]}.tar.xz ) -" - -PATCHES=( - "${FILESDIR}"/${PV}/ninja-gentoo-setup.patch - "${FILESDIR}"/${PV}/remove-yarn.patch - "${FILESDIR}"/24.04.1/remove-mypy-protobuf.patch - "${FILESDIR}"/24.04.1/revert-cert-store-hack.patch - "${FILESDIR}"/24.04.1/rust-1.80.0.patch - "${FILESDIR}"/23.12.1/ninja-rules-for-cargo.patch - "${FILESDIR}"/23.12.1/remove-formatter-dep.patch -) - -# How to get an up-to-date summary of runtime JS libs' licenses: -# ./node_modules/.bin/license-checker-rseidelsohn --production --excludePackages anki --summary -LICENSE="AGPL-3+ BSD public-domain gui? ( 0BSD CC-BY-4.0 GPL-3+ Unlicense )" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 CC0-1.0 ISC MIT - MPL-2.0 Unicode-DFS-2016 ZLIB -" -# Manually added crate licenses -LICENSE+=" Unicode-3.0 openssl" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -IUSE="doc +gui test" -REQUIRED_USE="gui? ( ${PYTHON_REQUIRED_USE} )" -RESTRICT="!gui? ( test ) !test? ( test )" - -# Dependencies: -# Python: python/requirements.{anki,aqt}.in -# If ENABLE_QT5_COMPAT is set at runtime -# additionally depend on PyQt6[dbus,printsupport]. -# Qt: qt/{aqt/{sound.py,qt/*.py},tools/build_ui.py} -# app-misc/certificates: The rust backend library is built against -# rustls-native-certs to use the native certificate store. - -DEPEND=" - >=app-arch/zstd-1.5.5:= - dev-db/sqlite:3 -" -GUI_RDEPEND=" - ${PYTHON_DEPS} - dev-qt/qtsvg:6 - $(python_gen_cond_dep ' - dev-python/beautifulsoup4[${PYTHON_USEDEP}] - dev-python/distro[${PYTHON_USEDEP}] - dev-python/decorator[${PYTHON_USEDEP}] - dev-python/flask[${PYTHON_USEDEP}] - dev-python/flask-cors[${PYTHON_USEDEP}] - dev-python/jsonschema[${PYTHON_USEDEP}] - dev-python/markdown[${PYTHON_USEDEP}] - dev-python/protobuf-python[${PYTHON_USEDEP}] - >=dev-python/PyQt6-6.6.1[gui,network,opengl,quick,webchannel,widgets,${PYTHON_USEDEP}] - >=dev-python/PyQt6-sip-13.6.0[${PYTHON_USEDEP}] - >=dev-python/PyQt6-WebEngine-6.6.0[widgets,${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/send2trash[${PYTHON_USEDEP}] - dev-python/waitress[${PYTHON_USEDEP}] - ') -" -RDEPEND=" - ${DEPEND} - app-misc/ca-certificates - gui? ( ${GUI_RDEPEND} ) -" - -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}] - dev-python/sphinx-autoapi[${PYTHON_USEDEP}] - dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] - ') - ) - gui? ( - ${PYTHON_DEPS} - app-alternatives/ninja - app-arch/unzip - >=net-libs/nodejs-20.12.1 - sys-apps/yarn - $(python_gen_cond_dep ' - dev-python/PyQt6[${PYTHON_USEDEP}] - dev-python/wheel[${PYTHON_USEDEP}] - ') - ) - test? ( - ${RDEPEND} - app-text/dvipng - app-text/texlive - dev-libs/openssl - dev-util/cargo-nextest - $(python_gen_cond_dep ' - dev-python/mock[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] - ') - ) -" - -QA_FLAGS_IGNORED="usr/bin/anki-sync-server - usr/lib/python.*/site-packages/anki/_rsbridge.so" - -pkg_setup() { - export PROTOC_BINARY="${BROOT}"/usr/bin/protoc - export LIBSQLITE3_SYS_USE_PKG_CONFIG=1 - export ZSTD_SYS_USE_PKG_CONFIG=1 - - if use gui; then - python-single-r1_pkg_setup - export NODE_BINARY="${BROOT}"/usr/bin/node - export YARN_BINARY="${BROOT}"/usr/bin/yarn - export OFFLINE_BUILD=1 - if ! use debug; then - if tc-is-lto; then - export RELEASE=2 - else - export RELEASE=1 - fi - fi - fi -} - -src_prepare() { - default - rm -r ftl/{core,qt}-repo || die - ln -s "${WORKDIR}"/anki-core-i18n-${COMMITS[ftl-core]} ftl/core-repo || die - ln -s "${WORKDIR}"/anki-desktop-ftl-${COMMITS[ftl-desktop]} ftl/qt-repo || die - - mkdir out || die - echo -e "${COMMITS[anki]:0:8}" > out/buildhash || die - if use gui; then - mv "${WORKDIR}"/node_modules out || die - - # Some parts of the runner build system expect to be in a git repository - mkdir .git || die - - # Creating the pseudo venv early skips pip dependency checks in src_configure. - mkdir -p out/pyenv/bin || die - ln -s "${PYTHON}" out/pyenv/bin/python || die - # TODO: ln -s "${BROOT}/usr/bin/protoc-gen-mypy" out/pyenv/bin || die - if use doc; then - ln -s "${BROOT}"/usr/bin/sphinx-apidoc out/pyenv/bin || die - ln -s "${BROOT}"/usr/bin/sphinx-build out/pyenv/bin || die - fi - - # Fix hardcoded runner location - export CARGO_TARGET_DIR="${S}"/out/rust - cbuild_dir="$(CHOST=${CBUILD:-${CHOST}} cargo_target_dir)" - sed "s,rust/release,${cbuild_dir##*out/}," \ - -i build/ninja_gen/src/render.rs || die - - # Separate src_configure from runner build - sed '/ConfigureBuild/d' -i build/ninja_gen/src/build.rs || die - fi -} - -_cbuild_cargo_build() { - CHOST=${CBUILD:-${CHOST}} cargo_src_compile "${@}" -} - -src_configure() { - cargo_src_configure - if use gui; then - tc-env_build _cbuild_cargo_build -p configure - cargo_env edo "${cbuild_dir}"/configure - fi -} - -src_compile() { - if use gui; then - MY_RUNNER="cargo_env edo ${cbuild_dir}/runner build -- $(get_NINJAOPTS)" - unset cbuild_dir - - tc-env_build _cbuild_cargo_build -p runner - ${MY_RUNNER} wheels - use doc && ${MY_RUNNER} python:sphinx - else - cargo_src_compile --package anki-sync-server - fi -} - -src_test() { - ln -s "${BROOT}"/usr/bin/pytest out/pyenv/bin/pytest || die - mkdir out/bin || die - ln -s "${BROOT}"/usr/bin/cargo-nextest out/bin/cargo-nextest || die - - local nextest_opts=( - cargo-verbose - failure-output=immediate - status-level=all - test-threads=$(get_makeopts_jobs) - ) - # cargo-nextest respects Cargo's CARGO_TERM_COLOR variable - if [[ ! ${CARGO_TERM_COLOR} ]]; then - [[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && nextest_opts+=( color=never ) - fi - - nextest_opts=( ${nextest_opts[@]/#/--} ) - # Override hardcoded cargo-nextest options - sed -i -e "s/\(cargo nextest run\).*\\$/\1 ${nextest_opts[*]} \\$/" \ - "${S}"/build/ninja_gen/src/cargo.rs || die - - local runner - for runner in pytest rust_test vitest; do - ${MY_RUNNER} check:${runner} - done -} - -src_install() { - local DOC_CONTENTS="Users with add-ons that still rely on Anki's Qt5 GUI - can temporarily set the environment variable ENABLE_QT5_COMPAT to 1 to have - Anki install the previous compatibility code. This option has additional - runtime dependencies. Please take a look at this package's optional runtime - features for a complete listing. - \n\nENABLE_QT5_COMPAT may be removed in the future, so this is not a - long-term solution. - \n\nAnki's user manual is located online at https://docs.ankiweb.net/ - \nAnki's add-on developer manual is located online at - https://addon-docs.ankiweb.net/" - - readme.gentoo_create_doc - if use gui; then - pushd qt/bundle/lin > /dev/null || die - doman anki.1 - doicon anki.{png,xpm} - domenu anki.desktop - insinto /usr/share/mime/packages - doins anki.xml - popd || die - use doc && dodoc -r out/python/sphinx/html - - local w - for w in out/wheels/*.whl; do - unzip "${w}" -d out/wheels || die - done - python_domodule out/wheels/{anki,{,_}aqt,*.dist-info} - printf "#!/usr/bin/python3\nimport sys;from aqt import run;sys.exit(run())" > runanki || die - python_newscript runanki anki - else - cargo_src_install --path rslib/sync - fi -} - -pkg_postinst() { - ver_test ${REPLACING_VERSIONS} -lt 24.06.3-r1 && local FORCE_PRINT_ELOG=1 - readme.gentoo_print_elog - if use gui; then - xdg_pkg_postinst - optfeature "LaTeX in cards" "app-text/texlive[extra] app-text/dvipng" - optfeature "sound support" media-video/mpv media-video/mplayer - optfeature "recording support" "media-sound/lame[frontend] dev-python/PyQt6[multimedia]" - optfeature "faster database operations" dev-python/orjson - optfeature "compatibility with Qt5-dependent add-ons" dev-python/PyQt6[dbus,printsupport] - optfeature "Vulkan driver" "media-libs/vulkan-loader dev-qt/qtbase:6[vulkan] - dev-qt/qtdeclarative:6[vulkan] dev-qt/qtwebengine:6[vulkan]" - - einfo "You can customize the LaTeX header for your cards to fit your needs:" - einfo "Notes > Manage Note Types > [select a note type] > Options" - fi -} diff --git a/app-misc/anki/anki-24.06.3-r2.ebuild b/app-misc/anki/anki-24.06.3-r2.ebuild new file mode 100644 index 000000000000..dea830f2ea71 --- /dev/null +++ b/app-misc/anki/anki-24.06.3-r2.ebuild @@ -0,0 +1,969 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) +CRATES=" + addr2line@0.21.0 + adler@1.0.2 + aes@0.8.4 + ahash@0.8.10 + aho-corasick@1.1.2 + allocator-api2@0.2.16 + ammonia@3.3.0 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anes@0.1.6 + anstream@0.6.13 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + anyhow@1.0.80 + apple-bundles@0.17.0 + arrayref@0.3.7 + arrayvec@0.7.4 + ash@0.37.3+1.3.251 + assert-json-diff@2.0.2 + async-channel@1.9.0 + async-compression@0.4.6 + async-stream-impl@0.3.5 + async-stream@0.3.5 + async-trait@0.1.80 + autocfg@1.1.0 + axum-client-ip@0.4.2 + axum-core@0.3.4 + axum-macros@0.3.8 + axum@0.6.20 + backtrace@0.3.69 + base64@0.13.1 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + bincode@2.0.0-rc.3 + bit-set@0.5.3 + bit-vec@0.6.3 + bit_field@0.10.2 + bitflags@1.3.2 + bitflags@2.4.2 + blake3@1.5.0 + block-buffer@0.10.4 + block-padding@0.3.3 + block@0.1.6 + bstr@1.9.1 + bumpalo@3.15.3 + burn-autodiff@0.13.1 + burn-candle@0.13.1 + burn-common@0.13.1 + burn-compute@0.13.1 + burn-core@0.13.1 + burn-dataset@0.13.1 + burn-derive@0.13.1 + burn-fusion@0.13.1 + burn-jit@0.13.1 + burn-ndarray@0.13.1 + burn-tch@0.13.1 + burn-tensor@0.13.1 + burn-train@0.13.1 + burn-wgpu@0.13.1 + burn@0.13.1 + bytemuck@1.14.3 + bytemuck_derive@1.5.0 + byteorder@1.5.0 + bytes@1.5.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + camino@1.1.6 + candle-core@0.4.1 + cast@0.3.0 + cbc@0.1.2 + cc@1.0.88 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + chrono@0.4.34 + ciborium-io@0.2.2 + ciborium-ll@0.2.2 + ciborium@0.2.2 + cipher@0.4.4 + clap@4.5.1 + clap_builder@4.5.1 + clap_complete@4.5.1 + clap_derive@4.5.0 + clap_lex@0.7.0 + coarsetime@0.1.34 + codespan-reporting@0.11.1 + codespan@0.11.1 + color_quant@1.1.0 + colorchoice@1.0.0 + com@0.6.0 + com_macros@0.6.0 + com_macros_support@0.6.0 + concurrent-queue@2.4.0 + constant_time_eq@0.1.5 + constant_time_eq@0.3.0 + convert_case@0.6.0 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + core-graphics-types@0.1.3 + cpufeatures@0.2.12 + crc32fast@1.4.0 + criterion-plot@0.5.0 + criterion@0.5.1 + crossbeam-channel@0.5.11 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.19 + crunchy@0.2.2 + crypto-common@0.1.6 + csv-core@0.1.11 + csv@1.3.0 + d3d12@0.19.0 + dashmap@5.5.3 + data-encoding@2.5.0 + deadpool-runtime@0.1.3 + deadpool@0.9.5 + deranged@0.3.11 + derive-new@0.6.0 + des@0.8.1 + difflib@0.4.0 + digest@0.10.7 + dirs-sys@0.4.1 + dirs@5.0.1 + displaydoc@0.2.4 + duct@0.13.7 + dunce@1.0.4 + dyn-stack@0.10.0 + either@1.10.0 + elasticlunr-rs@3.0.2 + encoding_rs@0.8.33 + enum-as-inner@0.6.0 + env_filter@0.1.0 + env_logger@0.11.2 + envy@0.4.2 + equivalent@1.0.1 + errno@0.3.8 + event-listener@2.5.3 + exr@1.72.0 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + faster-hex@0.9.0 + fastrand@1.9.0 + fastrand@2.0.1 + fdeflate@0.3.4 + filetime@0.2.23 + find-winsdk@0.2.0 + fixedbitset@0.4.2 + flate2@1.0.28 + fluent-bundle@0.15.2 + fluent-langneg@0.13.0 + fluent-syntax@0.11.0 + fluent@0.16.0 + flume@0.11.0 + fnv@1.0.7 + foreign-types-macros@0.2.3 + foreign-types-shared@0.1.1 + foreign-types-shared@0.3.1 + foreign-types@0.3.2 + foreign-types@0.5.0 + form_urlencoded@1.2.1 + forwarded-header-value@0.1.1 + fs2@0.4.3 + fsevent-sys@4.1.0 + fsrs@0.6.4 + futf@0.1.5 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-intrusive@0.5.0 + futures-io@0.3.30 + futures-lite@1.13.0 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-timer@3.0.3 + futures-util@0.3.30 + futures@0.3.30 + gemm-c32@0.17.1 + gemm-c64@0.17.1 + gemm-common@0.17.1 + gemm-f16@0.17.1 + gemm-f32@0.17.1 + gemm-f64@0.17.1 + gemm@0.17.1 + generic-array@0.14.7 + getopts@0.2.21 + getrandom@0.1.16 + getrandom@0.2.14 + gif@0.13.1 + gimli@0.28.1 + gix-features@0.36.1 + gix-fs@0.8.1 + gix-hash@0.13.3 + gix-tempfile@11.0.1 + gix-trace@0.1.7 + gl_generator@0.14.0 + glob@0.3.1 + globset@0.4.14 + glow@0.13.1 + glutin_wgl_sys@0.5.0 + gpu-alloc-types@0.3.0 + gpu-alloc@0.6.0 + gpu-allocator@0.25.0 + gpu-descriptor-types@0.1.2 + gpu-descriptor@0.2.4 + h2@0.3.26 + half@2.4.1 + handlebars@5.1.0 + hashbrown@0.13.2 + hashbrown@0.14.3 + hashlink@0.8.4 + hassle-rs@0.11.0 + headers-core@0.2.0 + headers@0.3.9 + heck@0.4.1 + hermit-abi@0.3.8 + hex@0.4.3 + hexf-parse@0.2.1 + hmac@0.12.1 + home@0.5.9 + html5ever@0.26.0 + htmlescape@0.3.1 + http-body@0.4.6 + http-range-header@0.3.1 + http-types@2.12.0 + http@0.2.11 + httparse@1.8.0 + httpdate@1.0.3 + humantime@2.1.0 + hyper-rustls@0.24.2 + hyper-tls@0.5.0 + hyper@0.14.28 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + id_tree@1.8.0 + idna@0.5.0 + ignore@0.4.22 + image@0.24.9 + indexmap@2.2.3 + indoc@2.0.4 + infer@0.2.3 + inflections@1.1.1 + inotify-sys@0.1.5 + inotify@0.9.6 + inout@0.1.3 + instant@0.1.12 + intl-memoizer@0.5.1 + intl_pluralrules@7.0.2 + ipnet@2.9.0 + is-terminal@0.4.12 + itertools@0.10.5 + itertools@0.11.0 + itertools@0.12.1 + itoa@1.0.10 + jni-sys@0.3.0 + jpeg-decoder@0.3.1 + js-sys@0.3.68 + junction@1.0.0 + khronos-egl@6.0.0 + khronos_api@3.1.0 + kqueue-sys@1.0.4 + kqueue@1.0.8 + lazy_static@1.4.0 + lebe@0.5.2 + libc@0.2.153 + libloading@0.7.4 + libloading@0.8.1 + libm@0.2.8 + libredox@0.0.1 + libsqlite3-sys@0.27.0 + line-wrap@0.1.1 + linkify@0.7.0 + linux-raw-sys@0.4.13 + lock_api@0.4.11 + log@0.4.21 + lzma-sys@0.1.20 + mac@0.1.1 + malloc_buf@0.0.6 + maplit@1.0.2 + markup5ever@0.11.0 + markup5ever_rcdom@0.2.0 + matchers@0.1.0 + matches@0.1.10 + matchit@0.7.3 + matrixmultiply@0.3.8 + md5@0.7.0 + mdbook@0.4.37 + memchr@2.7.1 + memmap2@0.9.4 + memoffset@0.9.0 + metal@0.27.0 + mime@0.3.17 + mime_guess@2.0.4 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + mio@0.8.11 + multer@2.1.0 + multimap@0.8.3 + naga@0.19.2 + native-tls@0.2.11 + ndarray-rand@0.14.0 + ndarray@0.15.6 + ndk-sys@0.5.0+25.2.9519653 + new_debug_unreachable@1.0.4 + nom@7.1.3 + nonempty@0.7.0 + normpath@1.2.0 + notify-debouncer-mini@0.4.1 + notify@6.1.1 + nu-ansi-term@0.46.0 + num-complex@0.4.5 + num-conv@0.1.0 + num-format@0.4.4 + num-integer@0.1.46 + num-traits@0.2.18 + num_cpus@1.16.0 + num_enum@0.7.2 + num_enum_derive@0.7.2 + objc@0.2.7 + objc_exception@0.1.2 + object@0.32.2 + once_cell@1.19.0 + oorandom@11.1.3 + opener@0.6.1 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.101 + openssl@0.10.64 + option-ext@0.2.0 + os_pipe@1.1.5 + overload@0.1.1 + p12@0.6.3 + parking@2.2.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + password-hash@0.4.2 + password-hash@0.5.0 + paste@1.0.14 + pathdiff@0.2.1 + pbkdf2@0.11.0 + pbkdf2@0.12.2 + pem@1.1.1 + percent-encoding@2.3.1 + pest@2.7.7 + pest_derive@2.7.7 + pest_generator@2.7.7 + pest_meta@2.7.7 + petgraph@0.6.4 + phf@0.10.1 + phf@0.11.2 + phf_codegen@0.10.0 + phf_generator@0.10.0 + phf_generator@0.11.2 + phf_macros@0.11.2 + phf_shared@0.10.0 + phf_shared@0.11.2 + pin-project-internal@1.1.4 + pin-project-lite@0.2.13 + pin-project@1.1.4 + pin-utils@0.1.0 + pkg-config@0.3.30 + plist@1.6.0 + plotters-backend@0.3.5 + plotters-svg@0.3.5 + plotters@0.3.5 + png@0.17.13 + pollster@0.3.0 + portable-atomic@1.6.0 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + presser@0.3.1 + prettyplease@0.2.16 + proc-macro-crate@3.1.0 + proc-macro-hack@0.5.20+deprecated + proc-macro2@1.0.81 + profiling@1.0.15 + prost-build@0.12.3 + prost-derive@0.12.3 + prost-reflect@0.12.0 + prost-types@0.12.3 + prost@0.12.3 + pulldown-cmark-escape@0.10.0 + pulldown-cmark@0.10.0 + pulldown-cmark@0.8.0 + pulldown-cmark@0.9.6 + pulp@0.18.8 + pyo3-build-config@0.20.3 + pyo3-ffi@0.20.3 + pyo3-macros-backend@0.20.3 + pyo3-macros@0.20.3 + pyo3@0.20.3 + qoi@0.4.1 + quick-xml@0.31.0 + quote@1.0.35 + r2d2@0.8.10 + r2d2_sqlite@0.23.0 + rand@0.7.3 + rand@0.8.5 + rand_chacha@0.2.2 + rand_chacha@0.3.1 + rand_core@0.5.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rand_hc@0.2.0 + range-alloc@0.1.3 + raw-cpuid@10.7.0 + raw-window-handle@0.6.1 + rawpointer@0.2.1 + rayon-core@1.12.1 + rayon@1.10.0 + rc2@0.8.1 + rcgen@0.10.0 + reborrow@0.5.5 + redox_syscall@0.4.1 + redox_users@0.4.4 + regex-automata@0.1.10 + regex-automata@0.4.5 + regex-syntax@0.6.29 + regex-syntax@0.8.2 + regex@1.10.3 + renderdoc-sys@1.0.0 + reqwest@0.11.24 + retain_mut@0.1.9 + ring@0.16.20 + ring@0.17.8 + rmp-serde@1.1.2 + rmp@0.8.12 + rusqlite@0.30.0 + rustc-demangle@0.1.23 + rustc-hash@1.1.0 + rustix@0.38.31 + rustls-native-certs@0.6.3 + rustls-pemfile@1.0.4 + rustls-pemfile@2.1.2 + rustls-pki-types@1.3.1 + rustls-webpki@0.101.7 + rustls-webpki@0.102.2 + rustls@0.21.11 + rustls@0.22.4 + rustversion@1.0.14 + ryu@1.0.17 + safemem@0.3.3 + safetensors@0.3.3 + safetensors@0.4.2 + same-file@1.0.6 + sanitize-filename@0.5.0 + schannel@0.1.23 + scheduled-thread-pool@0.2.7 + scoped-tls@1.0.1 + scopeguard@1.2.0 + sct@0.7.1 + security-framework-sys@2.9.1 + security-framework@2.9.2 + self_cell@0.10.3 + self_cell@1.0.3 + semver@1.0.22 + seq-macro@0.3.5 + serde-aux@4.5.0 + serde@1.0.197 + serde_derive@1.0.197 + serde_json@1.0.116 + serde_path_to_error@0.1.15 + serde_qs@0.8.5 + serde_repr@0.1.18 + serde_rusqlite@0.34.0 + serde_tuple@0.5.0 + serde_tuple_macros@0.5.0 + serde_urlencoded@0.7.1 + sha1@0.10.6 + sha2@0.10.8 + sharded-slab@0.1.7 + shared_child@1.0.0 + shlex@1.3.0 + signal-hook-registry@1.4.1 + signal-hook@0.3.17 + simd-adler32@0.3.7 + simple-file-manifest@0.11.0 + siphasher@0.3.11 + slab@0.4.9 + slotmap@1.0.7 + smallvec@1.13.1 + snafu-derive@0.8.1 + snafu@0.8.1 + snowflake@1.3.0 + socket2@0.5.6 + spin@0.5.2 + spin@0.9.8 + spirv@0.3.0+sdk-1.3.268.0 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + string_cache@0.8.7 + string_cache_codegen@0.5.2 + strsim@0.11.0 + strum@0.25.0 + strum@0.26.1 + strum_macros@0.25.3 + strum_macros@0.26.1 + subtle@2.5.0 + syn@1.0.109 + syn@2.0.51 + sync_wrapper@0.1.2 + synstructure@0.13.1 + sysctl@0.5.5 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tar@0.4.40 + target-lexicon@0.12.14 + tch@0.15.0 + tempfile@3.10.1 + tendril@0.4.3 + termcolor@1.4.1 + terminal_size@0.3.0 + text_placeholder@0.5.0 + thiserror-impl@1.0.59 + thiserror@1.0.59 + thread-tree@0.3.3 + thread_local@1.1.8 + tiff@0.9.1 + time-core@0.1.2 + tinystr@0.7.5 + tinytemplate@1.2.1 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio-macros@2.2.0 + tokio-native-tls@0.3.1 + tokio-rustls@0.24.1 + tokio-socks@0.5.1 + tokio-stream@0.1.14 + tokio-tungstenite@0.20.1 + tokio-util@0.7.10 + tokio@1.36.0 + toml@0.5.11 + toml_datetime@0.6.5 + toml_edit@0.21.1 + topological-sort@0.2.2 + torch-sys@0.15.0 + tower-http@0.4.4 + tower-layer@0.3.2 + tower-service@0.3.2 + tower@0.4.13 + tracing-appender@0.2.3 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing@0.1.40 + try-lock@0.2.5 + tugger-common@0.10.0 + tugger-windows-codesign@0.10.0 + tugger-windows@0.10.0 + tungstenite@0.20.1 + type-map@0.4.0 + typenum@1.17.0 + ucd-trie@0.1.6 + unic-char-property@0.9.0 + unic-char-range@0.9.0 + unic-common@0.9.0 + unic-langid-impl@0.9.4 + unic-langid-macros-impl@0.9.4 + unic-langid-macros@0.9.4 + unic-langid@0.9.4 + unic-ucd-category@0.9.0 + unic-ucd-version@0.9.0 + unicase@2.6.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-segmentation@1.11.0 + unicode-width@0.1.11 + unicode-xid@0.2.4 + unindent@0.2.3 + untrusted@0.7.1 + untrusted@0.9.0 + ureq@2.9.6 + url@2.5.0 + utf-8@0.7.6 + utf8parse@0.2.1 + utime@0.3.1 + uuid@1.8.0 + valuable@0.1.0 + vcpkg@0.2.15 + version_check@0.9.4 + waker-fn@1.1.1 + walkdir@2.4.0 + want@0.3.1 + warp@0.3.6 + wasi@0.11.0+wasi-snapshot-preview1 + wasi@0.9.0+wasi-snapshot-preview1 + wasix@0.12.21 + wasm-bindgen-backend@0.2.91 + wasm-bindgen-futures@0.4.41 + wasm-bindgen-macro-support@0.2.91 + wasm-bindgen-macro@0.2.91 + wasm-bindgen-shared@0.2.91 + wasm-bindgen@0.2.91 + wasm-streams@0.4.0 + web-sys@0.3.68 + web-time@1.1.0 + webpki-roots@0.25.4 + webpki-roots@0.26.1 + weezl@0.1.8 + wgpu-core@0.19.4 + wgpu-hal@0.19.4 + wgpu-types@0.19.2 + wgpu@0.19.4 + which@4.4.2 + which@5.0.0 + widestring@1.0.2 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.51.1 + windows-core@0.52.0 + windows-core@0.54.0 + windows-result@0.1.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.3 + windows@0.51.1 + windows@0.54.0 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.3 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.3 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.3 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.3 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.3 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.3 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.3 + winnow@0.5.40 + winreg@0.5.1 + winreg@0.50.0 + wiremock@0.5.22 + xattr@1.3.1 + xml-rs@0.8.19 + xml5ever@0.17.0 + xz2@0.1.7 + yasna@0.5.2 + yoke-derive@0.7.3 + yoke@0.7.3 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 + zerofrom-derive@0.1.3 + zerofrom@0.1.3 + zeroize@1.7.0 + zip@0.6.6 + zstd-safe@5.0.2+zstd.1.5.2 + zstd-safe@7.0.0 + zstd-sys@2.0.9+zstd.1.5.5 + zstd@0.11.2+zstd.1.5.2 + zstd@0.13.0 + zune-inflate@0.2.54 +" +# https://github.com/time-rs/time/issues/693 +# cargo update time@0.3.34 --precise 0.3.36 +CRATES+=" + time-macros@0.2.18 + time@0.3.36 +" +declare -A GIT_CRATES=( + [linkcheck]='https://github.com/ankitects/linkcheck;184b2ca50ed39ca43da13f0b830a463861adb9ca;linkcheck-%commit%' + [percent-encoding-iri]='https://github.com/ankitects/rust-url;bb930b8d089f4d30d7d19c12e54e66191de47b88;rust-url-%commit%/percent_encoding' +) +inherit cargo desktop edo multiprocessing ninja-utils optfeature \ + python-single-r1 readme.gentoo-r1 toolchain-funcs xdg + +DESCRIPTION="A spaced-repetition memory training program (flash cards)" +HOMEPAGE="https://apps.ankiweb.net/" + +# Don't forget to update COMMITS if PV changes. +# Update [node_modules] to the most recent commit hash until ${PV}, that +# changed yarn.lock. +# Oftentimes this file does not change between releases. This versioning +# scheme prevents unnecessary downloads of the (sizeable) node_modules +# folder. +declare -A COMMITS=( + [anki]="d678e39350a2d243242a69f4e22f5192b04398f2" + [ftl-core]="b4813a328f44c8224d2649adbdbcbef095db9a40" + [ftl-desktop]="b95608421ba2ba1cdca407933aff9ba25d567e12" + [node_modules]="b9a182d8e2f3a11b633a6d5fbb582e9e7d8a4f34" +) +SRC_URI="${CARGO_CRATE_URIS} + https://github.com/ankitects/anki/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz + https://github.com/ankitects/anki-core-i18n/archive/${COMMITS[ftl-core]}.tar.gz + -> anki-core-i18n-${COMMITS[ftl-core]}.gh.tar.gz + https://github.com/ankitects/anki-desktop-ftl/archive/${COMMITS[ftl-desktop]}.tar.gz + -> anki-desktop-ftl-${COMMITS[ftl-desktop]}.gh.tar.gz + gui? ( https://git.sr.ht/~antecrescent/gentoo-files/blob/main/app-misc/anki/anki-node_modules-${COMMITS[node_modules]}.tar.xz ) +" + +PATCHES=( + "${FILESDIR}"/${PV}/ninja-gentoo-setup.patch + "${FILESDIR}"/${PV}/remove-yarn.patch + "${FILESDIR}"/24.04.1/remove-mypy-protobuf.patch + "${FILESDIR}"/24.04.1/revert-cert-store-hack.patch + "${FILESDIR}"/24.04.1/rust-1.80.0.patch + "${FILESDIR}"/23.12.1/ninja-rules-for-cargo.patch + "${FILESDIR}"/23.12.1/remove-formatter-dep.patch +) + +# How to get an up-to-date summary of runtime JS libs' licenses: +# ./node_modules/.bin/license-checker-rseidelsohn --production --excludePackages anki --summary +LICENSE="AGPL-3+ BSD public-domain gui? ( 0BSD CC-BY-4.0 GPL-3+ Unlicense )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 CC0-1.0 ISC MIT + MPL-2.0 Unicode-DFS-2016 ZLIB +" +# Manually added crate licenses +LICENSE+=" Unicode-3.0 openssl" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="doc +gui test" +REQUIRED_USE="gui? ( ${PYTHON_REQUIRED_USE} )" +RESTRICT="!gui? ( test ) !test? ( test )" + +# Dependencies: +# Python: python/requirements.{anki,aqt}.in +# If ENABLE_QT5_COMPAT is set at runtime +# additionally depend on PyQt6[dbus,printsupport]. +# Qt: qt/{aqt/{sound.py,qt/*.py},tools/build_ui.py} +# app-misc/certificates: The rust backend library is built against +# rustls-native-certs to use the native certificate store. + +DEPEND=" + >=app-arch/zstd-1.5.5:= + dev-db/sqlite:3 +" +GUI_RDEPEND=" + ${PYTHON_DEPS} + dev-qt/qtsvg:6 + $(python_gen_cond_dep ' + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + dev-python/distro[${PYTHON_USEDEP}] + dev-python/decorator[${PYTHON_USEDEP}] + dev-python/flask[${PYTHON_USEDEP}] + dev-python/flask-cors[${PYTHON_USEDEP}] + dev-python/jsonschema[${PYTHON_USEDEP}] + dev-python/markdown[${PYTHON_USEDEP}] + dev-python/protobuf-python[${PYTHON_USEDEP}] + >=dev-python/PyQt6-6.6.1[gui,network,opengl,quick,webchannel,widgets,${PYTHON_USEDEP}] + >=dev-python/PyQt6-sip-13.6.0[${PYTHON_USEDEP}] + >=dev-python/PyQt6-WebEngine-6.6.0[widgets,${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/send2trash[${PYTHON_USEDEP}] + dev-python/waitress[${PYTHON_USEDEP}] + ') +" +RDEPEND=" + ${DEPEND} + app-misc/ca-certificates + gui? ( ${GUI_RDEPEND} ) +" + +BDEPEND=" + >=app-arch/zstd-1.5.5:= + dev-libs/protobuf + virtual/pkgconfig + doc? ( + $(python_gen_cond_dep ' + >=dev-python/sphinx-7.2.6[${PYTHON_USEDEP}] + dev-python/sphinx-autoapi[${PYTHON_USEDEP}] + dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}] + ') + ) + gui? ( + ${PYTHON_DEPS} + app-alternatives/ninja + app-arch/unzip + >=net-libs/nodejs-20.12.1 + sys-apps/yarn + $(python_gen_cond_dep ' + dev-python/PyQt6[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + ') + ) + test? ( + ${RDEPEND} + app-text/dvipng + app-text/texlive + dev-libs/openssl + dev-util/cargo-nextest + $(python_gen_cond_dep ' + dev-python/mock[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + ') + ) +" + +QA_FLAGS_IGNORED="usr/bin/anki-sync-server + usr/lib/python.*/site-packages/anki/_rsbridge.so" + +pkg_setup() { + export PROTOC_BINARY="${BROOT}"/usr/bin/protoc + export LIBSQLITE3_SYS_USE_PKG_CONFIG=1 + export ZSTD_SYS_USE_PKG_CONFIG=1 + + if use gui; then + python-single-r1_pkg_setup + export NODE_BINARY="${BROOT}"/usr/bin/node + export YARN_BINARY="${BROOT}"/usr/bin/yarn + export OFFLINE_BUILD=1 + if ! use debug; then + if tc-is-lto; then + export RELEASE=2 + else + export RELEASE=1 + fi + fi + fi + rust_pkg_setup +} + +src_prepare() { + default + rm -r ftl/{core,qt}-repo || die + ln -s "${WORKDIR}"/anki-core-i18n-${COMMITS[ftl-core]} ftl/core-repo || die + ln -s "${WORKDIR}"/anki-desktop-ftl-${COMMITS[ftl-desktop]} ftl/qt-repo || die + + mkdir out || die + echo -e "${COMMITS[anki]:0:8}" > out/buildhash || die + if use gui; then + mv "${WORKDIR}"/node_modules out || die + + # Some parts of the runner build system expect to be in a git repository + mkdir .git || die + + # Creating the pseudo venv early skips pip dependency checks in src_configure. + mkdir -p out/pyenv/bin || die + ln -s "${PYTHON}" out/pyenv/bin/python || die + # TODO: ln -s "${BROOT}/usr/bin/protoc-gen-mypy" out/pyenv/bin || die + if use doc; then + ln -s "${BROOT}"/usr/bin/sphinx-apidoc out/pyenv/bin || die + ln -s "${BROOT}"/usr/bin/sphinx-build out/pyenv/bin || die + fi + + # Fix hardcoded runner location + export CARGO_TARGET_DIR="${S}"/out/rust + cbuild_dir="$(CHOST=${CBUILD:-${CHOST}} cargo_target_dir)" + sed "s,rust/release,${cbuild_dir##*out/}," \ + -i build/ninja_gen/src/render.rs || die + + # Separate src_configure from runner build + sed '/ConfigureBuild/d' -i build/ninja_gen/src/build.rs || die + fi +} + +_cbuild_cargo_build() { + CHOST=${CBUILD:-${CHOST}} cargo_src_compile "${@}" +} + +src_configure() { + cargo_src_configure + if use gui; then + tc-env_build _cbuild_cargo_build -p configure + cargo_env edo "${cbuild_dir}"/configure + fi +} + +src_compile() { + if use gui; then + MY_RUNNER="cargo_env edo ${cbuild_dir}/runner build -- $(get_NINJAOPTS)" + unset cbuild_dir + + tc-env_build _cbuild_cargo_build -p runner + ${MY_RUNNER} wheels + use doc && ${MY_RUNNER} python:sphinx + else + cargo_src_compile --package anki-sync-server + fi +} + +src_test() { + ln -s "${BROOT}"/usr/bin/pytest out/pyenv/bin/pytest || die + mkdir out/bin || die + ln -s "${BROOT}"/usr/bin/cargo-nextest out/bin/cargo-nextest || die + + local nextest_opts=( + cargo-verbose + failure-output=immediate + status-level=all + test-threads=$(get_makeopts_jobs) + ) + # cargo-nextest respects Cargo's CARGO_TERM_COLOR variable + if [[ ! ${CARGO_TERM_COLOR} ]]; then + [[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && nextest_opts+=( color=never ) + fi + + nextest_opts=( ${nextest_opts[@]/#/--} ) + # Override hardcoded cargo-nextest options + sed -i -e "s/\(cargo nextest run\).*\\$/\1 ${nextest_opts[*]} \\$/" \ + "${S}"/build/ninja_gen/src/cargo.rs || die + + local runner + for runner in pytest rust_test vitest; do + ${MY_RUNNER} check:${runner} + done +} + +src_install() { + local DOC_CONTENTS="Users with add-ons that still rely on Anki's Qt5 GUI + can temporarily set the environment variable ENABLE_QT5_COMPAT to 1 to have + Anki install the previous compatibility code. This option has additional + runtime dependencies. Please take a look at this package's optional runtime + features for a complete listing. + \n\nENABLE_QT5_COMPAT may be removed in the future, so this is not a + long-term solution. + \n\nAnki's user manual is located online at https://docs.ankiweb.net/ + \nAnki's add-on developer manual is located online at + https://addon-docs.ankiweb.net/" + + readme.gentoo_create_doc + if use gui; then + pushd qt/bundle/lin > /dev/null || die + doman anki.1 + doicon anki.{png,xpm} + domenu anki.desktop + insinto /usr/share/mime/packages + doins anki.xml + popd || die + use doc && dodoc -r out/python/sphinx/html + + local w + for w in out/wheels/*.whl; do + unzip "${w}" -d out/wheels || die + done + python_domodule out/wheels/{anki,{,_}aqt,*.dist-info} + printf "#!/usr/bin/python3\nimport sys;from aqt import run;sys.exit(run())" > runanki || die + python_newscript runanki anki + else + cargo_src_install --path rslib/sync + fi +} + +pkg_postinst() { + ver_test ${REPLACING_VERSIONS} -lt 24.06.3-r1 && local FORCE_PRINT_ELOG=1 + readme.gentoo_print_elog + if use gui; then + xdg_pkg_postinst + optfeature "LaTeX in cards" "app-text/texlive[extra] app-text/dvipng" + optfeature "sound support" media-video/mpv media-video/mplayer + optfeature "recording support" "media-sound/lame[frontend] dev-python/PyQt6[multimedia]" + optfeature "faster database operations" dev-python/orjson + optfeature "compatibility with Qt5-dependent add-ons" dev-python/PyQt6[dbus,printsupport] + optfeature "Vulkan driver" "media-libs/vulkan-loader dev-qt/qtbase:6[vulkan] + dev-qt/qtdeclarative:6[vulkan] dev-qt/qtwebengine:6[vulkan]" + + einfo "You can customize the LaTeX header for your cards to fit your needs:" + einfo "Notes > Manage Note Types > [select a note type] > Options" + fi +} diff --git a/app-misc/battop/battop-0.2.4_p1-r1.ebuild b/app-misc/battop/battop-0.2.4_p1-r1.ebuild new file mode 100644 index 000000000000..330c3c977e1c --- /dev/null +++ b/app-misc/battop/battop-0.2.4_p1-r1.ebuild @@ -0,0 +1,113 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.12.1 + +EAPI=8 + +CRATES=" + android-tzdata@0.1.1 + android_system_properties@0.1.5 + atty@0.2.11 + autocfg@1.1.0 + battery@0.7.8 + bitflags@1.3.2 + bumpalo@3.14.0 + cassowary@0.3.0 + cc@1.0.83 + cfg-if@1.0.0 + chrono@0.4.31 + clap@2.34.0 + core-foundation-sys@0.7.0 + core-foundation-sys@0.8.4 + core-foundation@0.7.0 + either@1.9.0 + heck@0.3.3 + humantime@1.3.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.58 + itertools@0.8.2 + js-sys@0.3.65 + lazy_static@0.2.11 + lazycell@1.3.0 + libc@0.2.149 + log@0.4.20 + mach@0.3.2 + nix@0.19.1 + num-traits@0.2.17 + numtoa@0.1.0 + once_cell@1.18.0 + proc-macro2@0.4.30 + proc-macro2@1.0.69 + quick-error@1.2.3 + quote@0.6.13 + quote@1.0.33 + redox_syscall@0.2.16 + redox_termios@0.1.2 + stderrlog@0.4.3 + structopt-derive@0.2.18 + structopt@0.2.18 + syn@0.15.44 + syn@2.0.38 + termcolor@1.3.0 + termion@1.5.6 + textwrap@0.11.0 + thread_local@0.3.4 + tui@0.6.2 + typenum@1.17.0 + unicode-ident@1.0.12 + unicode-segmentation@1.10.1 + unicode-width@0.1.11 + unicode-xid@0.1.0 + unreachable@1.0.0 + uom@0.30.0 + void@1.0.2 + wasm-bindgen-backend@0.2.88 + wasm-bindgen-macro-support@0.2.88 + wasm-bindgen-macro@0.2.88 + wasm-bindgen-shared@0.2.88 + wasm-bindgen@0.2.88 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.51.1 + 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 +" + +inherit cargo + +COMMIT_HASH="0939060e19c814c03195f0e62e565882039eafcd" +DESCRIPTION="Interactive batteries viewer" +HOMEPAGE="https://github.com/frectonz/rust-battop" +SRC_URI=" + ${CARGO_CRATE_URIS} + https://github.com/svartalf/rust-battop/archive/${COMMIT_HASH}.tar.gz -> ${P}.gh.tar.gz +" +S="${WORKDIR}/rust-${PN}-${COMMIT_HASH}" + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" BSD-2 MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="/usr/bin/battop" + +DOCS=( + README.md + CHANGELOG.md +) + +src_install() { + cargo_src_install + + dodoc "${DOCS[@]}" +} diff --git a/app-misc/battop/battop-0.2.4_p1.ebuild b/app-misc/battop/battop-0.2.4_p1.ebuild deleted file mode 100644 index fc2e2043620b..000000000000 --- a/app-misc/battop/battop-0.2.4_p1.ebuild +++ /dev/null @@ -1,113 +0,0 @@ -# Copyright 2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.12.1 - -EAPI=8 - -CRATES=" - android-tzdata@0.1.1 - android_system_properties@0.1.5 - atty@0.2.11 - autocfg@1.1.0 - battery@0.7.8 - bitflags@1.3.2 - bumpalo@3.14.0 - cassowary@0.3.0 - cc@1.0.83 - cfg-if@1.0.0 - chrono@0.4.31 - clap@2.34.0 - core-foundation-sys@0.7.0 - core-foundation-sys@0.8.4 - core-foundation@0.7.0 - either@1.9.0 - heck@0.3.3 - humantime@1.3.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.58 - itertools@0.8.2 - js-sys@0.3.65 - lazy_static@0.2.11 - lazycell@1.3.0 - libc@0.2.149 - log@0.4.20 - mach@0.3.2 - nix@0.19.1 - num-traits@0.2.17 - numtoa@0.1.0 - once_cell@1.18.0 - proc-macro2@0.4.30 - proc-macro2@1.0.69 - quick-error@1.2.3 - quote@0.6.13 - quote@1.0.33 - redox_syscall@0.2.16 - redox_termios@0.1.2 - stderrlog@0.4.3 - structopt-derive@0.2.18 - structopt@0.2.18 - syn@0.15.44 - syn@2.0.38 - termcolor@1.3.0 - termion@1.5.6 - textwrap@0.11.0 - thread_local@0.3.4 - tui@0.6.2 - typenum@1.17.0 - unicode-ident@1.0.12 - unicode-segmentation@1.10.1 - unicode-width@0.1.11 - unicode-xid@0.1.0 - unreachable@1.0.0 - uom@0.30.0 - void@1.0.2 - wasm-bindgen-backend@0.2.88 - wasm-bindgen-macro-support@0.2.88 - wasm-bindgen-macro@0.2.88 - wasm-bindgen-shared@0.2.88 - wasm-bindgen@0.2.88 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.51.1 - 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 -" - -inherit cargo - -COMMIT_HASH="0939060e19c814c03195f0e62e565882039eafcd" -DESCRIPTION="Interactive batteries viewer" -HOMEPAGE="https://github.com/frectonz/rust-battop" -SRC_URI=" - ${CARGO_CRATE_URIS} - https://github.com/svartalf/rust-battop/archive/${COMMIT_HASH}.tar.gz -> ${P}.gh.tar.gz -" -S="${WORKDIR}/rust-${PN}-${COMMIT_HASH}" - -LICENSE="|| ( Apache-2.0 MIT )" -# Dependent crate licenses -LICENSE+=" BSD-2 MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64" - -QA_FLAGS_IGNORED="/usr/bin/battop" - -DOCS=( - README.md - CHANGELOG.md -) - -src_install() { - cargo_src_install - - dodoc "${DOCS[@]}" -} diff --git a/app-misc/broot/broot-1.39.1-r1.ebuild b/app-misc/broot/broot-1.39.1-r1.ebuild new file mode 100644 index 000000000000..f50fb99c83a9 --- /dev/null +++ b/app-misc/broot/broot-1.39.1-r1.ebuild @@ -0,0 +1,383 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +adler@1.0.2 +ahash@0.4.8 +aho-corasick@1.1.3 +android-tzdata@0.1.1 +android_system_properties@0.1.5 +ansi_colours@1.2.2 +anstream@0.6.14 +anstyle@1.0.7 +anstyle-parse@0.2.4 +anstyle-query@1.1.0 +anstyle-wincon@3.0.3 +anyhow@1.0.86 +argh@0.1.12 +argh_derive@0.1.12 +argh_shared@0.1.12 +arrayref@0.3.7 +arrayvec@0.7.4 +autocfg@1.3.0 +base64@0.13.1 +base64@0.21.7 +base64@0.22.1 +bet@1.0.3 +bincode@1.3.3 +bit_field@0.10.2 +bitflags@1.3.2 +bitflags@2.6.0 +block@0.1.6 +bstr@1.9.1 +bumpalo@3.16.0 +bytemuck@1.16.1 +byteorder@1.5.0 +cc@1.0.104 +cfg-if@1.0.0 +cfg_aliases@0.1.1 +char_reader@0.1.1 +chrono@0.4.38 +clap@4.5.8 +clap-help@1.2.0 +clap_builder@4.5.8 +clap_complete@4.5.7 +clap_derive@4.5.8 +clap_lex@0.7.1 +clap_mangen@0.2.22 +cli-log@2.0.0 +clipboard-win@4.5.0 +clipboard_macos@0.1.0 +color_quant@1.1.0 +colorchoice@1.0.1 +coolor@0.9.0 +core-foundation-sys@0.8.6 +crc32fast@1.4.2 +crokey@1.0.1 +crokey-proc_macros@1.0.1 +crossbeam@0.8.4 +crossbeam-channel@0.5.13 +crossbeam-deque@0.8.5 +crossbeam-epoch@0.9.18 +crossbeam-queue@0.3.11 +crossbeam-utils@0.8.20 +crossterm@0.27.0 +crossterm_winapi@0.9.1 +crunchy@0.2.2 +csv@1.3.0 +csv-core@0.1.11 +csv2svg@0.2.2 +custom_error@1.9.2 +data-url@0.3.1 +deranged@0.3.11 +deser-hjson@2.2.4 +directories@4.0.1 +directories@5.0.1 +dirs-sys@0.3.7 +dirs-sys@0.4.1 +doc-comment@0.3.3 +either@1.13.0 +equivalent@1.0.1 +errno@0.3.9 +error-code@2.3.1 +exr@1.72.0 +fallible-iterator@0.2.0 +fallible-streaming-iterator@0.1.9 +fastrand@2.1.0 +fdeflate@0.3.4 +file-size@1.0.3 +flate2@1.0.30 +float-cmp@0.9.0 +flume@0.11.0 +fnv@1.0.7 +fontconfig-parser@0.5.6 +fontdb@0.15.0 +form_urlencoded@1.2.1 +gethostname@0.3.0 +getrandom@0.2.15 +gif@0.12.0 +gif@0.13.1 +git2@0.14.4 +glassbench@0.4.1 +glob@0.3.1 +half@2.4.1 +hashbrown@0.9.1 +hashbrown@0.14.5 +hashlink@0.6.0 +heck@0.4.1 +heck@0.5.0 +home@0.5.9 +iana-time-zone@0.1.60 +iana-time-zone-haiku@0.1.2 +id-arena@2.2.1 +idna@0.5.0 +image@0.24.9 +imagesize@0.12.0 +include_dir@0.7.4 +include_dir_macros@0.7.4 +indexmap@2.2.6 +is_executable@1.0.1 +is_terminal_polyfill@1.70.0 +itoa@1.0.11 +jobserver@0.1.31 +jpeg-decoder@0.3.1 +js-sys@0.3.69 +kurbo@0.9.5 +lazy-regex@3.1.0 +lazy-regex-proc_macros@3.1.0 +lazy_static@1.5.0 +lebe@0.5.2 +lfs-core@0.11.2 +libc@0.2.155 +libgit2-sys@0.13.5+1.4.5 +libredox@0.1.3 +libsqlite3-sys@0.20.1 +libz-sys@1.1.18 +linked-hash-map@0.5.6 +linux-raw-sys@0.4.14 +lock_api@0.4.12 +log@0.4.22 +malloc_buf@0.0.6 +memchr@2.7.4 +memmap2@0.8.0 +memmap2@0.9.4 +memoffset@0.6.5 +memoffset@0.7.1 +minimad@0.13.1 +miniz_oxide@0.7.4 +mio@0.8.11 +nix@0.22.3 +nix@0.26.4 +nix@0.28.0 +normpath@1.2.0 +num-conv@0.1.0 +num-traits@0.2.19 +objc@0.2.7 +objc-foundation@0.1.1 +objc_id@0.1.1 +once_cell@1.19.0 +onig@6.4.0 +onig_sys@69.8.1 +open@1.7.1 +opener@0.6.1 +option-ext@0.2.0 +parking_lot@0.12.3 +parking_lot_core@0.9.10 +pathdiff@0.2.1 +percent-encoding@2.3.1 +phf@0.11.2 +phf_generator@0.11.2 +phf_macros@0.11.2 +phf_shared@0.11.2 +pico-args@0.5.0 +pkg-config@0.3.30 +plist@1.7.0 +png@0.17.13 +powerfmt@0.2.0 +proc-macro2@1.0.86 +proc-status@0.1.1 +qoi@0.4.1 +quick-xml@0.32.0 +quote@1.0.36 +rand@0.8.5 +rand_core@0.6.4 +rayon@1.10.0 +rayon-core@1.12.1 +rctree@0.5.0 +redox_syscall@0.5.2 +redox_users@0.4.5 +regex@1.10.5 +regex-automata@0.4.7 +regex-syntax@0.6.29 +regex-syntax@0.8.4 +resvg@0.36.0 +rgb@0.8.40 +roff@0.2.1 +roxmltree@0.18.1 +roxmltree@0.19.0 +rusqlite@0.24.2 +rustc-hash@1.1.0 +rustix@0.38.34 +rustybuzz@0.10.0 +ryu@1.0.18 +same-file@1.0.6 +scopeguard@1.2.0 +secular@1.0.1 +serde@1.0.203 +serde_derive@1.0.203 +serde_json@1.0.120 +serde_spanned@0.6.6 +signal-hook@0.3.17 +signal-hook-mio@0.2.3 +signal-hook-registry@1.4.2 +simd-adler32@0.3.7 +simplecss@0.2.1 +siphasher@0.3.11 +slotmap@1.0.7 +smallvec@1.13.2 +snafu@0.7.5 +snafu-derive@0.7.5 +spin@0.9.8 +splitty@1.0.1 +str-buf@1.0.6 +strict@0.1.4 +strict@0.2.0 +strict-num@0.1.1 +strsim@0.11.1 +svg@0.16.0 +svgtypes@0.12.0 +syn@1.0.109 +syn@2.0.68 +syntect-no-panic@4.6.1 +tempfile@3.10.1 +termimad@0.29.4 +terminal-clipboard@0.4.1 +terminal-light@1.4.0 +termux-clipboard@0.1.0 +thiserror@1.0.61 +thiserror-impl@1.0.61 +tiff@0.9.1 +time@0.3.36 +time-core@0.1.2 +time-macros@0.2.18 +tiny-skia@0.11.4 +tiny-skia-path@0.11.4 +tinyvec@1.6.1 +tinyvec_macros@0.1.1 +toml@0.8.14 +toml_datetime@0.6.6 +toml_edit@0.22.14 +trash@3.3.1 +ttf-parser@0.19.2 +umask@2.1.0 +unicode-bidi@0.3.15 +unicode-bidi-mirroring@0.1.0 +unicode-ccc@0.1.2 +unicode-ident@1.0.12 +unicode-normalization@0.1.23 +unicode-properties@0.1.1 +unicode-script@0.5.6 +unicode-vo@0.1.0 +unicode-width@0.1.13 +url@2.5.2 +usvg@0.36.0 +usvg-parser@0.36.0 +usvg-text-layout@0.36.0 +usvg-tree@0.36.0 +utf8parse@0.2.2 +uzers@0.11.3 +vcpkg@0.2.15 +version_check@0.9.4 +walkdir@2.5.0 +wasi@0.11.0+wasi-snapshot-preview1 +wasm-bindgen@0.2.92 +wasm-bindgen-backend@0.2.92 +wasm-bindgen-macro@0.2.92 +wasm-bindgen-macro-support@0.2.92 +wasm-bindgen-shared@0.2.92 +weezl@0.1.8 +which@4.4.2 +winapi@0.3.9 +winapi-i686-pc-windows-gnu@0.4.0 +winapi-util@0.1.8 +winapi-wsapoll@0.1.2 +winapi-x86_64-pc-windows-gnu@0.4.0 +windows@0.44.0 +windows-core@0.52.0 +windows-sys@0.48.0 +windows-sys@0.52.0 +windows-targets@0.42.2 +windows-targets@0.48.5 +windows-targets@0.52.6 +windows_aarch64_gnullvm@0.42.2 +windows_aarch64_gnullvm@0.48.5 +windows_aarch64_gnullvm@0.52.6 +windows_aarch64_msvc@0.42.2 +windows_aarch64_msvc@0.48.5 +windows_aarch64_msvc@0.52.6 +windows_i686_gnu@0.42.2 +windows_i686_gnu@0.48.5 +windows_i686_gnu@0.52.6 +windows_i686_gnullvm@0.52.6 +windows_i686_msvc@0.42.2 +windows_i686_msvc@0.48.5 +windows_i686_msvc@0.52.6 +windows_x86_64_gnu@0.42.2 +windows_x86_64_gnu@0.48.5 +windows_x86_64_gnu@0.52.6 +windows_x86_64_gnullvm@0.42.2 +windows_x86_64_gnullvm@0.48.5 +windows_x86_64_gnullvm@0.52.6 +windows_x86_64_msvc@0.42.2 +windows_x86_64_msvc@0.48.5 +windows_x86_64_msvc@0.52.6 +winnow@0.6.13 +x11-clipboard@0.8.1 +x11rb@0.12.0 +x11rb-protocol@0.12.0 +xmlparser@0.13.6 +xmlwriter@0.1.0 +xterm-query@0.3.0 +xterm-query@0.4.0 +yaml-rust@0.4.5 +zune-inflate@0.2.54 +" + +inherit bash-completion-r1 cargo + +DESCRIPTION="A new way to see and navigate directory trees" +HOMEPAGE="https://dystroy.org/broot/ https://github.com/Canop/broot" +SRC_URI="https://github.com/Canop/broot/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 BSD-2 BSD LGPL-3+ MIT ZLIB" +SLOT="0" +KEYWORDS="amd64" +IUSE="X" + +RDEPEND=" + dev-libs/libgit2:= + sys-libs/zlib + X? ( x11-libs/libxcb:= ) +" +DEPEND="${RDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_configure() { + export RUSTFLAGS="-Cstrip=none ${RUSTFLAGS}" #835400 + local myfeatures=( $(usev X clipboard) trash ) + + cargo_src_configure --no-default-features +} + +src_prepare() { + default + + local mandate=$(date -r man/page +'%Y/%m/%d' || die) + sed -e "s|#version|${PV}|" \ + -e "s|#date|${mandate}|" \ + man/page > "${T}"/${PN}.1 || die +} + +src_install() { + cargo_src_install + + doman "${T}"/${PN}.1 + + local build_dir=( "$(cargo_target_dir)"/build/${PN}-*/out ) + cd ${build_dir[0]} || die + + newbashcomp ${PN}.bash ${PN} + newbashcomp br.bash br + + insinto /usr/share/zsh/site-functions + doins _${PN} + doins _br + + insinto /usr/share/fish/vendor_completions.d + doins ${PN}.fish + doins br.fish +} diff --git a/app-misc/broot/broot-1.39.1.ebuild b/app-misc/broot/broot-1.39.1.ebuild deleted file mode 100644 index 69a4effdf7ac..000000000000 --- a/app-misc/broot/broot-1.39.1.ebuild +++ /dev/null @@ -1,384 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -adler@1.0.2 -ahash@0.4.8 -aho-corasick@1.1.3 -android-tzdata@0.1.1 -android_system_properties@0.1.5 -ansi_colours@1.2.2 -anstream@0.6.14 -anstyle@1.0.7 -anstyle-parse@0.2.4 -anstyle-query@1.1.0 -anstyle-wincon@3.0.3 -anyhow@1.0.86 -argh@0.1.12 -argh_derive@0.1.12 -argh_shared@0.1.12 -arrayref@0.3.7 -arrayvec@0.7.4 -autocfg@1.3.0 -base64@0.13.1 -base64@0.21.7 -base64@0.22.1 -bet@1.0.3 -bincode@1.3.3 -bit_field@0.10.2 -bitflags@1.3.2 -bitflags@2.6.0 -block@0.1.6 -bstr@1.9.1 -bumpalo@3.16.0 -bytemuck@1.16.1 -byteorder@1.5.0 -cc@1.0.104 -cfg-if@1.0.0 -cfg_aliases@0.1.1 -char_reader@0.1.1 -chrono@0.4.38 -clap@4.5.8 -clap-help@1.2.0 -clap_builder@4.5.8 -clap_complete@4.5.7 -clap_derive@4.5.8 -clap_lex@0.7.1 -clap_mangen@0.2.22 -cli-log@2.0.0 -clipboard-win@4.5.0 -clipboard_macos@0.1.0 -color_quant@1.1.0 -colorchoice@1.0.1 -coolor@0.9.0 -core-foundation-sys@0.8.6 -crc32fast@1.4.2 -crokey@1.0.1 -crokey-proc_macros@1.0.1 -crossbeam@0.8.4 -crossbeam-channel@0.5.13 -crossbeam-deque@0.8.5 -crossbeam-epoch@0.9.18 -crossbeam-queue@0.3.11 -crossbeam-utils@0.8.20 -crossterm@0.27.0 -crossterm_winapi@0.9.1 -crunchy@0.2.2 -csv@1.3.0 -csv-core@0.1.11 -csv2svg@0.2.2 -custom_error@1.9.2 -data-url@0.3.1 -deranged@0.3.11 -deser-hjson@2.2.4 -directories@4.0.1 -directories@5.0.1 -dirs-sys@0.3.7 -dirs-sys@0.4.1 -doc-comment@0.3.3 -either@1.13.0 -equivalent@1.0.1 -errno@0.3.9 -error-code@2.3.1 -exr@1.72.0 -fallible-iterator@0.2.0 -fallible-streaming-iterator@0.1.9 -fastrand@2.1.0 -fdeflate@0.3.4 -file-size@1.0.3 -flate2@1.0.30 -float-cmp@0.9.0 -flume@0.11.0 -fnv@1.0.7 -fontconfig-parser@0.5.6 -fontdb@0.15.0 -form_urlencoded@1.2.1 -gethostname@0.3.0 -getrandom@0.2.15 -gif@0.12.0 -gif@0.13.1 -git2@0.14.4 -glassbench@0.4.1 -glob@0.3.1 -half@2.4.1 -hashbrown@0.9.1 -hashbrown@0.14.5 -hashlink@0.6.0 -heck@0.4.1 -heck@0.5.0 -home@0.5.9 -iana-time-zone@0.1.60 -iana-time-zone-haiku@0.1.2 -id-arena@2.2.1 -idna@0.5.0 -image@0.24.9 -imagesize@0.12.0 -include_dir@0.7.4 -include_dir_macros@0.7.4 -indexmap@2.2.6 -is_executable@1.0.1 -is_terminal_polyfill@1.70.0 -itoa@1.0.11 -jobserver@0.1.31 -jpeg-decoder@0.3.1 -js-sys@0.3.69 -kurbo@0.9.5 -lazy-regex@3.1.0 -lazy-regex-proc_macros@3.1.0 -lazy_static@1.5.0 -lebe@0.5.2 -lfs-core@0.11.2 -libc@0.2.155 -libgit2-sys@0.13.5+1.4.5 -libredox@0.1.3 -libsqlite3-sys@0.20.1 -libz-sys@1.1.18 -linked-hash-map@0.5.6 -linux-raw-sys@0.4.14 -lock_api@0.4.12 -log@0.4.22 -malloc_buf@0.0.6 -memchr@2.7.4 -memmap2@0.8.0 -memmap2@0.9.4 -memoffset@0.6.5 -memoffset@0.7.1 -minimad@0.13.1 -miniz_oxide@0.7.4 -mio@0.8.11 -nix@0.22.3 -nix@0.26.4 -nix@0.28.0 -normpath@1.2.0 -num-conv@0.1.0 -num-traits@0.2.19 -objc@0.2.7 -objc-foundation@0.1.1 -objc_id@0.1.1 -once_cell@1.19.0 -onig@6.4.0 -onig_sys@69.8.1 -open@1.7.1 -opener@0.6.1 -option-ext@0.2.0 -parking_lot@0.12.3 -parking_lot_core@0.9.10 -pathdiff@0.2.1 -percent-encoding@2.3.1 -phf@0.11.2 -phf_generator@0.11.2 -phf_macros@0.11.2 -phf_shared@0.11.2 -pico-args@0.5.0 -pkg-config@0.3.30 -plist@1.7.0 -png@0.17.13 -powerfmt@0.2.0 -proc-macro2@1.0.86 -proc-status@0.1.1 -qoi@0.4.1 -quick-xml@0.32.0 -quote@1.0.36 -rand@0.8.5 -rand_core@0.6.4 -rayon@1.10.0 -rayon-core@1.12.1 -rctree@0.5.0 -redox_syscall@0.5.2 -redox_users@0.4.5 -regex@1.10.5 -regex-automata@0.4.7 -regex-syntax@0.6.29 -regex-syntax@0.8.4 -resvg@0.36.0 -rgb@0.8.40 -roff@0.2.1 -roxmltree@0.18.1 -roxmltree@0.19.0 -rusqlite@0.24.2 -rustc-hash@1.1.0 -rustix@0.38.34 -rustybuzz@0.10.0 -ryu@1.0.18 -same-file@1.0.6 -scopeguard@1.2.0 -secular@1.0.1 -serde@1.0.203 -serde_derive@1.0.203 -serde_json@1.0.120 -serde_spanned@0.6.6 -signal-hook@0.3.17 -signal-hook-mio@0.2.3 -signal-hook-registry@1.4.2 -simd-adler32@0.3.7 -simplecss@0.2.1 -siphasher@0.3.11 -slotmap@1.0.7 -smallvec@1.13.2 -snafu@0.7.5 -snafu-derive@0.7.5 -spin@0.9.8 -splitty@1.0.1 -str-buf@1.0.6 -strict@0.1.4 -strict@0.2.0 -strict-num@0.1.1 -strsim@0.11.1 -svg@0.16.0 -svgtypes@0.12.0 -syn@1.0.109 -syn@2.0.68 -syntect-no-panic@4.6.1 -tempfile@3.10.1 -termimad@0.29.4 -terminal-clipboard@0.4.1 -terminal-light@1.4.0 -termux-clipboard@0.1.0 -thiserror@1.0.61 -thiserror-impl@1.0.61 -tiff@0.9.1 -time@0.3.36 -time-core@0.1.2 -time-macros@0.2.18 -tiny-skia@0.11.4 -tiny-skia-path@0.11.4 -tinyvec@1.6.1 -tinyvec_macros@0.1.1 -toml@0.8.14 -toml_datetime@0.6.6 -toml_edit@0.22.14 -trash@3.3.1 -ttf-parser@0.19.2 -umask@2.1.0 -unicode-bidi@0.3.15 -unicode-bidi-mirroring@0.1.0 -unicode-ccc@0.1.2 -unicode-ident@1.0.12 -unicode-normalization@0.1.23 -unicode-properties@0.1.1 -unicode-script@0.5.6 -unicode-vo@0.1.0 -unicode-width@0.1.13 -url@2.5.2 -usvg@0.36.0 -usvg-parser@0.36.0 -usvg-text-layout@0.36.0 -usvg-tree@0.36.0 -utf8parse@0.2.2 -uzers@0.11.3 -vcpkg@0.2.15 -version_check@0.9.4 -walkdir@2.5.0 -wasi@0.11.0+wasi-snapshot-preview1 -wasm-bindgen@0.2.92 -wasm-bindgen-backend@0.2.92 -wasm-bindgen-macro@0.2.92 -wasm-bindgen-macro-support@0.2.92 -wasm-bindgen-shared@0.2.92 -weezl@0.1.8 -which@4.4.2 -winapi@0.3.9 -winapi-i686-pc-windows-gnu@0.4.0 -winapi-util@0.1.8 -winapi-wsapoll@0.1.2 -winapi-x86_64-pc-windows-gnu@0.4.0 -windows@0.44.0 -windows-core@0.52.0 -windows-sys@0.48.0 -windows-sys@0.52.0 -windows-targets@0.42.2 -windows-targets@0.48.5 -windows-targets@0.52.6 -windows_aarch64_gnullvm@0.42.2 -windows_aarch64_gnullvm@0.48.5 -windows_aarch64_gnullvm@0.52.6 -windows_aarch64_msvc@0.42.2 -windows_aarch64_msvc@0.48.5 -windows_aarch64_msvc@0.52.6 -windows_i686_gnu@0.42.2 -windows_i686_gnu@0.48.5 -windows_i686_gnu@0.52.6 -windows_i686_gnullvm@0.52.6 -windows_i686_msvc@0.42.2 -windows_i686_msvc@0.48.5 -windows_i686_msvc@0.52.6 -windows_x86_64_gnu@0.42.2 -windows_x86_64_gnu@0.48.5 -windows_x86_64_gnu@0.52.6 -windows_x86_64_gnullvm@0.42.2 -windows_x86_64_gnullvm@0.48.5 -windows_x86_64_gnullvm@0.52.6 -windows_x86_64_msvc@0.42.2 -windows_x86_64_msvc@0.48.5 -windows_x86_64_msvc@0.52.6 -winnow@0.6.13 -x11-clipboard@0.8.1 -x11rb@0.12.0 -x11rb-protocol@0.12.0 -xmlparser@0.13.6 -xmlwriter@0.1.0 -xterm-query@0.3.0 -xterm-query@0.4.0 -yaml-rust@0.4.5 -zune-inflate@0.2.54 -" - -inherit bash-completion-r1 cargo - -DESCRIPTION="A new way to see and navigate directory trees" -HOMEPAGE="https://dystroy.org/broot/ https://github.com/Canop/broot" -SRC_URI="https://github.com/Canop/broot/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - -LICENSE="Apache-2.0 BSD-2 BSD LGPL-3+ MIT ZLIB" -SLOT="0" -KEYWORDS="amd64" -IUSE="X" - -RDEPEND=" - dev-libs/libgit2:= - sys-libs/zlib - X? ( x11-libs/libxcb:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.65" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_configure() { - export RUSTFLAGS="-Cstrip=none ${RUSTFLAGS}" #835400 - local myfeatures=( $(usev X clipboard) trash ) - - cargo_src_configure --no-default-features -} - -src_prepare() { - default - - local mandate=$(date -r man/page +'%Y/%m/%d' || die) - sed -e "s|#version|${PV}|" \ - -e "s|#date|${mandate}|" \ - man/page > "${T}"/${PN}.1 || die -} - -src_install() { - cargo_src_install - - doman "${T}"/${PN}.1 - - local build_dir=( "$(cargo_target_dir)"/build/${PN}-*/out ) - cd ${build_dir[0]} || die - - newbashcomp ${PN}.bash ${PN} - newbashcomp br.bash br - - insinto /usr/share/zsh/site-functions - doins _${PN} - doins _br - - insinto /usr/share/fish/vendor_completions.d - doins ${PN}.fish - doins br.fish -} diff --git a/app-misc/broot/broot-1.40.0-r1.ebuild b/app-misc/broot/broot-1.40.0-r1.ebuild new file mode 100644 index 000000000000..f50fb99c83a9 --- /dev/null +++ b/app-misc/broot/broot-1.40.0-r1.ebuild @@ -0,0 +1,383 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +adler@1.0.2 +ahash@0.4.8 +aho-corasick@1.1.3 +android-tzdata@0.1.1 +android_system_properties@0.1.5 +ansi_colours@1.2.2 +anstream@0.6.14 +anstyle@1.0.7 +anstyle-parse@0.2.4 +anstyle-query@1.1.0 +anstyle-wincon@3.0.3 +anyhow@1.0.86 +argh@0.1.12 +argh_derive@0.1.12 +argh_shared@0.1.12 +arrayref@0.3.7 +arrayvec@0.7.4 +autocfg@1.3.0 +base64@0.13.1 +base64@0.21.7 +base64@0.22.1 +bet@1.0.3 +bincode@1.3.3 +bit_field@0.10.2 +bitflags@1.3.2 +bitflags@2.6.0 +block@0.1.6 +bstr@1.9.1 +bumpalo@3.16.0 +bytemuck@1.16.1 +byteorder@1.5.0 +cc@1.0.104 +cfg-if@1.0.0 +cfg_aliases@0.1.1 +char_reader@0.1.1 +chrono@0.4.38 +clap@4.5.8 +clap-help@1.2.0 +clap_builder@4.5.8 +clap_complete@4.5.7 +clap_derive@4.5.8 +clap_lex@0.7.1 +clap_mangen@0.2.22 +cli-log@2.0.0 +clipboard-win@4.5.0 +clipboard_macos@0.1.0 +color_quant@1.1.0 +colorchoice@1.0.1 +coolor@0.9.0 +core-foundation-sys@0.8.6 +crc32fast@1.4.2 +crokey@1.0.1 +crokey-proc_macros@1.0.1 +crossbeam@0.8.4 +crossbeam-channel@0.5.13 +crossbeam-deque@0.8.5 +crossbeam-epoch@0.9.18 +crossbeam-queue@0.3.11 +crossbeam-utils@0.8.20 +crossterm@0.27.0 +crossterm_winapi@0.9.1 +crunchy@0.2.2 +csv@1.3.0 +csv-core@0.1.11 +csv2svg@0.2.2 +custom_error@1.9.2 +data-url@0.3.1 +deranged@0.3.11 +deser-hjson@2.2.4 +directories@4.0.1 +directories@5.0.1 +dirs-sys@0.3.7 +dirs-sys@0.4.1 +doc-comment@0.3.3 +either@1.13.0 +equivalent@1.0.1 +errno@0.3.9 +error-code@2.3.1 +exr@1.72.0 +fallible-iterator@0.2.0 +fallible-streaming-iterator@0.1.9 +fastrand@2.1.0 +fdeflate@0.3.4 +file-size@1.0.3 +flate2@1.0.30 +float-cmp@0.9.0 +flume@0.11.0 +fnv@1.0.7 +fontconfig-parser@0.5.6 +fontdb@0.15.0 +form_urlencoded@1.2.1 +gethostname@0.3.0 +getrandom@0.2.15 +gif@0.12.0 +gif@0.13.1 +git2@0.14.4 +glassbench@0.4.1 +glob@0.3.1 +half@2.4.1 +hashbrown@0.9.1 +hashbrown@0.14.5 +hashlink@0.6.0 +heck@0.4.1 +heck@0.5.0 +home@0.5.9 +iana-time-zone@0.1.60 +iana-time-zone-haiku@0.1.2 +id-arena@2.2.1 +idna@0.5.0 +image@0.24.9 +imagesize@0.12.0 +include_dir@0.7.4 +include_dir_macros@0.7.4 +indexmap@2.2.6 +is_executable@1.0.1 +is_terminal_polyfill@1.70.0 +itoa@1.0.11 +jobserver@0.1.31 +jpeg-decoder@0.3.1 +js-sys@0.3.69 +kurbo@0.9.5 +lazy-regex@3.1.0 +lazy-regex-proc_macros@3.1.0 +lazy_static@1.5.0 +lebe@0.5.2 +lfs-core@0.11.2 +libc@0.2.155 +libgit2-sys@0.13.5+1.4.5 +libredox@0.1.3 +libsqlite3-sys@0.20.1 +libz-sys@1.1.18 +linked-hash-map@0.5.6 +linux-raw-sys@0.4.14 +lock_api@0.4.12 +log@0.4.22 +malloc_buf@0.0.6 +memchr@2.7.4 +memmap2@0.8.0 +memmap2@0.9.4 +memoffset@0.6.5 +memoffset@0.7.1 +minimad@0.13.1 +miniz_oxide@0.7.4 +mio@0.8.11 +nix@0.22.3 +nix@0.26.4 +nix@0.28.0 +normpath@1.2.0 +num-conv@0.1.0 +num-traits@0.2.19 +objc@0.2.7 +objc-foundation@0.1.1 +objc_id@0.1.1 +once_cell@1.19.0 +onig@6.4.0 +onig_sys@69.8.1 +open@1.7.1 +opener@0.6.1 +option-ext@0.2.0 +parking_lot@0.12.3 +parking_lot_core@0.9.10 +pathdiff@0.2.1 +percent-encoding@2.3.1 +phf@0.11.2 +phf_generator@0.11.2 +phf_macros@0.11.2 +phf_shared@0.11.2 +pico-args@0.5.0 +pkg-config@0.3.30 +plist@1.7.0 +png@0.17.13 +powerfmt@0.2.0 +proc-macro2@1.0.86 +proc-status@0.1.1 +qoi@0.4.1 +quick-xml@0.32.0 +quote@1.0.36 +rand@0.8.5 +rand_core@0.6.4 +rayon@1.10.0 +rayon-core@1.12.1 +rctree@0.5.0 +redox_syscall@0.5.2 +redox_users@0.4.5 +regex@1.10.5 +regex-automata@0.4.7 +regex-syntax@0.6.29 +regex-syntax@0.8.4 +resvg@0.36.0 +rgb@0.8.40 +roff@0.2.1 +roxmltree@0.18.1 +roxmltree@0.19.0 +rusqlite@0.24.2 +rustc-hash@1.1.0 +rustix@0.38.34 +rustybuzz@0.10.0 +ryu@1.0.18 +same-file@1.0.6 +scopeguard@1.2.0 +secular@1.0.1 +serde@1.0.203 +serde_derive@1.0.203 +serde_json@1.0.120 +serde_spanned@0.6.6 +signal-hook@0.3.17 +signal-hook-mio@0.2.3 +signal-hook-registry@1.4.2 +simd-adler32@0.3.7 +simplecss@0.2.1 +siphasher@0.3.11 +slotmap@1.0.7 +smallvec@1.13.2 +snafu@0.7.5 +snafu-derive@0.7.5 +spin@0.9.8 +splitty@1.0.1 +str-buf@1.0.6 +strict@0.1.4 +strict@0.2.0 +strict-num@0.1.1 +strsim@0.11.1 +svg@0.16.0 +svgtypes@0.12.0 +syn@1.0.109 +syn@2.0.68 +syntect-no-panic@4.6.1 +tempfile@3.10.1 +termimad@0.29.4 +terminal-clipboard@0.4.1 +terminal-light@1.4.0 +termux-clipboard@0.1.0 +thiserror@1.0.61 +thiserror-impl@1.0.61 +tiff@0.9.1 +time@0.3.36 +time-core@0.1.2 +time-macros@0.2.18 +tiny-skia@0.11.4 +tiny-skia-path@0.11.4 +tinyvec@1.6.1 +tinyvec_macros@0.1.1 +toml@0.8.14 +toml_datetime@0.6.6 +toml_edit@0.22.14 +trash@3.3.1 +ttf-parser@0.19.2 +umask@2.1.0 +unicode-bidi@0.3.15 +unicode-bidi-mirroring@0.1.0 +unicode-ccc@0.1.2 +unicode-ident@1.0.12 +unicode-normalization@0.1.23 +unicode-properties@0.1.1 +unicode-script@0.5.6 +unicode-vo@0.1.0 +unicode-width@0.1.13 +url@2.5.2 +usvg@0.36.0 +usvg-parser@0.36.0 +usvg-text-layout@0.36.0 +usvg-tree@0.36.0 +utf8parse@0.2.2 +uzers@0.11.3 +vcpkg@0.2.15 +version_check@0.9.4 +walkdir@2.5.0 +wasi@0.11.0+wasi-snapshot-preview1 +wasm-bindgen@0.2.92 +wasm-bindgen-backend@0.2.92 +wasm-bindgen-macro@0.2.92 +wasm-bindgen-macro-support@0.2.92 +wasm-bindgen-shared@0.2.92 +weezl@0.1.8 +which@4.4.2 +winapi@0.3.9 +winapi-i686-pc-windows-gnu@0.4.0 +winapi-util@0.1.8 +winapi-wsapoll@0.1.2 +winapi-x86_64-pc-windows-gnu@0.4.0 +windows@0.44.0 +windows-core@0.52.0 +windows-sys@0.48.0 +windows-sys@0.52.0 +windows-targets@0.42.2 +windows-targets@0.48.5 +windows-targets@0.52.6 +windows_aarch64_gnullvm@0.42.2 +windows_aarch64_gnullvm@0.48.5 +windows_aarch64_gnullvm@0.52.6 +windows_aarch64_msvc@0.42.2 +windows_aarch64_msvc@0.48.5 +windows_aarch64_msvc@0.52.6 +windows_i686_gnu@0.42.2 +windows_i686_gnu@0.48.5 +windows_i686_gnu@0.52.6 +windows_i686_gnullvm@0.52.6 +windows_i686_msvc@0.42.2 +windows_i686_msvc@0.48.5 +windows_i686_msvc@0.52.6 +windows_x86_64_gnu@0.42.2 +windows_x86_64_gnu@0.48.5 +windows_x86_64_gnu@0.52.6 +windows_x86_64_gnullvm@0.42.2 +windows_x86_64_gnullvm@0.48.5 +windows_x86_64_gnullvm@0.52.6 +windows_x86_64_msvc@0.42.2 +windows_x86_64_msvc@0.48.5 +windows_x86_64_msvc@0.52.6 +winnow@0.6.13 +x11-clipboard@0.8.1 +x11rb@0.12.0 +x11rb-protocol@0.12.0 +xmlparser@0.13.6 +xmlwriter@0.1.0 +xterm-query@0.3.0 +xterm-query@0.4.0 +yaml-rust@0.4.5 +zune-inflate@0.2.54 +" + +inherit bash-completion-r1 cargo + +DESCRIPTION="A new way to see and navigate directory trees" +HOMEPAGE="https://dystroy.org/broot/ https://github.com/Canop/broot" +SRC_URI="https://github.com/Canop/broot/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 BSD-2 BSD LGPL-3+ MIT ZLIB" +SLOT="0" +KEYWORDS="amd64" +IUSE="X" + +RDEPEND=" + dev-libs/libgit2:= + sys-libs/zlib + X? ( x11-libs/libxcb:= ) +" +DEPEND="${RDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_configure() { + export RUSTFLAGS="-Cstrip=none ${RUSTFLAGS}" #835400 + local myfeatures=( $(usev X clipboard) trash ) + + cargo_src_configure --no-default-features +} + +src_prepare() { + default + + local mandate=$(date -r man/page +'%Y/%m/%d' || die) + sed -e "s|#version|${PV}|" \ + -e "s|#date|${mandate}|" \ + man/page > "${T}"/${PN}.1 || die +} + +src_install() { + cargo_src_install + + doman "${T}"/${PN}.1 + + local build_dir=( "$(cargo_target_dir)"/build/${PN}-*/out ) + cd ${build_dir[0]} || die + + newbashcomp ${PN}.bash ${PN} + newbashcomp br.bash br + + insinto /usr/share/zsh/site-functions + doins _${PN} + doins _br + + insinto /usr/share/fish/vendor_completions.d + doins ${PN}.fish + doins br.fish +} diff --git a/app-misc/broot/broot-1.40.0.ebuild b/app-misc/broot/broot-1.40.0.ebuild deleted file mode 100644 index 69a4effdf7ac..000000000000 --- a/app-misc/broot/broot-1.40.0.ebuild +++ /dev/null @@ -1,384 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -adler@1.0.2 -ahash@0.4.8 -aho-corasick@1.1.3 -android-tzdata@0.1.1 -android_system_properties@0.1.5 -ansi_colours@1.2.2 -anstream@0.6.14 -anstyle@1.0.7 -anstyle-parse@0.2.4 -anstyle-query@1.1.0 -anstyle-wincon@3.0.3 -anyhow@1.0.86 -argh@0.1.12 -argh_derive@0.1.12 -argh_shared@0.1.12 -arrayref@0.3.7 -arrayvec@0.7.4 -autocfg@1.3.0 -base64@0.13.1 -base64@0.21.7 -base64@0.22.1 -bet@1.0.3 -bincode@1.3.3 -bit_field@0.10.2 -bitflags@1.3.2 -bitflags@2.6.0 -block@0.1.6 -bstr@1.9.1 -bumpalo@3.16.0 -bytemuck@1.16.1 -byteorder@1.5.0 -cc@1.0.104 -cfg-if@1.0.0 -cfg_aliases@0.1.1 -char_reader@0.1.1 -chrono@0.4.38 -clap@4.5.8 -clap-help@1.2.0 -clap_builder@4.5.8 -clap_complete@4.5.7 -clap_derive@4.5.8 -clap_lex@0.7.1 -clap_mangen@0.2.22 -cli-log@2.0.0 -clipboard-win@4.5.0 -clipboard_macos@0.1.0 -color_quant@1.1.0 -colorchoice@1.0.1 -coolor@0.9.0 -core-foundation-sys@0.8.6 -crc32fast@1.4.2 -crokey@1.0.1 -crokey-proc_macros@1.0.1 -crossbeam@0.8.4 -crossbeam-channel@0.5.13 -crossbeam-deque@0.8.5 -crossbeam-epoch@0.9.18 -crossbeam-queue@0.3.11 -crossbeam-utils@0.8.20 -crossterm@0.27.0 -crossterm_winapi@0.9.1 -crunchy@0.2.2 -csv@1.3.0 -csv-core@0.1.11 -csv2svg@0.2.2 -custom_error@1.9.2 -data-url@0.3.1 -deranged@0.3.11 -deser-hjson@2.2.4 -directories@4.0.1 -directories@5.0.1 -dirs-sys@0.3.7 -dirs-sys@0.4.1 -doc-comment@0.3.3 -either@1.13.0 -equivalent@1.0.1 -errno@0.3.9 -error-code@2.3.1 -exr@1.72.0 -fallible-iterator@0.2.0 -fallible-streaming-iterator@0.1.9 -fastrand@2.1.0 -fdeflate@0.3.4 -file-size@1.0.3 -flate2@1.0.30 -float-cmp@0.9.0 -flume@0.11.0 -fnv@1.0.7 -fontconfig-parser@0.5.6 -fontdb@0.15.0 -form_urlencoded@1.2.1 -gethostname@0.3.0 -getrandom@0.2.15 -gif@0.12.0 -gif@0.13.1 -git2@0.14.4 -glassbench@0.4.1 -glob@0.3.1 -half@2.4.1 -hashbrown@0.9.1 -hashbrown@0.14.5 -hashlink@0.6.0 -heck@0.4.1 -heck@0.5.0 -home@0.5.9 -iana-time-zone@0.1.60 -iana-time-zone-haiku@0.1.2 -id-arena@2.2.1 -idna@0.5.0 -image@0.24.9 -imagesize@0.12.0 -include_dir@0.7.4 -include_dir_macros@0.7.4 -indexmap@2.2.6 -is_executable@1.0.1 -is_terminal_polyfill@1.70.0 -itoa@1.0.11 -jobserver@0.1.31 -jpeg-decoder@0.3.1 -js-sys@0.3.69 -kurbo@0.9.5 -lazy-regex@3.1.0 -lazy-regex-proc_macros@3.1.0 -lazy_static@1.5.0 -lebe@0.5.2 -lfs-core@0.11.2 -libc@0.2.155 -libgit2-sys@0.13.5+1.4.5 -libredox@0.1.3 -libsqlite3-sys@0.20.1 -libz-sys@1.1.18 -linked-hash-map@0.5.6 -linux-raw-sys@0.4.14 -lock_api@0.4.12 -log@0.4.22 -malloc_buf@0.0.6 -memchr@2.7.4 -memmap2@0.8.0 -memmap2@0.9.4 -memoffset@0.6.5 -memoffset@0.7.1 -minimad@0.13.1 -miniz_oxide@0.7.4 -mio@0.8.11 -nix@0.22.3 -nix@0.26.4 -nix@0.28.0 -normpath@1.2.0 -num-conv@0.1.0 -num-traits@0.2.19 -objc@0.2.7 -objc-foundation@0.1.1 -objc_id@0.1.1 -once_cell@1.19.0 -onig@6.4.0 -onig_sys@69.8.1 -open@1.7.1 -opener@0.6.1 -option-ext@0.2.0 -parking_lot@0.12.3 -parking_lot_core@0.9.10 -pathdiff@0.2.1 -percent-encoding@2.3.1 -phf@0.11.2 -phf_generator@0.11.2 -phf_macros@0.11.2 -phf_shared@0.11.2 -pico-args@0.5.0 -pkg-config@0.3.30 -plist@1.7.0 -png@0.17.13 -powerfmt@0.2.0 -proc-macro2@1.0.86 -proc-status@0.1.1 -qoi@0.4.1 -quick-xml@0.32.0 -quote@1.0.36 -rand@0.8.5 -rand_core@0.6.4 -rayon@1.10.0 -rayon-core@1.12.1 -rctree@0.5.0 -redox_syscall@0.5.2 -redox_users@0.4.5 -regex@1.10.5 -regex-automata@0.4.7 -regex-syntax@0.6.29 -regex-syntax@0.8.4 -resvg@0.36.0 -rgb@0.8.40 -roff@0.2.1 -roxmltree@0.18.1 -roxmltree@0.19.0 -rusqlite@0.24.2 -rustc-hash@1.1.0 -rustix@0.38.34 -rustybuzz@0.10.0 -ryu@1.0.18 -same-file@1.0.6 -scopeguard@1.2.0 -secular@1.0.1 -serde@1.0.203 -serde_derive@1.0.203 -serde_json@1.0.120 -serde_spanned@0.6.6 -signal-hook@0.3.17 -signal-hook-mio@0.2.3 -signal-hook-registry@1.4.2 -simd-adler32@0.3.7 -simplecss@0.2.1 -siphasher@0.3.11 -slotmap@1.0.7 -smallvec@1.13.2 -snafu@0.7.5 -snafu-derive@0.7.5 -spin@0.9.8 -splitty@1.0.1 -str-buf@1.0.6 -strict@0.1.4 -strict@0.2.0 -strict-num@0.1.1 -strsim@0.11.1 -svg@0.16.0 -svgtypes@0.12.0 -syn@1.0.109 -syn@2.0.68 -syntect-no-panic@4.6.1 -tempfile@3.10.1 -termimad@0.29.4 -terminal-clipboard@0.4.1 -terminal-light@1.4.0 -termux-clipboard@0.1.0 -thiserror@1.0.61 -thiserror-impl@1.0.61 -tiff@0.9.1 -time@0.3.36 -time-core@0.1.2 -time-macros@0.2.18 -tiny-skia@0.11.4 -tiny-skia-path@0.11.4 -tinyvec@1.6.1 -tinyvec_macros@0.1.1 -toml@0.8.14 -toml_datetime@0.6.6 -toml_edit@0.22.14 -trash@3.3.1 -ttf-parser@0.19.2 -umask@2.1.0 -unicode-bidi@0.3.15 -unicode-bidi-mirroring@0.1.0 -unicode-ccc@0.1.2 -unicode-ident@1.0.12 -unicode-normalization@0.1.23 -unicode-properties@0.1.1 -unicode-script@0.5.6 -unicode-vo@0.1.0 -unicode-width@0.1.13 -url@2.5.2 -usvg@0.36.0 -usvg-parser@0.36.0 -usvg-text-layout@0.36.0 -usvg-tree@0.36.0 -utf8parse@0.2.2 -uzers@0.11.3 -vcpkg@0.2.15 -version_check@0.9.4 -walkdir@2.5.0 -wasi@0.11.0+wasi-snapshot-preview1 -wasm-bindgen@0.2.92 -wasm-bindgen-backend@0.2.92 -wasm-bindgen-macro@0.2.92 -wasm-bindgen-macro-support@0.2.92 -wasm-bindgen-shared@0.2.92 -weezl@0.1.8 -which@4.4.2 -winapi@0.3.9 -winapi-i686-pc-windows-gnu@0.4.0 -winapi-util@0.1.8 -winapi-wsapoll@0.1.2 -winapi-x86_64-pc-windows-gnu@0.4.0 -windows@0.44.0 -windows-core@0.52.0 -windows-sys@0.48.0 -windows-sys@0.52.0 -windows-targets@0.42.2 -windows-targets@0.48.5 -windows-targets@0.52.6 -windows_aarch64_gnullvm@0.42.2 -windows_aarch64_gnullvm@0.48.5 -windows_aarch64_gnullvm@0.52.6 -windows_aarch64_msvc@0.42.2 -windows_aarch64_msvc@0.48.5 -windows_aarch64_msvc@0.52.6 -windows_i686_gnu@0.42.2 -windows_i686_gnu@0.48.5 -windows_i686_gnu@0.52.6 -windows_i686_gnullvm@0.52.6 -windows_i686_msvc@0.42.2 -windows_i686_msvc@0.48.5 -windows_i686_msvc@0.52.6 -windows_x86_64_gnu@0.42.2 -windows_x86_64_gnu@0.48.5 -windows_x86_64_gnu@0.52.6 -windows_x86_64_gnullvm@0.42.2 -windows_x86_64_gnullvm@0.48.5 -windows_x86_64_gnullvm@0.52.6 -windows_x86_64_msvc@0.42.2 -windows_x86_64_msvc@0.48.5 -windows_x86_64_msvc@0.52.6 -winnow@0.6.13 -x11-clipboard@0.8.1 -x11rb@0.12.0 -x11rb-protocol@0.12.0 -xmlparser@0.13.6 -xmlwriter@0.1.0 -xterm-query@0.3.0 -xterm-query@0.4.0 -yaml-rust@0.4.5 -zune-inflate@0.2.54 -" - -inherit bash-completion-r1 cargo - -DESCRIPTION="A new way to see and navigate directory trees" -HOMEPAGE="https://dystroy.org/broot/ https://github.com/Canop/broot" -SRC_URI="https://github.com/Canop/broot/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - -LICENSE="Apache-2.0 BSD-2 BSD LGPL-3+ MIT ZLIB" -SLOT="0" -KEYWORDS="amd64" -IUSE="X" - -RDEPEND=" - dev-libs/libgit2:= - sys-libs/zlib - X? ( x11-libs/libxcb:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.65" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_configure() { - export RUSTFLAGS="-Cstrip=none ${RUSTFLAGS}" #835400 - local myfeatures=( $(usev X clipboard) trash ) - - cargo_src_configure --no-default-features -} - -src_prepare() { - default - - local mandate=$(date -r man/page +'%Y/%m/%d' || die) - sed -e "s|#version|${PV}|" \ - -e "s|#date|${mandate}|" \ - man/page > "${T}"/${PN}.1 || die -} - -src_install() { - cargo_src_install - - doman "${T}"/${PN}.1 - - local build_dir=( "$(cargo_target_dir)"/build/${PN}-*/out ) - cd ${build_dir[0]} || die - - newbashcomp ${PN}.bash ${PN} - newbashcomp br.bash br - - insinto /usr/share/zsh/site-functions - doins _${PN} - doins _br - - insinto /usr/share/fish/vendor_completions.d - doins ${PN}.fish - doins br.fish -} diff --git a/app-misc/broot/broot-1.41.1-r1.ebuild b/app-misc/broot/broot-1.41.1-r1.ebuild new file mode 100644 index 000000000000..2379a151314b --- /dev/null +++ b/app-misc/broot/broot-1.41.1-r1.ebuild @@ -0,0 +1,383 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +adler@1.0.2 +ahash@0.4.8 +aho-corasick@1.1.3 +android-tzdata@0.1.1 +android_system_properties@0.1.5 +ansi_colours@1.2.2 +anstream@0.6.14 +anstyle@1.0.7 +anstyle-parse@0.2.4 +anstyle-query@1.1.0 +anstyle-wincon@3.0.3 +anyhow@1.0.86 +argh@0.1.12 +argh_derive@0.1.12 +argh_shared@0.1.12 +arrayref@0.3.7 +arrayvec@0.7.4 +autocfg@1.3.0 +base64@0.13.1 +base64@0.21.7 +base64@0.22.1 +bet@1.0.3 +bincode@1.3.3 +bit_field@0.10.2 +bitflags@1.3.2 +bitflags@2.6.0 +block@0.1.6 +bstr@1.9.1 +bumpalo@3.16.0 +bytemuck@1.16.1 +byteorder@1.5.0 +cc@1.0.104 +cfg-if@1.0.0 +cfg_aliases@0.1.1 +char_reader@0.1.1 +chrono@0.4.38 +clap@4.5.8 +clap-help@1.2.0 +clap_builder@4.5.8 +clap_complete@4.5.7 +clap_derive@4.5.8 +clap_lex@0.7.1 +clap_mangen@0.2.22 +cli-log@2.0.0 +clipboard-win@4.5.0 +clipboard_macos@0.1.0 +color_quant@1.1.0 +colorchoice@1.0.1 +coolor@0.9.0 +core-foundation-sys@0.8.6 +crc32fast@1.4.2 +crokey@1.0.1 +crokey-proc_macros@1.0.1 +crossbeam@0.8.4 +crossbeam-channel@0.5.13 +crossbeam-deque@0.8.5 +crossbeam-epoch@0.9.18 +crossbeam-queue@0.3.11 +crossbeam-utils@0.8.20 +crossterm@0.27.0 +crossterm_winapi@0.9.1 +crunchy@0.2.2 +csv@1.3.0 +csv-core@0.1.11 +csv2svg@0.2.2 +custom_error@1.9.2 +data-url@0.3.1 +deranged@0.3.11 +deser-hjson@2.2.4 +directories@4.0.1 +directories@5.0.1 +dirs-sys@0.3.7 +dirs-sys@0.4.1 +doc-comment@0.3.3 +either@1.13.0 +equivalent@1.0.1 +errno@0.3.9 +error-code@2.3.1 +exr@1.72.0 +fallible-iterator@0.2.0 +fallible-streaming-iterator@0.1.9 +fastrand@2.1.0 +fdeflate@0.3.4 +file-size@1.0.3 +flate2@1.0.30 +float-cmp@0.9.0 +flume@0.11.0 +fnv@1.0.7 +fontconfig-parser@0.5.6 +fontdb@0.15.0 +form_urlencoded@1.2.1 +gethostname@0.3.0 +getrandom@0.2.15 +gif@0.12.0 +gif@0.13.1 +git2@0.14.4 +glassbench@0.4.1 +glob@0.3.1 +half@2.4.1 +hashbrown@0.9.1 +hashbrown@0.14.5 +hashlink@0.6.0 +heck@0.4.1 +heck@0.5.0 +home@0.5.9 +iana-time-zone@0.1.60 +iana-time-zone-haiku@0.1.2 +id-arena@2.2.1 +idna@0.5.0 +image@0.24.9 +imagesize@0.12.0 +include_dir@0.7.4 +include_dir_macros@0.7.4 +indexmap@2.2.6 +is_executable@1.0.1 +is_terminal_polyfill@1.70.0 +itoa@1.0.11 +jobserver@0.1.31 +jpeg-decoder@0.3.1 +js-sys@0.3.69 +kurbo@0.9.5 +lazy-regex@3.2.0 +lazy-regex-proc_macros@3.2.0 +lazy_static@1.5.0 +lebe@0.5.2 +lfs-core@0.11.2 +libc@0.2.155 +libgit2-sys@0.13.5+1.4.5 +libredox@0.1.3 +libsqlite3-sys@0.20.1 +libz-sys@1.1.18 +linked-hash-map@0.5.6 +linux-raw-sys@0.4.14 +lock_api@0.4.12 +log@0.4.22 +malloc_buf@0.0.6 +memchr@2.7.4 +memmap2@0.8.0 +memmap2@0.9.4 +memoffset@0.6.5 +memoffset@0.7.1 +minimad@0.13.1 +miniz_oxide@0.7.4 +mio@0.8.11 +nix@0.22.3 +nix@0.26.4 +nix@0.28.0 +normpath@1.2.0 +num-conv@0.1.0 +num-traits@0.2.19 +objc@0.2.7 +objc-foundation@0.1.1 +objc_id@0.1.1 +once_cell@1.19.0 +onig@6.4.0 +onig_sys@69.8.1 +open@1.7.1 +opener@0.6.1 +option-ext@0.2.0 +parking_lot@0.12.3 +parking_lot_core@0.9.10 +pathdiff@0.2.1 +percent-encoding@2.3.1 +phf@0.11.2 +phf_generator@0.11.2 +phf_macros@0.11.2 +phf_shared@0.11.2 +pico-args@0.5.0 +pkg-config@0.3.30 +plist@1.7.0 +png@0.17.13 +powerfmt@0.2.0 +proc-macro2@1.0.86 +proc-status@0.1.1 +qoi@0.4.1 +quick-xml@0.32.0 +quote@1.0.36 +rand@0.8.5 +rand_core@0.6.4 +rayon@1.10.0 +rayon-core@1.12.1 +rctree@0.5.0 +redox_syscall@0.5.2 +redox_users@0.4.5 +regex@1.10.5 +regex-automata@0.4.7 +regex-syntax@0.6.29 +regex-syntax@0.8.4 +resvg@0.36.0 +rgb@0.8.40 +roff@0.2.1 +roxmltree@0.18.1 +roxmltree@0.19.0 +rusqlite@0.24.2 +rustc-hash@1.1.0 +rustix@0.38.34 +rustybuzz@0.10.0 +ryu@1.0.18 +same-file@1.0.6 +scopeguard@1.2.0 +secular@1.0.1 +serde@1.0.203 +serde_derive@1.0.203 +serde_json@1.0.120 +serde_spanned@0.6.6 +signal-hook@0.3.17 +signal-hook-mio@0.2.3 +signal-hook-registry@1.4.2 +simd-adler32@0.3.7 +simplecss@0.2.1 +siphasher@0.3.11 +slotmap@1.0.7 +smallvec@1.13.2 +snafu@0.7.5 +snafu-derive@0.7.5 +spin@0.9.8 +splitty@1.0.2 +str-buf@1.0.6 +strict@0.1.4 +strict@0.2.0 +strict-num@0.1.1 +strsim@0.11.1 +svg@0.16.0 +svgtypes@0.12.0 +syn@1.0.109 +syn@2.0.68 +syntect-no-panic@4.6.1 +tempfile@3.10.1 +termimad@0.29.4 +terminal-clipboard@0.4.1 +terminal-light@1.4.0 +termux-clipboard@0.1.0 +thiserror@1.0.61 +thiserror-impl@1.0.61 +tiff@0.9.1 +time@0.3.36 +time-core@0.1.2 +time-macros@0.2.18 +tiny-skia@0.11.4 +tiny-skia-path@0.11.4 +tinyvec@1.6.1 +tinyvec_macros@0.1.1 +toml@0.8.14 +toml_datetime@0.6.6 +toml_edit@0.22.14 +trash@3.3.1 +ttf-parser@0.19.2 +umask@2.1.0 +unicode-bidi@0.3.15 +unicode-bidi-mirroring@0.1.0 +unicode-ccc@0.1.2 +unicode-ident@1.0.12 +unicode-normalization@0.1.23 +unicode-properties@0.1.1 +unicode-script@0.5.6 +unicode-vo@0.1.0 +unicode-width@0.1.13 +url@2.5.2 +usvg@0.36.0 +usvg-parser@0.36.0 +usvg-text-layout@0.36.0 +usvg-tree@0.36.0 +utf8parse@0.2.2 +uzers@0.11.3 +vcpkg@0.2.15 +version_check@0.9.4 +walkdir@2.5.0 +wasi@0.11.0+wasi-snapshot-preview1 +wasm-bindgen@0.2.92 +wasm-bindgen-backend@0.2.92 +wasm-bindgen-macro@0.2.92 +wasm-bindgen-macro-support@0.2.92 +wasm-bindgen-shared@0.2.92 +weezl@0.1.8 +which@4.4.2 +winapi@0.3.9 +winapi-i686-pc-windows-gnu@0.4.0 +winapi-util@0.1.8 +winapi-wsapoll@0.1.2 +winapi-x86_64-pc-windows-gnu@0.4.0 +windows@0.44.0 +windows-core@0.52.0 +windows-sys@0.48.0 +windows-sys@0.52.0 +windows-targets@0.42.2 +windows-targets@0.48.5 +windows-targets@0.52.6 +windows_aarch64_gnullvm@0.42.2 +windows_aarch64_gnullvm@0.48.5 +windows_aarch64_gnullvm@0.52.6 +windows_aarch64_msvc@0.42.2 +windows_aarch64_msvc@0.48.5 +windows_aarch64_msvc@0.52.6 +windows_i686_gnu@0.42.2 +windows_i686_gnu@0.48.5 +windows_i686_gnu@0.52.6 +windows_i686_gnullvm@0.52.6 +windows_i686_msvc@0.42.2 +windows_i686_msvc@0.48.5 +windows_i686_msvc@0.52.6 +windows_x86_64_gnu@0.42.2 +windows_x86_64_gnu@0.48.5 +windows_x86_64_gnu@0.52.6 +windows_x86_64_gnullvm@0.42.2 +windows_x86_64_gnullvm@0.48.5 +windows_x86_64_gnullvm@0.52.6 +windows_x86_64_msvc@0.42.2 +windows_x86_64_msvc@0.48.5 +windows_x86_64_msvc@0.52.6 +winnow@0.6.13 +x11-clipboard@0.8.1 +x11rb@0.12.0 +x11rb-protocol@0.12.0 +xmlparser@0.13.6 +xmlwriter@0.1.0 +xterm-query@0.3.0 +xterm-query@0.4.0 +yaml-rust@0.4.5 +zune-inflate@0.2.54 +" + +inherit bash-completion-r1 cargo + +DESCRIPTION="A new way to see and navigate directory trees" +HOMEPAGE="https://dystroy.org/broot/ https://github.com/Canop/broot" +SRC_URI="https://github.com/Canop/broot/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 BSD-2 BSD LGPL-3+ MIT ZLIB" +SLOT="0" +KEYWORDS="amd64" +IUSE="X" + +RDEPEND=" + dev-libs/libgit2:= + sys-libs/zlib + X? ( x11-libs/libxcb:= ) +" +DEPEND="${RDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_configure() { + export RUSTFLAGS="-Cstrip=none ${RUSTFLAGS}" #835400 + local myfeatures=( $(usev X clipboard) trash ) + + cargo_src_configure --no-default-features +} + +src_prepare() { + default + + local mandate=$(date -r man/page +'%Y/%m/%d' || die) + sed -e "s|#version|${PV}|" \ + -e "s|#date|${mandate}|" \ + man/page > "${T}"/${PN}.1 || die +} + +src_install() { + cargo_src_install + + doman "${T}"/${PN}.1 + + local build_dir=( "$(cargo_target_dir)"/build/${PN}-*/out ) + cd ${build_dir[0]} || die + + newbashcomp ${PN}.bash ${PN} + newbashcomp br.bash br + + insinto /usr/share/zsh/site-functions + doins _${PN} + doins _br + + insinto /usr/share/fish/vendor_completions.d + doins ${PN}.fish + doins br.fish +} diff --git a/app-misc/broot/broot-1.41.1.ebuild b/app-misc/broot/broot-1.41.1.ebuild deleted file mode 100644 index cf8bfec8f22d..000000000000 --- a/app-misc/broot/broot-1.41.1.ebuild +++ /dev/null @@ -1,384 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -adler@1.0.2 -ahash@0.4.8 -aho-corasick@1.1.3 -android-tzdata@0.1.1 -android_system_properties@0.1.5 -ansi_colours@1.2.2 -anstream@0.6.14 -anstyle@1.0.7 -anstyle-parse@0.2.4 -anstyle-query@1.1.0 -anstyle-wincon@3.0.3 -anyhow@1.0.86 -argh@0.1.12 -argh_derive@0.1.12 -argh_shared@0.1.12 -arrayref@0.3.7 -arrayvec@0.7.4 -autocfg@1.3.0 -base64@0.13.1 -base64@0.21.7 -base64@0.22.1 -bet@1.0.3 -bincode@1.3.3 -bit_field@0.10.2 -bitflags@1.3.2 -bitflags@2.6.0 -block@0.1.6 -bstr@1.9.1 -bumpalo@3.16.0 -bytemuck@1.16.1 -byteorder@1.5.0 -cc@1.0.104 -cfg-if@1.0.0 -cfg_aliases@0.1.1 -char_reader@0.1.1 -chrono@0.4.38 -clap@4.5.8 -clap-help@1.2.0 -clap_builder@4.5.8 -clap_complete@4.5.7 -clap_derive@4.5.8 -clap_lex@0.7.1 -clap_mangen@0.2.22 -cli-log@2.0.0 -clipboard-win@4.5.0 -clipboard_macos@0.1.0 -color_quant@1.1.0 -colorchoice@1.0.1 -coolor@0.9.0 -core-foundation-sys@0.8.6 -crc32fast@1.4.2 -crokey@1.0.1 -crokey-proc_macros@1.0.1 -crossbeam@0.8.4 -crossbeam-channel@0.5.13 -crossbeam-deque@0.8.5 -crossbeam-epoch@0.9.18 -crossbeam-queue@0.3.11 -crossbeam-utils@0.8.20 -crossterm@0.27.0 -crossterm_winapi@0.9.1 -crunchy@0.2.2 -csv@1.3.0 -csv-core@0.1.11 -csv2svg@0.2.2 -custom_error@1.9.2 -data-url@0.3.1 -deranged@0.3.11 -deser-hjson@2.2.4 -directories@4.0.1 -directories@5.0.1 -dirs-sys@0.3.7 -dirs-sys@0.4.1 -doc-comment@0.3.3 -either@1.13.0 -equivalent@1.0.1 -errno@0.3.9 -error-code@2.3.1 -exr@1.72.0 -fallible-iterator@0.2.0 -fallible-streaming-iterator@0.1.9 -fastrand@2.1.0 -fdeflate@0.3.4 -file-size@1.0.3 -flate2@1.0.30 -float-cmp@0.9.0 -flume@0.11.0 -fnv@1.0.7 -fontconfig-parser@0.5.6 -fontdb@0.15.0 -form_urlencoded@1.2.1 -gethostname@0.3.0 -getrandom@0.2.15 -gif@0.12.0 -gif@0.13.1 -git2@0.14.4 -glassbench@0.4.1 -glob@0.3.1 -half@2.4.1 -hashbrown@0.9.1 -hashbrown@0.14.5 -hashlink@0.6.0 -heck@0.4.1 -heck@0.5.0 -home@0.5.9 -iana-time-zone@0.1.60 -iana-time-zone-haiku@0.1.2 -id-arena@2.2.1 -idna@0.5.0 -image@0.24.9 -imagesize@0.12.0 -include_dir@0.7.4 -include_dir_macros@0.7.4 -indexmap@2.2.6 -is_executable@1.0.1 -is_terminal_polyfill@1.70.0 -itoa@1.0.11 -jobserver@0.1.31 -jpeg-decoder@0.3.1 -js-sys@0.3.69 -kurbo@0.9.5 -lazy-regex@3.2.0 -lazy-regex-proc_macros@3.2.0 -lazy_static@1.5.0 -lebe@0.5.2 -lfs-core@0.11.2 -libc@0.2.155 -libgit2-sys@0.13.5+1.4.5 -libredox@0.1.3 -libsqlite3-sys@0.20.1 -libz-sys@1.1.18 -linked-hash-map@0.5.6 -linux-raw-sys@0.4.14 -lock_api@0.4.12 -log@0.4.22 -malloc_buf@0.0.6 -memchr@2.7.4 -memmap2@0.8.0 -memmap2@0.9.4 -memoffset@0.6.5 -memoffset@0.7.1 -minimad@0.13.1 -miniz_oxide@0.7.4 -mio@0.8.11 -nix@0.22.3 -nix@0.26.4 -nix@0.28.0 -normpath@1.2.0 -num-conv@0.1.0 -num-traits@0.2.19 -objc@0.2.7 -objc-foundation@0.1.1 -objc_id@0.1.1 -once_cell@1.19.0 -onig@6.4.0 -onig_sys@69.8.1 -open@1.7.1 -opener@0.6.1 -option-ext@0.2.0 -parking_lot@0.12.3 -parking_lot_core@0.9.10 -pathdiff@0.2.1 -percent-encoding@2.3.1 -phf@0.11.2 -phf_generator@0.11.2 -phf_macros@0.11.2 -phf_shared@0.11.2 -pico-args@0.5.0 -pkg-config@0.3.30 -plist@1.7.0 -png@0.17.13 -powerfmt@0.2.0 -proc-macro2@1.0.86 -proc-status@0.1.1 -qoi@0.4.1 -quick-xml@0.32.0 -quote@1.0.36 -rand@0.8.5 -rand_core@0.6.4 -rayon@1.10.0 -rayon-core@1.12.1 -rctree@0.5.0 -redox_syscall@0.5.2 -redox_users@0.4.5 -regex@1.10.5 -regex-automata@0.4.7 -regex-syntax@0.6.29 -regex-syntax@0.8.4 -resvg@0.36.0 -rgb@0.8.40 -roff@0.2.1 -roxmltree@0.18.1 -roxmltree@0.19.0 -rusqlite@0.24.2 -rustc-hash@1.1.0 -rustix@0.38.34 -rustybuzz@0.10.0 -ryu@1.0.18 -same-file@1.0.6 -scopeguard@1.2.0 -secular@1.0.1 -serde@1.0.203 -serde_derive@1.0.203 -serde_json@1.0.120 -serde_spanned@0.6.6 -signal-hook@0.3.17 -signal-hook-mio@0.2.3 -signal-hook-registry@1.4.2 -simd-adler32@0.3.7 -simplecss@0.2.1 -siphasher@0.3.11 -slotmap@1.0.7 -smallvec@1.13.2 -snafu@0.7.5 -snafu-derive@0.7.5 -spin@0.9.8 -splitty@1.0.2 -str-buf@1.0.6 -strict@0.1.4 -strict@0.2.0 -strict-num@0.1.1 -strsim@0.11.1 -svg@0.16.0 -svgtypes@0.12.0 -syn@1.0.109 -syn@2.0.68 -syntect-no-panic@4.6.1 -tempfile@3.10.1 -termimad@0.29.4 -terminal-clipboard@0.4.1 -terminal-light@1.4.0 -termux-clipboard@0.1.0 -thiserror@1.0.61 -thiserror-impl@1.0.61 -tiff@0.9.1 -time@0.3.36 -time-core@0.1.2 -time-macros@0.2.18 -tiny-skia@0.11.4 -tiny-skia-path@0.11.4 -tinyvec@1.6.1 -tinyvec_macros@0.1.1 -toml@0.8.14 -toml_datetime@0.6.6 -toml_edit@0.22.14 -trash@3.3.1 -ttf-parser@0.19.2 -umask@2.1.0 -unicode-bidi@0.3.15 -unicode-bidi-mirroring@0.1.0 -unicode-ccc@0.1.2 -unicode-ident@1.0.12 -unicode-normalization@0.1.23 -unicode-properties@0.1.1 -unicode-script@0.5.6 -unicode-vo@0.1.0 -unicode-width@0.1.13 -url@2.5.2 -usvg@0.36.0 -usvg-parser@0.36.0 -usvg-text-layout@0.36.0 -usvg-tree@0.36.0 -utf8parse@0.2.2 -uzers@0.11.3 -vcpkg@0.2.15 -version_check@0.9.4 -walkdir@2.5.0 -wasi@0.11.0+wasi-snapshot-preview1 -wasm-bindgen@0.2.92 -wasm-bindgen-backend@0.2.92 -wasm-bindgen-macro@0.2.92 -wasm-bindgen-macro-support@0.2.92 -wasm-bindgen-shared@0.2.92 -weezl@0.1.8 -which@4.4.2 -winapi@0.3.9 -winapi-i686-pc-windows-gnu@0.4.0 -winapi-util@0.1.8 -winapi-wsapoll@0.1.2 -winapi-x86_64-pc-windows-gnu@0.4.0 -windows@0.44.0 -windows-core@0.52.0 -windows-sys@0.48.0 -windows-sys@0.52.0 -windows-targets@0.42.2 -windows-targets@0.48.5 -windows-targets@0.52.6 -windows_aarch64_gnullvm@0.42.2 -windows_aarch64_gnullvm@0.48.5 -windows_aarch64_gnullvm@0.52.6 -windows_aarch64_msvc@0.42.2 -windows_aarch64_msvc@0.48.5 -windows_aarch64_msvc@0.52.6 -windows_i686_gnu@0.42.2 -windows_i686_gnu@0.48.5 -windows_i686_gnu@0.52.6 -windows_i686_gnullvm@0.52.6 -windows_i686_msvc@0.42.2 -windows_i686_msvc@0.48.5 -windows_i686_msvc@0.52.6 -windows_x86_64_gnu@0.42.2 -windows_x86_64_gnu@0.48.5 -windows_x86_64_gnu@0.52.6 -windows_x86_64_gnullvm@0.42.2 -windows_x86_64_gnullvm@0.48.5 -windows_x86_64_gnullvm@0.52.6 -windows_x86_64_msvc@0.42.2 -windows_x86_64_msvc@0.48.5 -windows_x86_64_msvc@0.52.6 -winnow@0.6.13 -x11-clipboard@0.8.1 -x11rb@0.12.0 -x11rb-protocol@0.12.0 -xmlparser@0.13.6 -xmlwriter@0.1.0 -xterm-query@0.3.0 -xterm-query@0.4.0 -yaml-rust@0.4.5 -zune-inflate@0.2.54 -" - -inherit bash-completion-r1 cargo - -DESCRIPTION="A new way to see and navigate directory trees" -HOMEPAGE="https://dystroy.org/broot/ https://github.com/Canop/broot" -SRC_URI="https://github.com/Canop/broot/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - -LICENSE="Apache-2.0 BSD-2 BSD LGPL-3+ MIT ZLIB" -SLOT="0" -KEYWORDS="amd64" -IUSE="X" - -RDEPEND=" - dev-libs/libgit2:= - sys-libs/zlib - X? ( x11-libs/libxcb:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.76" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_configure() { - export RUSTFLAGS="-Cstrip=none ${RUSTFLAGS}" #835400 - local myfeatures=( $(usev X clipboard) trash ) - - cargo_src_configure --no-default-features -} - -src_prepare() { - default - - local mandate=$(date -r man/page +'%Y/%m/%d' || die) - sed -e "s|#version|${PV}|" \ - -e "s|#date|${mandate}|" \ - man/page > "${T}"/${PN}.1 || die -} - -src_install() { - cargo_src_install - - doman "${T}"/${PN}.1 - - local build_dir=( "$(cargo_target_dir)"/build/${PN}-*/out ) - cd ${build_dir[0]} || die - - newbashcomp ${PN}.bash ${PN} - newbashcomp br.bash br - - insinto /usr/share/zsh/site-functions - doins _${PN} - doins _br - - insinto /usr/share/fish/vendor_completions.d - doins ${PN}.fish - doins br.fish -} diff --git a/app-misc/broot/broot-1.42.0-r1.ebuild b/app-misc/broot/broot-1.42.0-r1.ebuild new file mode 100644 index 000000000000..15532af1196f --- /dev/null +++ b/app-misc/broot/broot-1.42.0-r1.ebuild @@ -0,0 +1,389 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +adler@1.0.2 +ahash@0.8.11 +aho-corasick@1.1.3 +android-tzdata@0.1.1 +android_system_properties@0.1.5 +ansi_colours@1.2.3 +anstream@0.6.15 +anstyle@1.0.8 +anstyle-parse@0.2.5 +anstyle-query@1.1.1 +anstyle-wincon@3.0.4 +anyhow@1.0.86 +argh@0.1.12 +argh_derive@0.1.12 +argh_shared@0.1.12 +arrayref@0.3.8 +arrayvec@0.7.4 +autocfg@1.3.0 +base64@0.13.1 +base64@0.21.7 +base64@0.22.1 +bet@1.0.3 +bincode@1.3.3 +bit_field@0.10.2 +bitflags@1.3.2 +bitflags@2.6.0 +block@0.1.6 +bstr@1.10.0 +bumpalo@3.16.0 +bytemuck@1.16.3 +byteorder@1.5.0 +cc@1.1.12 +cfg-if@1.0.0 +cfg_aliases@0.2.1 +char_reader@0.1.1 +chrono@0.4.38 +clap@4.5.15 +clap-help@1.3.0 +clap_builder@4.5.15 +clap_complete@4.5.16 +clap_derive@4.5.13 +clap_lex@0.7.2 +clap_mangen@0.2.23 +cli-log@2.0.0 +clipboard-win@4.5.0 +clipboard_macos@0.1.0 +color_quant@1.1.0 +colorchoice@1.0.2 +coolor@1.0.0 +core-foundation-sys@0.8.7 +crc32fast@1.4.2 +crokey@1.1.0 +crokey-proc_macros@1.1.0 +crossbeam@0.8.4 +crossbeam-channel@0.5.13 +crossbeam-deque@0.8.5 +crossbeam-epoch@0.9.18 +crossbeam-queue@0.3.11 +crossbeam-utils@0.8.20 +crossterm@0.28.1 +crossterm_winapi@0.9.1 +crunchy@0.2.2 +csv@1.3.0 +csv-core@0.1.11 +csv2svg@0.2.3 +custom_error@1.9.2 +data-url@0.3.1 +deranged@0.3.11 +deser-hjson@2.2.4 +directories@4.0.1 +directories@5.0.1 +dirs-sys@0.3.7 +dirs-sys@0.4.1 +doc-comment@0.3.3 +either@1.13.0 +equivalent@1.0.1 +errno@0.3.9 +error-code@2.3.1 +exr@1.72.0 +fallible-iterator@0.3.0 +fallible-streaming-iterator@0.1.9 +fastrand@2.1.0 +fdeflate@0.3.4 +file-size@1.0.3 +flate2@1.0.31 +float-cmp@0.9.0 +flume@0.11.0 +fnv@1.0.7 +fontconfig-parser@0.5.7 +fontdb@0.15.0 +form_urlencoded@1.2.1 +gethostname@0.3.0 +getrandom@0.2.15 +gif@0.12.0 +gif@0.13.1 +git2@0.19.0 +glassbench@0.4.3 +glob@0.3.1 +half@2.4.1 +hashbrown@0.14.5 +hashlink@0.9.1 +heck@0.4.1 +heck@0.5.0 +hermit-abi@0.3.9 +home@0.5.9 +iana-time-zone@0.1.60 +iana-time-zone-haiku@0.1.2 +id-arena@2.2.1 +idna@0.5.0 +image@0.24.9 +imagesize@0.12.0 +include_dir@0.7.4 +include_dir_macros@0.7.4 +indexmap@2.4.0 +is_executable@1.0.1 +is_terminal_polyfill@1.70.1 +itoa@1.0.11 +jobserver@0.1.32 +jpeg-decoder@0.3.1 +js-sys@0.3.70 +kurbo@0.9.5 +lazy-regex@3.2.0 +lazy-regex-proc_macros@3.2.0 +lazy_static@1.5.0 +lebe@0.5.2 +lfs-core@0.11.2 +libc@0.2.155 +libgit2-sys@0.17.0+1.8.1 +libredox@0.1.3 +libsqlite3-sys@0.28.0 +libz-sys@1.1.19 +linked-hash-map@0.5.6 +linux-raw-sys@0.4.14 +lock_api@0.4.12 +log@0.4.22 +malloc_buf@0.0.6 +memchr@2.7.4 +memmap2@0.8.0 +memmap2@0.9.4 +memoffset@0.6.5 +memoffset@0.7.1 +minimad@0.13.1 +miniz_oxide@0.7.4 +mio@0.8.11 +mio@1.0.2 +nix@0.22.3 +nix@0.26.4 +nix@0.29.0 +normpath@1.3.0 +num-conv@0.1.0 +num-traits@0.2.19 +objc@0.2.7 +objc-foundation@0.1.1 +objc_id@0.1.1 +once_cell@1.19.0 +onig@6.4.0 +onig_sys@69.8.1 +open@1.7.1 +opener@0.6.1 +option-ext@0.2.0 +parking_lot@0.12.3 +parking_lot_core@0.9.10 +pathdiff@0.2.1 +percent-encoding@2.3.1 +phf@0.11.2 +phf_generator@0.11.2 +phf_macros@0.11.2 +phf_shared@0.11.2 +pico-args@0.5.0 +pkg-config@0.3.30 +plist@1.7.0 +png@0.17.13 +powerfmt@0.2.0 +proc-macro2@1.0.86 +proc-status@0.1.1 +qoi@0.4.1 +quick-xml@0.32.0 +quote@1.0.36 +rand@0.8.5 +rand_core@0.6.4 +rayon@1.10.0 +rayon-core@1.12.1 +rctree@0.5.0 +redox_syscall@0.5.3 +redox_users@0.4.5 +regex@1.10.6 +regex-automata@0.4.7 +regex-syntax@0.6.29 +regex-syntax@0.8.4 +resvg@0.36.0 +rgb@0.8.48 +roff@0.2.2 +roxmltree@0.18.1 +roxmltree@0.20.0 +rusqlite@0.31.0 +rustc-hash@1.1.0 +rustix@0.38.34 +rustybuzz@0.10.0 +ryu@1.0.18 +same-file@1.0.6 +scopeguard@1.2.0 +secular@1.0.1 +serde@1.0.207 +serde_derive@1.0.207 +serde_json@1.0.125 +serde_spanned@0.6.7 +shlex@1.3.0 +signal-hook@0.3.17 +signal-hook-mio@0.2.4 +signal-hook-registry@1.4.2 +simd-adler32@0.3.7 +simplecss@0.2.1 +siphasher@0.3.11 +slotmap@1.0.7 +smallvec@1.13.2 +snafu@0.7.5 +snafu-derive@0.7.5 +spin@0.9.8 +splitty@1.0.2 +str-buf@1.0.6 +strict@0.1.4 +strict@0.2.0 +strict-num@0.1.1 +strsim@0.11.1 +svg@0.16.0 +svgtypes@0.12.0 +syn@1.0.109 +syn@2.0.74 +syntect-no-panic@4.6.1 +tempfile@3.12.0 +termimad@0.30.0 +terminal-clipboard@0.4.1 +terminal-light@1.5.0 +termux-clipboard@0.1.0 +thiserror@1.0.63 +thiserror-impl@1.0.63 +tiff@0.9.1 +time@0.3.36 +time-core@0.1.2 +time-macros@0.2.18 +tiny-skia@0.11.4 +tiny-skia-path@0.11.4 +tinyvec@1.8.0 +tinyvec_macros@0.1.1 +toml@0.8.19 +toml_datetime@0.6.8 +toml_edit@0.22.20 +trash@3.3.1 +ttf-parser@0.19.2 +umask@2.1.0 +unicode-bidi@0.3.15 +unicode-bidi-mirroring@0.1.0 +unicode-ccc@0.1.2 +unicode-ident@1.0.12 +unicode-normalization@0.1.23 +unicode-properties@0.1.1 +unicode-script@0.5.6 +unicode-vo@0.1.0 +unicode-width@0.1.13 +url@2.5.2 +usvg@0.36.0 +usvg-parser@0.36.0 +usvg-text-layout@0.36.0 +usvg-tree@0.36.0 +utf8parse@0.2.2 +uzers@0.11.3 +vcpkg@0.2.15 +version_check@0.9.5 +walkdir@2.5.0 +wasi@0.11.0+wasi-snapshot-preview1 +wasm-bindgen@0.2.93 +wasm-bindgen-backend@0.2.93 +wasm-bindgen-macro@0.2.93 +wasm-bindgen-macro-support@0.2.93 +wasm-bindgen-shared@0.2.93 +weezl@0.1.8 +which@4.4.2 +winapi@0.3.9 +winapi-i686-pc-windows-gnu@0.4.0 +winapi-util@0.1.9 +winapi-wsapoll@0.1.2 +winapi-x86_64-pc-windows-gnu@0.4.0 +windows@0.44.0 +windows-core@0.52.0 +windows-sys@0.48.0 +windows-sys@0.52.0 +windows-sys@0.59.0 +windows-targets@0.42.2 +windows-targets@0.48.5 +windows-targets@0.52.6 +windows_aarch64_gnullvm@0.42.2 +windows_aarch64_gnullvm@0.48.5 +windows_aarch64_gnullvm@0.52.6 +windows_aarch64_msvc@0.42.2 +windows_aarch64_msvc@0.48.5 +windows_aarch64_msvc@0.52.6 +windows_i686_gnu@0.42.2 +windows_i686_gnu@0.48.5 +windows_i686_gnu@0.52.6 +windows_i686_gnullvm@0.52.6 +windows_i686_msvc@0.42.2 +windows_i686_msvc@0.48.5 +windows_i686_msvc@0.52.6 +windows_x86_64_gnu@0.42.2 +windows_x86_64_gnu@0.48.5 +windows_x86_64_gnu@0.52.6 +windows_x86_64_gnullvm@0.42.2 +windows_x86_64_gnullvm@0.48.5 +windows_x86_64_gnullvm@0.52.6 +windows_x86_64_msvc@0.42.2 +windows_x86_64_msvc@0.48.5 +windows_x86_64_msvc@0.52.6 +winnow@0.6.18 +x11-clipboard@0.8.1 +x11rb@0.12.0 +x11rb-protocol@0.12.0 +xmlparser@0.13.6 +xmlwriter@0.1.0 +xterm-query@0.3.0 +xterm-query@0.4.1 +yaml-rust@0.4.5 +zerocopy@0.7.35 +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" +HOMEPAGE="https://dystroy.org/broot/ https://github.com/Canop/broot" +SRC_URI="https://github.com/Canop/broot/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 BSD-2 BSD LGPL-3+ MIT ZLIB" +SLOT="0" +KEYWORDS="amd64" +IUSE="X" + +RDEPEND=" + dev-libs/libgit2:= + sys-libs/zlib + X? ( x11-libs/libxcb:= ) +" +DEPEND="${RDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_configure() { + export RUSTFLAGS="-Cstrip=none ${RUSTFLAGS}" #835400 + local myfeatures=( $(usev X clipboard) trash ) + + cargo_src_configure --no-default-features +} + +src_prepare() { + default + + local mandate=$(date -r man/page +'%Y/%m/%d' || die) + sed -e "s|#version|${PV}|" \ + -e "s|#date|${mandate}|" \ + man/page > "${T}"/${PN}.1 || die +} + +src_install() { + cargo_src_install + + doman "${T}"/${PN}.1 + + local build_dir=( "$(cargo_target_dir)"/build/${PN}-*/out ) + cd ${build_dir[0]} || die + + newbashcomp ${PN}.bash ${PN} + newbashcomp br.bash br + + insinto /usr/share/zsh/site-functions + doins _${PN} + doins _br + + insinto /usr/share/fish/vendor_completions.d + doins ${PN}.fish + doins br.fish +} diff --git a/app-misc/broot/broot-1.42.0.ebuild b/app-misc/broot/broot-1.42.0.ebuild deleted file mode 100644 index ec4dd63e7847..000000000000 --- a/app-misc/broot/broot-1.42.0.ebuild +++ /dev/null @@ -1,389 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -adler@1.0.2 -ahash@0.8.11 -aho-corasick@1.1.3 -android-tzdata@0.1.1 -android_system_properties@0.1.5 -ansi_colours@1.2.3 -anstream@0.6.15 -anstyle@1.0.8 -anstyle-parse@0.2.5 -anstyle-query@1.1.1 -anstyle-wincon@3.0.4 -anyhow@1.0.86 -argh@0.1.12 -argh_derive@0.1.12 -argh_shared@0.1.12 -arrayref@0.3.8 -arrayvec@0.7.4 -autocfg@1.3.0 -base64@0.13.1 -base64@0.21.7 -base64@0.22.1 -bet@1.0.3 -bincode@1.3.3 -bit_field@0.10.2 -bitflags@1.3.2 -bitflags@2.6.0 -block@0.1.6 -bstr@1.10.0 -bumpalo@3.16.0 -bytemuck@1.16.3 -byteorder@1.5.0 -cc@1.1.12 -cfg-if@1.0.0 -cfg_aliases@0.2.1 -char_reader@0.1.1 -chrono@0.4.38 -clap@4.5.15 -clap-help@1.3.0 -clap_builder@4.5.15 -clap_complete@4.5.16 -clap_derive@4.5.13 -clap_lex@0.7.2 -clap_mangen@0.2.23 -cli-log@2.0.0 -clipboard-win@4.5.0 -clipboard_macos@0.1.0 -color_quant@1.1.0 -colorchoice@1.0.2 -coolor@1.0.0 -core-foundation-sys@0.8.7 -crc32fast@1.4.2 -crokey@1.1.0 -crokey-proc_macros@1.1.0 -crossbeam@0.8.4 -crossbeam-channel@0.5.13 -crossbeam-deque@0.8.5 -crossbeam-epoch@0.9.18 -crossbeam-queue@0.3.11 -crossbeam-utils@0.8.20 -crossterm@0.28.1 -crossterm_winapi@0.9.1 -crunchy@0.2.2 -csv@1.3.0 -csv-core@0.1.11 -csv2svg@0.2.3 -custom_error@1.9.2 -data-url@0.3.1 -deranged@0.3.11 -deser-hjson@2.2.4 -directories@4.0.1 -directories@5.0.1 -dirs-sys@0.3.7 -dirs-sys@0.4.1 -doc-comment@0.3.3 -either@1.13.0 -equivalent@1.0.1 -errno@0.3.9 -error-code@2.3.1 -exr@1.72.0 -fallible-iterator@0.3.0 -fallible-streaming-iterator@0.1.9 -fastrand@2.1.0 -fdeflate@0.3.4 -file-size@1.0.3 -flate2@1.0.31 -float-cmp@0.9.0 -flume@0.11.0 -fnv@1.0.7 -fontconfig-parser@0.5.7 -fontdb@0.15.0 -form_urlencoded@1.2.1 -gethostname@0.3.0 -getrandom@0.2.15 -gif@0.12.0 -gif@0.13.1 -git2@0.19.0 -glassbench@0.4.3 -glob@0.3.1 -half@2.4.1 -hashbrown@0.14.5 -hashlink@0.9.1 -heck@0.4.1 -heck@0.5.0 -hermit-abi@0.3.9 -home@0.5.9 -iana-time-zone@0.1.60 -iana-time-zone-haiku@0.1.2 -id-arena@2.2.1 -idna@0.5.0 -image@0.24.9 -imagesize@0.12.0 -include_dir@0.7.4 -include_dir_macros@0.7.4 -indexmap@2.4.0 -is_executable@1.0.1 -is_terminal_polyfill@1.70.1 -itoa@1.0.11 -jobserver@0.1.32 -jpeg-decoder@0.3.1 -js-sys@0.3.70 -kurbo@0.9.5 -lazy-regex@3.2.0 -lazy-regex-proc_macros@3.2.0 -lazy_static@1.5.0 -lebe@0.5.2 -lfs-core@0.11.2 -libc@0.2.155 -libgit2-sys@0.17.0+1.8.1 -libredox@0.1.3 -libsqlite3-sys@0.28.0 -libz-sys@1.1.19 -linked-hash-map@0.5.6 -linux-raw-sys@0.4.14 -lock_api@0.4.12 -log@0.4.22 -malloc_buf@0.0.6 -memchr@2.7.4 -memmap2@0.8.0 -memmap2@0.9.4 -memoffset@0.6.5 -memoffset@0.7.1 -minimad@0.13.1 -miniz_oxide@0.7.4 -mio@0.8.11 -mio@1.0.2 -nix@0.22.3 -nix@0.26.4 -nix@0.29.0 -normpath@1.3.0 -num-conv@0.1.0 -num-traits@0.2.19 -objc@0.2.7 -objc-foundation@0.1.1 -objc_id@0.1.1 -once_cell@1.19.0 -onig@6.4.0 -onig_sys@69.8.1 -open@1.7.1 -opener@0.6.1 -option-ext@0.2.0 -parking_lot@0.12.3 -parking_lot_core@0.9.10 -pathdiff@0.2.1 -percent-encoding@2.3.1 -phf@0.11.2 -phf_generator@0.11.2 -phf_macros@0.11.2 -phf_shared@0.11.2 -pico-args@0.5.0 -pkg-config@0.3.30 -plist@1.7.0 -png@0.17.13 -powerfmt@0.2.0 -proc-macro2@1.0.86 -proc-status@0.1.1 -qoi@0.4.1 -quick-xml@0.32.0 -quote@1.0.36 -rand@0.8.5 -rand_core@0.6.4 -rayon@1.10.0 -rayon-core@1.12.1 -rctree@0.5.0 -redox_syscall@0.5.3 -redox_users@0.4.5 -regex@1.10.6 -regex-automata@0.4.7 -regex-syntax@0.6.29 -regex-syntax@0.8.4 -resvg@0.36.0 -rgb@0.8.48 -roff@0.2.2 -roxmltree@0.18.1 -roxmltree@0.20.0 -rusqlite@0.31.0 -rustc-hash@1.1.0 -rustix@0.38.34 -rustybuzz@0.10.0 -ryu@1.0.18 -same-file@1.0.6 -scopeguard@1.2.0 -secular@1.0.1 -serde@1.0.207 -serde_derive@1.0.207 -serde_json@1.0.125 -serde_spanned@0.6.7 -shlex@1.3.0 -signal-hook@0.3.17 -signal-hook-mio@0.2.4 -signal-hook-registry@1.4.2 -simd-adler32@0.3.7 -simplecss@0.2.1 -siphasher@0.3.11 -slotmap@1.0.7 -smallvec@1.13.2 -snafu@0.7.5 -snafu-derive@0.7.5 -spin@0.9.8 -splitty@1.0.2 -str-buf@1.0.6 -strict@0.1.4 -strict@0.2.0 -strict-num@0.1.1 -strsim@0.11.1 -svg@0.16.0 -svgtypes@0.12.0 -syn@1.0.109 -syn@2.0.74 -syntect-no-panic@4.6.1 -tempfile@3.12.0 -termimad@0.30.0 -terminal-clipboard@0.4.1 -terminal-light@1.5.0 -termux-clipboard@0.1.0 -thiserror@1.0.63 -thiserror-impl@1.0.63 -tiff@0.9.1 -time@0.3.36 -time-core@0.1.2 -time-macros@0.2.18 -tiny-skia@0.11.4 -tiny-skia-path@0.11.4 -tinyvec@1.8.0 -tinyvec_macros@0.1.1 -toml@0.8.19 -toml_datetime@0.6.8 -toml_edit@0.22.20 -trash@3.3.1 -ttf-parser@0.19.2 -umask@2.1.0 -unicode-bidi@0.3.15 -unicode-bidi-mirroring@0.1.0 -unicode-ccc@0.1.2 -unicode-ident@1.0.12 -unicode-normalization@0.1.23 -unicode-properties@0.1.1 -unicode-script@0.5.6 -unicode-vo@0.1.0 -unicode-width@0.1.13 -url@2.5.2 -usvg@0.36.0 -usvg-parser@0.36.0 -usvg-text-layout@0.36.0 -usvg-tree@0.36.0 -utf8parse@0.2.2 -uzers@0.11.3 -vcpkg@0.2.15 -version_check@0.9.5 -walkdir@2.5.0 -wasi@0.11.0+wasi-snapshot-preview1 -wasm-bindgen@0.2.93 -wasm-bindgen-backend@0.2.93 -wasm-bindgen-macro@0.2.93 -wasm-bindgen-macro-support@0.2.93 -wasm-bindgen-shared@0.2.93 -weezl@0.1.8 -which@4.4.2 -winapi@0.3.9 -winapi-i686-pc-windows-gnu@0.4.0 -winapi-util@0.1.9 -winapi-wsapoll@0.1.2 -winapi-x86_64-pc-windows-gnu@0.4.0 -windows@0.44.0 -windows-core@0.52.0 -windows-sys@0.48.0 -windows-sys@0.52.0 -windows-sys@0.59.0 -windows-targets@0.42.2 -windows-targets@0.48.5 -windows-targets@0.52.6 -windows_aarch64_gnullvm@0.42.2 -windows_aarch64_gnullvm@0.48.5 -windows_aarch64_gnullvm@0.52.6 -windows_aarch64_msvc@0.42.2 -windows_aarch64_msvc@0.48.5 -windows_aarch64_msvc@0.52.6 -windows_i686_gnu@0.42.2 -windows_i686_gnu@0.48.5 -windows_i686_gnu@0.52.6 -windows_i686_gnullvm@0.52.6 -windows_i686_msvc@0.42.2 -windows_i686_msvc@0.48.5 -windows_i686_msvc@0.52.6 -windows_x86_64_gnu@0.42.2 -windows_x86_64_gnu@0.48.5 -windows_x86_64_gnu@0.52.6 -windows_x86_64_gnullvm@0.42.2 -windows_x86_64_gnullvm@0.48.5 -windows_x86_64_gnullvm@0.52.6 -windows_x86_64_msvc@0.42.2 -windows_x86_64_msvc@0.48.5 -windows_x86_64_msvc@0.52.6 -winnow@0.6.18 -x11-clipboard@0.8.1 -x11rb@0.12.0 -x11rb-protocol@0.12.0 -xmlparser@0.13.6 -xmlwriter@0.1.0 -xterm-query@0.3.0 -xterm-query@0.4.1 -yaml-rust@0.4.5 -zerocopy@0.7.35 -zerocopy-derive@0.7.35 -zune-inflate@0.2.54 -" - -inherit bash-completion-r1 cargo - -DESCRIPTION="A new way to see and navigate directory trees" -HOMEPAGE="https://dystroy.org/broot/ https://github.com/Canop/broot" -SRC_URI="https://github.com/Canop/broot/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - -LICENSE="Apache-2.0 BSD-2 BSD LGPL-3+ MIT ZLIB" -SLOT="0" -KEYWORDS="amd64" -IUSE="X" - -RDEPEND=" - dev-libs/libgit2:= - sys-libs/zlib - X? ( x11-libs/libxcb:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.76" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_configure() { - export RUSTFLAGS="-Cstrip=none ${RUSTFLAGS}" #835400 - local myfeatures=( $(usev X clipboard) trash ) - - cargo_src_configure --no-default-features -} - -src_prepare() { - default - - local mandate=$(date -r man/page +'%Y/%m/%d' || die) - sed -e "s|#version|${PV}|" \ - -e "s|#date|${mandate}|" \ - man/page > "${T}"/${PN}.1 || die -} - -src_install() { - cargo_src_install - - doman "${T}"/${PN}.1 - - local build_dir=( "$(cargo_target_dir)"/build/${PN}-*/out ) - cd ${build_dir[0]} || die - - newbashcomp ${PN}.bash ${PN} - newbashcomp br.bash br - - insinto /usr/share/zsh/site-functions - doins _${PN} - doins _br - - insinto /usr/share/fish/vendor_completions.d - doins ${PN}.fish - doins br.fish -} diff --git a/app-misc/jaq/jaq-1.4.0-r1.ebuild b/app-misc/jaq/jaq-1.4.0-r1.ebuild new file mode 100644 index 000000000000..47621a72b4a6 --- /dev/null +++ b/app-misc/jaq/jaq-1.4.0-r1.ebuild @@ -0,0 +1,121 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + ahash@0.8.7 + aho-corasick@1.1.2 + allocator-api2@0.2.16 + ariadne@0.4.0 + atty@0.2.14 + base64@0.22.0 + bincode@1.3.3 + bitflags@1.3.2 + bumpalo@3.14.0 + cc@1.0.79 + cfg-if@1.0.0 + chumsky@0.9.3 + clap@4.0.22 + clap_derive@4.0.21 + clap_lex@0.3.2 + colored_json@3.0.1 + console_log@1.0.0 + dyn-clone@1.0.11 + env_logger@0.10.0 + equivalent@1.0.0 + fastrand@1.9.0 + getrandom@0.2.10 + hashbrown@0.14.2 + heck@0.4.1 + hermit-abi@0.1.19 + hifijson@0.2.0 + indexmap@2.1.0 + instant@0.1.12 + itoa@1.0.9 + js-sys@0.3.69 + libc@0.2.147 + libm@0.2.8 + libmimalloc-sys@0.1.35 + log@0.4.20 + memchr@2.6.4 + memmap2@0.9.0 + mimalloc@0.1.39 + once_cell@1.18.0 + os_str_bytes@6.4.1 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.69 + quote@1.0.29 + redox_syscall@0.2.16 + regex-automata@0.3.7 + regex-syntax@0.7.5 + regex@1.9.4 + remove_dir_all@0.5.3 + ryu@1.0.14 + serde@1.0.190 + serde_derive@1.0.190 + serde_json@1.0.108 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.38 + tempfile@3.3.0 + termcolor@1.2.0 + time-core@0.1.0 + time-macros@0.2.8 + time@0.3.20 + unicode-ident@1.0.10 + unicode-width@0.1.11 + urlencoding@2.1.3 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + 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 + yansi@0.5.1 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 +" + +inherit cargo + +DESCRIPTION="Just another JSON query tool" +HOMEPAGE="https://github.com/01mf02/jaq" +SRC_URI=" + https://github.com/01mf02/jaq/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + BSD EPL-2.0 MIT Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/bin/jaq" +QA_PRESTRIPPED="usr/bin/jaq" + +DOCS=( + README.md + examples/ +) + +src_install() { + pushd "${S}/jaq" >/dev/null || die + cargo_src_install + popd >/dev/null || die + + default +} diff --git a/app-misc/jaq/jaq-1.4.0.ebuild b/app-misc/jaq/jaq-1.4.0.ebuild deleted file mode 100644 index 3ab923ebfc7a..000000000000 --- a/app-misc/jaq/jaq-1.4.0.ebuild +++ /dev/null @@ -1,125 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - ahash@0.8.7 - aho-corasick@1.1.2 - allocator-api2@0.2.16 - ariadne@0.4.0 - atty@0.2.14 - base64@0.22.0 - bincode@1.3.3 - bitflags@1.3.2 - bumpalo@3.14.0 - cc@1.0.79 - cfg-if@1.0.0 - chumsky@0.9.3 - clap@4.0.22 - clap_derive@4.0.21 - clap_lex@0.3.2 - colored_json@3.0.1 - console_log@1.0.0 - dyn-clone@1.0.11 - env_logger@0.10.0 - equivalent@1.0.0 - fastrand@1.9.0 - getrandom@0.2.10 - hashbrown@0.14.2 - heck@0.4.1 - hermit-abi@0.1.19 - hifijson@0.2.0 - indexmap@2.1.0 - instant@0.1.12 - itoa@1.0.9 - js-sys@0.3.69 - libc@0.2.147 - libm@0.2.8 - libmimalloc-sys@0.1.35 - log@0.4.20 - memchr@2.6.4 - memmap2@0.9.0 - mimalloc@0.1.39 - once_cell@1.18.0 - os_str_bytes@6.4.1 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.69 - quote@1.0.29 - redox_syscall@0.2.16 - regex-automata@0.3.7 - regex-syntax@0.7.5 - regex@1.9.4 - remove_dir_all@0.5.3 - ryu@1.0.14 - serde@1.0.190 - serde_derive@1.0.190 - serde_json@1.0.108 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.38 - tempfile@3.3.0 - termcolor@1.2.0 - time-core@0.1.0 - time-macros@0.2.8 - time@0.3.20 - unicode-ident@1.0.10 - unicode-width@0.1.11 - urlencoding@2.1.3 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - 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 - yansi@0.5.1 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 -" - -inherit cargo - -DESCRIPTION="Just another JSON query tool" -HOMEPAGE="https://github.com/01mf02/jaq" -SRC_URI=" - https://github.com/01mf02/jaq/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - BSD EPL-2.0 MIT Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64" - -BDEPEND=" - >=virtual/rust-1.64 -" - -QA_FLAGS_IGNORED="usr/bin/jaq" -QA_PRESTRIPPED="usr/bin/jaq" - -DOCS=( - README.md - examples/ -) - -src_install() { - pushd "${S}/jaq" >/dev/null || die - cargo_src_install - popd >/dev/null || die - - default -} diff --git a/app-misc/jaq/jaq-1.5.0-r1.ebuild b/app-misc/jaq/jaq-1.5.0-r1.ebuild new file mode 100644 index 000000000000..0ed97bf85a63 --- /dev/null +++ b/app-misc/jaq/jaq-1.5.0-r1.ebuild @@ -0,0 +1,120 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + ahash@0.8.7 + aho-corasick@1.1.2 + allocator-api2@0.2.16 + atty@0.2.14 + base64@0.22.0 + bincode@1.3.3 + bitflags@1.3.2 + bumpalo@3.14.0 + cc@1.0.79 + cfg-if@1.0.0 + chumsky@0.9.3 + clap@4.0.22 + clap_derive@4.0.21 + clap_lex@0.3.2 + codesnake@0.1.0 + console_log@1.0.0 + dyn-clone@1.0.11 + env_logger@0.10.0 + equivalent@1.0.0 + fastrand@1.9.0 + getrandom@0.2.10 + hashbrown@0.14.2 + heck@0.4.1 + hermit-abi@0.1.19 + hifijson@0.2.0 + indexmap@2.1.0 + instant@0.1.12 + itoa@1.0.9 + js-sys@0.3.69 + libc@0.2.147 + libm@0.2.8 + libmimalloc-sys@0.1.35 + log@0.4.20 + memchr@2.6.4 + memmap2@0.9.0 + mimalloc@0.1.39 + once_cell@1.18.0 + os_str_bytes@6.4.1 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.69 + quote@1.0.29 + redox_syscall@0.2.16 + regex-automata@0.3.7 + regex-syntax@0.7.5 + regex@1.9.4 + remove_dir_all@0.5.3 + ryu@1.0.14 + serde@1.0.190 + serde_derive@1.0.190 + serde_json@1.0.108 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.38 + tempfile@3.3.0 + termcolor@1.2.0 + time-core@0.1.0 + time-macros@0.2.8 + time@0.3.20 + unicode-ident@1.0.10 + unicode-width@0.1.13 + urlencoding@2.1.3 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + 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 + yansi@1.0.1 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 +" + +inherit cargo + +DESCRIPTION="Just another JSON query tool" +HOMEPAGE="https://github.com/01mf02/jaq" +SRC_URI=" + https://github.com/01mf02/jaq/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + BSD MIT Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/bin/jaq" +QA_PRESTRIPPED="usr/bin/jaq" + +DOCS=( + README.md + examples/ +) + +src_install() { + pushd "${S}/jaq" >/dev/null || die + cargo_src_install + popd >/dev/null || die + + default +} diff --git a/app-misc/jaq/jaq-1.5.0.ebuild b/app-misc/jaq/jaq-1.5.0.ebuild deleted file mode 100644 index 84cd770b0588..000000000000 --- a/app-misc/jaq/jaq-1.5.0.ebuild +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - ahash@0.8.7 - aho-corasick@1.1.2 - allocator-api2@0.2.16 - atty@0.2.14 - base64@0.22.0 - bincode@1.3.3 - bitflags@1.3.2 - bumpalo@3.14.0 - cc@1.0.79 - cfg-if@1.0.0 - chumsky@0.9.3 - clap@4.0.22 - clap_derive@4.0.21 - clap_lex@0.3.2 - codesnake@0.1.0 - console_log@1.0.0 - dyn-clone@1.0.11 - env_logger@0.10.0 - equivalent@1.0.0 - fastrand@1.9.0 - getrandom@0.2.10 - hashbrown@0.14.2 - heck@0.4.1 - hermit-abi@0.1.19 - hifijson@0.2.0 - indexmap@2.1.0 - instant@0.1.12 - itoa@1.0.9 - js-sys@0.3.69 - libc@0.2.147 - libm@0.2.8 - libmimalloc-sys@0.1.35 - log@0.4.20 - memchr@2.6.4 - memmap2@0.9.0 - mimalloc@0.1.39 - once_cell@1.18.0 - os_str_bytes@6.4.1 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.69 - quote@1.0.29 - redox_syscall@0.2.16 - regex-automata@0.3.7 - regex-syntax@0.7.5 - regex@1.9.4 - remove_dir_all@0.5.3 - ryu@1.0.14 - serde@1.0.190 - serde_derive@1.0.190 - serde_json@1.0.108 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.38 - tempfile@3.3.0 - termcolor@1.2.0 - time-core@0.1.0 - time-macros@0.2.8 - time@0.3.20 - unicode-ident@1.0.10 - unicode-width@0.1.13 - urlencoding@2.1.3 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - 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 - yansi@1.0.1 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 -" - -inherit cargo - -DESCRIPTION="Just another JSON query tool" -HOMEPAGE="https://github.com/01mf02/jaq" -SRC_URI=" - https://github.com/01mf02/jaq/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - BSD MIT Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64" - -BDEPEND=" - >=virtual/rust-1.64 -" - -QA_FLAGS_IGNORED="usr/bin/jaq" -QA_PRESTRIPPED="usr/bin/jaq" - -DOCS=( - README.md - examples/ -) - -src_install() { - pushd "${S}/jaq" >/dev/null || die - cargo_src_install - popd >/dev/null || die - - default -} diff --git a/app-misc/jaq/jaq-1.6.0-r1.ebuild b/app-misc/jaq/jaq-1.6.0-r1.ebuild new file mode 100644 index 000000000000..911945462c9e --- /dev/null +++ b/app-misc/jaq/jaq-1.6.0-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + ahash@0.8.7 + aho-corasick@1.1.2 + atty@0.2.14 + autocfg@1.3.0 + base64@0.22.0 + bitflags@1.3.2 + bumpalo@3.14.0 + cc@1.0.79 + cfg-if@1.0.0 + chrono@0.4.38 + clap@4.0.22 + clap_derive@4.0.21 + clap_lex@0.3.2 + codesnake@0.2.0 + console_log@1.0.0 + dyn-clone@1.0.11 + env_logger@0.10.2 + equivalent@1.0.0 + fastrand@1.9.0 + getrandom@0.2.10 + hashbrown@0.14.2 + heck@0.4.1 + hermit-abi@0.1.19 + hifijson@0.2.2 + indexmap@2.1.0 + instant@0.1.12 + itoa@1.0.9 + js-sys@0.3.69 + libc@0.2.147 + libm@0.2.8 + libmimalloc-sys@0.1.39 + log@0.4.20 + memchr@2.6.4 + memmap2@0.9.0 + mimalloc@0.1.43 + num-traits@0.2.19 + once_cell@1.18.0 + os_str_bytes@6.4.1 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.69 + quote@1.0.29 + redox_syscall@0.2.16 + regex-automata@0.3.7 + regex-syntax@0.7.5 + regex@1.9.4 + remove_dir_all@0.5.3 + ryu@1.0.14 + serde@1.0.190 + serde_derive@1.0.190 + serde_json@1.0.108 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.38 + tempfile@3.3.0 + termcolor@1.2.0 + unicode-ident@1.0.10 + unicode-width@0.1.13 + urlencoding@2.1.3 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + 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 + yansi@1.0.1 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 +" + +inherit cargo + +DESCRIPTION="Just another JSON query tool" +HOMEPAGE="https://github.com/01mf02/jaq" +SRC_URI=" + https://github.com/01mf02/jaq/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + BSD MIT Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/bin/jaq" +QA_PRESTRIPPED="usr/bin/jaq" + +DOCS=( + README.md + examples/ +) + +src_install() { + pushd "${S}/jaq" >/dev/null || die + cargo_src_install + popd >/dev/null || die + + default +} diff --git a/app-misc/jaq/jaq-1.6.0.ebuild b/app-misc/jaq/jaq-1.6.0.ebuild deleted file mode 100644 index 5be92024ab2c..000000000000 --- a/app-misc/jaq/jaq-1.6.0.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - ahash@0.8.7 - aho-corasick@1.1.2 - atty@0.2.14 - autocfg@1.3.0 - base64@0.22.0 - bitflags@1.3.2 - bumpalo@3.14.0 - cc@1.0.79 - cfg-if@1.0.0 - chrono@0.4.38 - clap@4.0.22 - clap_derive@4.0.21 - clap_lex@0.3.2 - codesnake@0.2.0 - console_log@1.0.0 - dyn-clone@1.0.11 - env_logger@0.10.2 - equivalent@1.0.0 - fastrand@1.9.0 - getrandom@0.2.10 - hashbrown@0.14.2 - heck@0.4.1 - hermit-abi@0.1.19 - hifijson@0.2.2 - indexmap@2.1.0 - instant@0.1.12 - itoa@1.0.9 - js-sys@0.3.69 - libc@0.2.147 - libm@0.2.8 - libmimalloc-sys@0.1.39 - log@0.4.20 - memchr@2.6.4 - memmap2@0.9.0 - mimalloc@0.1.43 - num-traits@0.2.19 - once_cell@1.18.0 - os_str_bytes@6.4.1 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.69 - quote@1.0.29 - redox_syscall@0.2.16 - regex-automata@0.3.7 - regex-syntax@0.7.5 - regex@1.9.4 - remove_dir_all@0.5.3 - ryu@1.0.14 - serde@1.0.190 - serde_derive@1.0.190 - serde_json@1.0.108 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.38 - tempfile@3.3.0 - termcolor@1.2.0 - unicode-ident@1.0.10 - unicode-width@0.1.13 - urlencoding@2.1.3 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - 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 - yansi@1.0.1 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 -" - -inherit cargo - -DESCRIPTION="Just another JSON query tool" -HOMEPAGE="https://github.com/01mf02/jaq" -SRC_URI=" - https://github.com/01mf02/jaq/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - BSD MIT Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64" - -BDEPEND=" - >=virtual/rust-1.64 -" - -QA_FLAGS_IGNORED="usr/bin/jaq" -QA_PRESTRIPPED="usr/bin/jaq" - -DOCS=( - README.md - examples/ -) - -src_install() { - pushd "${S}/jaq" >/dev/null || die - cargo_src_install - popd >/dev/null || die - - default -} diff --git a/app-misc/jf/jf-0.6.2-r1.ebuild b/app-misc/jf/jf-0.6.2-r1.ebuild deleted file mode 100644 index cf3416531097..000000000000 --- a/app-misc/jf/jf-0.6.2-r1.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.10 - -EAPI=8 - -CRATES=" - autocfg@1.1.0 - hashbrown@0.12.3 - indexmap@1.9.3 - itoa@1.0.6 - ryu@1.0.13 - serde@1.0.163 - serde_json@1.0.96 - serde_yaml@0.9.21 - unsafe-libyaml@0.2.8 -" - -inherit cargo - -DESCRIPTION="A small utility to safely format and print JSON objects in the commandline" -HOMEPAGE=" - https://github.com/sayanarijit/jf - https://crates.io/crates/jf -" -SRC_URI=" - https://github.com/sayanarijit/jf/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - MIT - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64" -IUSE="test" - -BDEPEND=" - test? ( app-text/txt2man ) -" -RESTRICT="!test? ( test )" - -DOCS=( - README.md -) - -QA_FLAGS_IGNORED="usr/bin/jf" -QA_PRESTRIPPED="usr/bin/jf" - -src_install() { - cargo_src_install - - dodoc "${DOCS[@]}" - doman assets/jf.1 -} diff --git a/app-misc/jf/jf-0.6.2-r2.ebuild b/app-misc/jf/jf-0.6.2-r2.ebuild new file mode 100644 index 000000000000..849e01ee7f1a --- /dev/null +++ b/app-misc/jf/jf-0.6.2-r2.ebuild @@ -0,0 +1,59 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.10 + +EAPI=8 + +CRATES=" + autocfg@1.1.0 + hashbrown@0.12.3 + indexmap@1.9.3 + itoa@1.0.6 + ryu@1.0.13 + serde@1.0.163 + serde_json@1.0.96 + serde_yaml@0.9.21 + unsafe-libyaml@0.2.8 +" + +inherit cargo + +DESCRIPTION="A small utility to safely format and print JSON objects in the commandline" +HOMEPAGE=" + https://github.com/sayanarijit/jf + https://crates.io/crates/jf +" +SRC_URI=" + https://github.com/sayanarijit/jf/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + MIT + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" + +BDEPEND=" + test? ( app-text/txt2man ) +" +RESTRICT="!test? ( test )" + +DOCS=( + README.md +) + +QA_FLAGS_IGNORED="usr/bin/jf" +QA_PRESTRIPPED="usr/bin/jf" + +src_install() { + cargo_src_install + + dodoc "${DOCS[@]}" + doman assets/jf.1 +} diff --git a/app-misc/rpick/rpick-0.9.1-r1.ebuild b/app-misc/rpick/rpick-0.9.1-r1.ebuild new file mode 100644 index 000000000000..064cbbda8ef7 --- /dev/null +++ b/app-misc/rpick/rpick-0.9.1-r1.ebuild @@ -0,0 +1,139 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.2 + anstream@0.6.8 + anstyle@1.0.4 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + approx@0.5.1 + assert_cmd@2.0.13 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.4.2 + bstr@1.9.0 + bytemuck@1.14.0 + cfg-if@1.0.0 + clap@4.4.18 + clap_builder@4.4.18 + clap_derive@4.4.7 + clap_lex@0.6.0 + colorchoice@1.0.0 + csv@1.3.0 + csv-core@0.1.11 + difflib@0.4.0 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + doc-comment@0.3.3 + downcast@0.11.0 + either@1.9.0 + encode_unicode@1.0.0 + equivalent@1.0.1 + errno@0.3.8 + fastrand@2.0.1 + float-cmp@0.9.0 + fragile@2.0.0 + getrandom@0.2.12 + hashbrown@0.14.3 + heck@0.4.1 + hermit-abi@0.3.3 + indexmap@2.1.0 + is-terminal@0.4.10 + itertools@0.10.5 + itoa@1.0.10 + lazy_static@1.4.0 + libc@0.2.152 + libm@0.2.8 + libredox@0.0.1 + linux-raw-sys@0.4.13 + matrixmultiply@0.3.8 + memchr@2.7.1 + mockall@0.11.4 + mockall_derive@0.11.4 + nalgebra@0.29.0 + nalgebra-macros@0.1.0 + normalize-line-endings@0.3.0 + num-complex@0.4.4 + num-integer@0.1.45 + num-rational@0.4.1 + num-traits@0.2.17 + paste@1.0.14 + ppv-lite86@0.2.17 + predicates@2.1.5 + predicates@3.1.0 + predicates-core@1.0.6 + predicates-tree@1.0.9 + prettytable-rs@0.10.0 + proc-macro2@1.0.76 + quote@1.0.35 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rawpointer@0.2.1 + redox_syscall@0.4.1 + redox_users@0.4.4 + regex@1.10.2 + regex-automata@0.4.3 + regex-syntax@0.8.2 + rpick@0.9.1 + rustix@0.38.30 + rustversion@1.0.14 + ryu@1.0.16 + safe_arch@0.7.1 + serde@1.0.195 + serde_derive@1.0.195 + serde_yaml@0.9.30 + simba@0.6.0 + statrs@0.16.0 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.48 + tempfile@3.9.0 + term@0.7.0 + termtree@0.4.1 + thiserror@1.0.56 + thiserror-impl@1.0.56 + typenum@1.17.0 + unicode-ident@1.0.12 + unicode-width@0.1.11 + unsafe-libyaml@0.2.10 + utf8parse@0.2.1 + wait-timeout@0.2.0 + wasi@0.11.0+wasi-snapshot-preview1 + wide@0.7.13 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows-sys@0.52.0 + windows-targets@0.52.0 + windows_aarch64_gnullvm@0.52.0 + windows_aarch64_msvc@0.52.0 + windows_i686_gnu@0.52.0 + windows_i686_msvc@0.52.0 + windows_x86_64_gnu@0.52.0 + windows_x86_64_gnullvm@0.52.0 + windows_x86_64_msvc@0.52.0 +" + +inherit cargo + +DESCRIPTION="Helps you pick items from a list by various algorithms" +HOMEPAGE="https://github.com/bowlofeggs/rpick" +SRC_URI="${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 GPL-3 MIT Unicode-DFS-2016 Unlicense ZLIB" +SLOT="0" +KEYWORDS="amd64 ppc64 x86" + +QA_FLAGS_IGNORED="usr/bin/rpick" + +src_install() { + cargo_src_install + + dodoc CHANGELOG.md README.md +} diff --git a/app-misc/rpick/rpick-0.9.1.ebuild b/app-misc/rpick/rpick-0.9.1.ebuild deleted file mode 100644 index 064cbbda8ef7..000000000000 --- a/app-misc/rpick/rpick-0.9.1.ebuild +++ /dev/null @@ -1,139 +0,0 @@ -# Copyright 2019-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick@1.1.2 - anstream@0.6.8 - anstyle@1.0.4 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - approx@0.5.1 - assert_cmd@2.0.13 - autocfg@1.1.0 - bitflags@1.3.2 - bitflags@2.4.2 - bstr@1.9.0 - bytemuck@1.14.0 - cfg-if@1.0.0 - clap@4.4.18 - clap_builder@4.4.18 - clap_derive@4.4.7 - clap_lex@0.6.0 - colorchoice@1.0.0 - csv@1.3.0 - csv-core@0.1.11 - difflib@0.4.0 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - doc-comment@0.3.3 - downcast@0.11.0 - either@1.9.0 - encode_unicode@1.0.0 - equivalent@1.0.1 - errno@0.3.8 - fastrand@2.0.1 - float-cmp@0.9.0 - fragile@2.0.0 - getrandom@0.2.12 - hashbrown@0.14.3 - heck@0.4.1 - hermit-abi@0.3.3 - indexmap@2.1.0 - is-terminal@0.4.10 - itertools@0.10.5 - itoa@1.0.10 - lazy_static@1.4.0 - libc@0.2.152 - libm@0.2.8 - libredox@0.0.1 - linux-raw-sys@0.4.13 - matrixmultiply@0.3.8 - memchr@2.7.1 - mockall@0.11.4 - mockall_derive@0.11.4 - nalgebra@0.29.0 - nalgebra-macros@0.1.0 - normalize-line-endings@0.3.0 - num-complex@0.4.4 - num-integer@0.1.45 - num-rational@0.4.1 - num-traits@0.2.17 - paste@1.0.14 - ppv-lite86@0.2.17 - predicates@2.1.5 - predicates@3.1.0 - predicates-core@1.0.6 - predicates-tree@1.0.9 - prettytable-rs@0.10.0 - proc-macro2@1.0.76 - quote@1.0.35 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rawpointer@0.2.1 - redox_syscall@0.4.1 - redox_users@0.4.4 - regex@1.10.2 - regex-automata@0.4.3 - regex-syntax@0.8.2 - rpick@0.9.1 - rustix@0.38.30 - rustversion@1.0.14 - ryu@1.0.16 - safe_arch@0.7.1 - serde@1.0.195 - serde_derive@1.0.195 - serde_yaml@0.9.30 - simba@0.6.0 - statrs@0.16.0 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.48 - tempfile@3.9.0 - term@0.7.0 - termtree@0.4.1 - thiserror@1.0.56 - thiserror-impl@1.0.56 - typenum@1.17.0 - unicode-ident@1.0.12 - unicode-width@0.1.11 - unsafe-libyaml@0.2.10 - utf8parse@0.2.1 - wait-timeout@0.2.0 - wasi@0.11.0+wasi-snapshot-preview1 - wide@0.7.13 - winapi@0.3.9 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - windows-sys@0.52.0 - windows-targets@0.52.0 - windows_aarch64_gnullvm@0.52.0 - windows_aarch64_msvc@0.52.0 - windows_i686_gnu@0.52.0 - windows_i686_msvc@0.52.0 - windows_x86_64_gnu@0.52.0 - windows_x86_64_gnullvm@0.52.0 - windows_x86_64_msvc@0.52.0 -" - -inherit cargo - -DESCRIPTION="Helps you pick items from a list by various algorithms" -HOMEPAGE="https://github.com/bowlofeggs/rpick" -SRC_URI="${CARGO_CRATE_URIS}" - -LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 GPL-3 MIT Unicode-DFS-2016 Unlicense ZLIB" -SLOT="0" -KEYWORDS="amd64 ppc64 x86" - -QA_FLAGS_IGNORED="usr/bin/rpick" - -src_install() { - cargo_src_install - - dodoc CHANGELOG.md README.md -} diff --git a/app-misc/skim/skim-0.10.4-r1.ebuild b/app-misc/skim/skim-0.10.4-r1.ebuild new file mode 100644 index 000000000000..3ffb2711ab1e --- /dev/null +++ b/app-misc/skim/skim-0.10.4-r1.ebuild @@ -0,0 +1,148 @@ +# Copyright 2017-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@0.7.19 + android_system_properties@0.1.5 + arrayvec@0.7.2 + atty@0.2.14 + autocfg@1.1.0 + beef@0.5.2 + bitflags@1.3.2 + bumpalo@3.11.1 + cc@1.0.73 + cfg-if@1.0.0 + chrono@0.4.22 + clap@3.2.22 + clap_lex@0.2.4 + codespan-reporting@0.11.1 + core-foundation-sys@0.8.3 + crossbeam-channel@0.5.6 + crossbeam-deque@0.8.2 + crossbeam-epoch@0.9.11 + crossbeam-queue@0.3.6 + crossbeam-utils@0.8.12 + crossbeam@0.8.2 + cxx-build@1.0.80 + cxx@1.0.80 + cxxbridge-flags@1.0.80 + cxxbridge-macro@1.0.80 + darling@0.14.1 + darling_core@0.14.1 + darling_macro@0.14.1 + defer-drop@1.3.0 + derive_builder@0.11.2 + derive_builder_core@0.11.2 + derive_builder_macro@0.11.2 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + either@1.8.0 + env_logger@0.9.1 + fnv@1.0.7 + fuzzy-matcher@0.3.7 + getrandom@0.2.8 + hashbrown@0.12.3 + hermit-abi@0.1.19 + humantime@2.1.0 + iana-time-zone-haiku@0.1.1 + iana-time-zone@0.1.51 + ident_case@1.0.1 + indexmap@1.9.1 + js-sys@0.3.60 + lazy_static@1.4.0 + libc@0.2.135 + link-cplusplus@1.0.7 + log@0.4.17 + memchr@2.5.0 + memoffset@0.6.5 + nix@0.24.2 + nix@0.25.0 + num-integer@0.1.45 + num-traits@0.2.15 + num_cpus@1.13.1 + num_threads@0.1.6 + once_cell@1.15.0 + os_str_bytes@6.3.0 + pin-utils@0.1.0 + proc-macro2@1.0.47 + quote@1.0.21 + rayon-core@1.9.3 + rayon@1.5.3 + redox_syscall@0.2.16 + redox_users@0.4.3 + regex-syntax@0.6.27 + regex@1.6.0 + rustversion@1.0.9 + scopeguard@1.1.0 + scratch@1.0.2 + shlex@1.1.0 + strsim@0.10.0 + syn@1.0.103 + term@0.7.0 + termcolor@1.1.3 + textwrap@0.15.1 + thiserror-impl@1.0.37 + thiserror@1.0.37 + thread_local@1.1.4 + time@0.1.44 + time@0.3.15 + timer@0.2.0 + tuikit@0.5.0 + unicode-ident@1.0.5 + unicode-width@0.1.10 + utf8parse@0.2.0 + vte@0.11.0 + vte_generate_state_changes@0.1.1 + 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 + 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 +" + +inherit cargo optfeature + +DESCRIPTION="Command-line fuzzy finder" +HOMEPAGE="https://github.com/lotabout/skim" +SRC_URI="https://github.com/lotabout/skim/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" ${CARGO_CRATE_URIS}" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" + +QA_FLAGS_IGNORED="usr/bin/sk" + +src_install() { + # prevent cargo_src_install() blowing up on man installation + mv man manpages || die + + cargo_src_install + dodoc CHANGELOG.md README.md + doman manpages/man1/* + + dobin bin/sk-tmux + + insinto /usr/share/vim/vimfiles/plugin + doins plugin/skim.vim + + # install bash/zsh completion and keybindings + # since provided completions override a lot of commands, install to /usr/share + insinto /usr/share/${PN} + doins shell/{*.bash,*.zsh} +} + +pkg_postinst() { + optfeature "sk-tmux integration" app-misc/tmux + optfeature "vim plugin integration" app-editors/vim app-editors/gvim +} diff --git a/app-misc/skim/skim-0.10.4.ebuild b/app-misc/skim/skim-0.10.4.ebuild deleted file mode 100644 index 3ffb2711ab1e..000000000000 --- a/app-misc/skim/skim-0.10.4.ebuild +++ /dev/null @@ -1,148 +0,0 @@ -# Copyright 2017-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick@0.7.19 - android_system_properties@0.1.5 - arrayvec@0.7.2 - atty@0.2.14 - autocfg@1.1.0 - beef@0.5.2 - bitflags@1.3.2 - bumpalo@3.11.1 - cc@1.0.73 - cfg-if@1.0.0 - chrono@0.4.22 - clap@3.2.22 - clap_lex@0.2.4 - codespan-reporting@0.11.1 - core-foundation-sys@0.8.3 - crossbeam-channel@0.5.6 - crossbeam-deque@0.8.2 - crossbeam-epoch@0.9.11 - crossbeam-queue@0.3.6 - crossbeam-utils@0.8.12 - crossbeam@0.8.2 - cxx-build@1.0.80 - cxx@1.0.80 - cxxbridge-flags@1.0.80 - cxxbridge-macro@1.0.80 - darling@0.14.1 - darling_core@0.14.1 - darling_macro@0.14.1 - defer-drop@1.3.0 - derive_builder@0.11.2 - derive_builder_core@0.11.2 - derive_builder_macro@0.11.2 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - either@1.8.0 - env_logger@0.9.1 - fnv@1.0.7 - fuzzy-matcher@0.3.7 - getrandom@0.2.8 - hashbrown@0.12.3 - hermit-abi@0.1.19 - humantime@2.1.0 - iana-time-zone-haiku@0.1.1 - iana-time-zone@0.1.51 - ident_case@1.0.1 - indexmap@1.9.1 - js-sys@0.3.60 - lazy_static@1.4.0 - libc@0.2.135 - link-cplusplus@1.0.7 - log@0.4.17 - memchr@2.5.0 - memoffset@0.6.5 - nix@0.24.2 - nix@0.25.0 - num-integer@0.1.45 - num-traits@0.2.15 - num_cpus@1.13.1 - num_threads@0.1.6 - once_cell@1.15.0 - os_str_bytes@6.3.0 - pin-utils@0.1.0 - proc-macro2@1.0.47 - quote@1.0.21 - rayon-core@1.9.3 - rayon@1.5.3 - redox_syscall@0.2.16 - redox_users@0.4.3 - regex-syntax@0.6.27 - regex@1.6.0 - rustversion@1.0.9 - scopeguard@1.1.0 - scratch@1.0.2 - shlex@1.1.0 - strsim@0.10.0 - syn@1.0.103 - term@0.7.0 - termcolor@1.1.3 - textwrap@0.15.1 - thiserror-impl@1.0.37 - thiserror@1.0.37 - thread_local@1.1.4 - time@0.1.44 - time@0.3.15 - timer@0.2.0 - tuikit@0.5.0 - unicode-ident@1.0.5 - unicode-width@0.1.10 - utf8parse@0.2.0 - vte@0.11.0 - vte_generate_state_changes@0.1.1 - 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 - 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 -" - -inherit cargo optfeature - -DESCRIPTION="Command-line fuzzy finder" -HOMEPAGE="https://github.com/lotabout/skim" -SRC_URI="https://github.com/lotabout/skim/archive/v${PV}.tar.gz -> ${P}.tar.gz" -SRC_URI+=" ${CARGO_CRATE_URIS}" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0 MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 ~x86" - -QA_FLAGS_IGNORED="usr/bin/sk" - -src_install() { - # prevent cargo_src_install() blowing up on man installation - mv man manpages || die - - cargo_src_install - dodoc CHANGELOG.md README.md - doman manpages/man1/* - - dobin bin/sk-tmux - - insinto /usr/share/vim/vimfiles/plugin - doins plugin/skim.vim - - # install bash/zsh completion and keybindings - # since provided completions override a lot of commands, install to /usr/share - insinto /usr/share/${PN} - doins shell/{*.bash,*.zsh} -} - -pkg_postinst() { - optfeature "sk-tmux integration" app-misc/tmux - optfeature "vim plugin integration" app-editors/vim app-editors/gvim -} diff --git a/app-misc/tzupdate/tzupdate-3.1.0-r1.ebuild b/app-misc/tzupdate/tzupdate-3.1.0-r1.ebuild new file mode 100644 index 000000000000..1143edfba7dc --- /dev/null +++ b/app-misc/tzupdate/tzupdate-3.1.0-r1.ebuild @@ -0,0 +1,105 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + anstyle@1.0.0 + anyhow@1.0.75 + base64@0.21.2 + bitflags@1.3.2 + bitflags@2.4.0 + bumpalo@3.12.2 + cc@1.0.79 + cfg-if@1.0.0 + clap@4.4.2 + clap_builder@4.4.2 + clap_derive@4.4.2 + clap_lex@0.5.0 + env_logger@0.10.0 + errno-dragonfly@0.1.2 + errno@0.3.1 + fastrand@2.0.0 + form_urlencoded@1.1.0 + heck@0.4.1 + humantime@2.1.0 + idna@0.3.0 + itoa@1.0.6 + js-sys@0.3.62 + libc@0.2.147 + linux-raw-sys@0.4.5 + log@0.4.20 + once_cell@1.17.1 + percent-encoding@2.2.0 + proc-macro2@1.0.56 + quote@1.0.27 + redox_syscall@0.3.5 + ring@0.16.20 + rustix@0.38.8 + rustls-webpki@0.100.2 + rustls@0.21.2 + ryu@1.0.13 + sct@0.7.0 + serde@1.0.171 + serde_json@1.0.105 + spin@0.5.2 + syn@2.0.15 + tempfile@3.8.0 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + unicode-bidi@0.3.13 + unicode-ident@1.0.8 + unicode-normalization@0.1.22 + untrusted@0.7.1 + ureq@2.7.1 + url@2.3.1 + wasm-bindgen-backend@0.2.85 + wasm-bindgen-macro-support@0.2.85 + wasm-bindgen-macro@0.2.85 + wasm-bindgen-shared@0.2.85 + wasm-bindgen@0.2.85 + web-sys@0.3.62 + webpki-roots@0.23.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-targets@0.48.0 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_msvc@0.48.0 + windows_i686_gnu@0.48.0 + windows_i686_msvc@0.48.0 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_msvc@0.48.0 +" + +inherit cargo + +DESCRIPTION="Set the system timezone based on IP geolocation." +HOMEPAGE="https://github.com/cdown/tzupdate" +SRC_URI=" + ${CARGO_CRATE_URIS} + https://github.com/cdown/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + ISC MIT MPL-2.0 Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +# ring +LICENSE+=" + ISC SSLeay openssl MIT +" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/bin/.*" + +DOCS=( + README.md +) diff --git a/app-misc/tzupdate/tzupdate-3.1.0.ebuild b/app-misc/tzupdate/tzupdate-3.1.0.ebuild deleted file mode 100644 index 1143edfba7dc..000000000000 --- a/app-misc/tzupdate/tzupdate-3.1.0.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - anstyle@1.0.0 - anyhow@1.0.75 - base64@0.21.2 - bitflags@1.3.2 - bitflags@2.4.0 - bumpalo@3.12.2 - cc@1.0.79 - cfg-if@1.0.0 - clap@4.4.2 - clap_builder@4.4.2 - clap_derive@4.4.2 - clap_lex@0.5.0 - env_logger@0.10.0 - errno-dragonfly@0.1.2 - errno@0.3.1 - fastrand@2.0.0 - form_urlencoded@1.1.0 - heck@0.4.1 - humantime@2.1.0 - idna@0.3.0 - itoa@1.0.6 - js-sys@0.3.62 - libc@0.2.147 - linux-raw-sys@0.4.5 - log@0.4.20 - once_cell@1.17.1 - percent-encoding@2.2.0 - proc-macro2@1.0.56 - quote@1.0.27 - redox_syscall@0.3.5 - ring@0.16.20 - rustix@0.38.8 - rustls-webpki@0.100.2 - rustls@0.21.2 - ryu@1.0.13 - sct@0.7.0 - serde@1.0.171 - serde_json@1.0.105 - spin@0.5.2 - syn@2.0.15 - tempfile@3.8.0 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - unicode-bidi@0.3.13 - unicode-ident@1.0.8 - unicode-normalization@0.1.22 - untrusted@0.7.1 - ureq@2.7.1 - url@2.3.1 - wasm-bindgen-backend@0.2.85 - wasm-bindgen-macro-support@0.2.85 - wasm-bindgen-macro@0.2.85 - wasm-bindgen-shared@0.2.85 - wasm-bindgen@0.2.85 - web-sys@0.3.62 - webpki-roots@0.23.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.48.0 - windows-targets@0.48.0 - windows_aarch64_gnullvm@0.48.0 - windows_aarch64_msvc@0.48.0 - windows_i686_gnu@0.48.0 - windows_i686_msvc@0.48.0 - windows_x86_64_gnu@0.48.0 - windows_x86_64_gnullvm@0.48.0 - windows_x86_64_msvc@0.48.0 -" - -inherit cargo - -DESCRIPTION="Set the system timezone based on IP geolocation." -HOMEPAGE="https://github.com/cdown/tzupdate" -SRC_URI=" - ${CARGO_CRATE_URIS} - https://github.com/cdown/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - ISC MIT MPL-2.0 Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -# ring -LICENSE+=" - ISC SSLeay openssl MIT -" -SLOT="0" -KEYWORDS="~amd64" - -QA_FLAGS_IGNORED="usr/bin/.*" - -DOCS=( - README.md -) 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 @@ Matthew Smith - googleprojectzero/weggli + weggli-rs/weggli 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-r1.ebuild b/app-misc/zellij/zellij-0.41.1-r1.ebuild new file mode 100644 index 000000000000..cc15a6b9910d --- /dev/null +++ b/app-misc/zellij/zellij-0.41.1-r1.ebuild @@ -0,0 +1,591 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + addr2line@0.17.0 + addr2line@0.21.0 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@0.7.20 + aho-corasick@1.0.1 + ambient-authority@0.0.2 + android_system_properties@0.1.5 + ansi_term@0.12.1 + anyhow@1.0.71 + arbitrary@1.3.2 + arc-swap@1.5.0 + arrayvec@0.5.2 + arrayvec@0.7.2 + async-attributes@1.1.2 + async-channel@1.8.0 + async-executor@1.4.1 + async-global-executor@2.3.1 + async-io@1.13.0 + async-lock@2.8.0 + async-process@1.4.0 + async-std@1.11.0 + async-task@4.2.0 + async-trait@0.1.80 + atomic-waker@1.0.0 + atomic@0.5.3 + atty@0.2.14 + autocfg@1.1.0 + backtrace-ext@0.2.1 + backtrace@0.3.65 + base64@0.13.0 + base64@0.21.0 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + block-buffer@0.7.3 + block-padding@0.1.5 + blocking@1.2.0 + bstr@1.5.0 + bumpalo@3.16.0 + byte-tools@0.3.1 + byteorder@1.4.3 + bytes@1.6.0 + cache-padded@1.2.0 + cap-fs-ext@3.1.0 + cap-net-ext@3.1.0 + cap-primitives@3.1.0 + cap-rand@3.1.0 + cap-std@3.1.0 + cap-time-ext@3.1.0 + cassowary@0.3.0 + castaway@0.1.2 + cc@1.0.83 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + chrono@0.4.19 + clap@3.2.4 + clap_complete@3.2.1 + clap_derive@3.2.4 + clap_lex@0.2.2 + close_fds@0.3.2 + cobs@0.2.3 + colored@2.0.0 + colorsys@0.6.5 + common-path@1.0.0 + concurrent-queue@1.2.2 + concurrent-queue@2.2.0 + console@0.15.0 + core-foundation-sys@0.8.3 + cpp_demangle@0.4.3 + cpufeatures@0.2.2 + cranelift-bforest@0.108.2 + cranelift-codegen-meta@0.108.2 + cranelift-codegen-shared@0.108.2 + cranelift-codegen@0.108.2 + cranelift-control@0.108.2 + cranelift-entity@0.108.2 + cranelift-frontend@0.108.2 + cranelift-isle@0.108.2 + cranelift-native@0.108.2 + cranelift-wasm@0.108.2 + crc32fast@1.4.0 + crossbeam-channel@0.5.4 + crossbeam-deque@0.8.1 + crossbeam-epoch@0.9.8 + crossbeam-queue@0.3.5 + crossbeam-utils@0.8.15 + crossbeam@0.8.1 + crypto-common@0.1.6 + csscolorparser@0.6.2 + ctor@0.1.22 + curl-sys@0.4.68+curl-8.4.0 + curl@0.4.44 + daemonize@0.5.0 + debugid@0.8.0 + deltae@0.3.0 + derivative@2.2.0 + destructure_traitobject@0.2.0 + dialoguer@0.10.4 + digest@0.10.7 + digest@0.8.1 + directories-next@2.0.0 + directories@5.0.1 + dirs-sys-next@0.1.2 + dirs-sys@0.3.7 + dirs-sys@0.4.1 + dirs@4.0.0 + dissimilar@1.0.6 + either@1.6.1 + embedded-io@0.4.0 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + equivalent@1.0.1 + erased-serde@0.3.20 + errno@0.3.8 + euclid@0.22.9 + event-listener@2.5.2 + expect-test@1.4.1 + fake-simd@0.1.2 + fallible-iterator@0.3.0 + fancy-regex@0.11.0 + fastrand@1.7.0 + fastrand@2.1.0 + fd-lock@4.0.2 + file-id@0.1.0 + filedescriptor@0.8.2 + filetime@0.2.21 + finl_unicode@1.2.0 + fixedbitset@0.4.2 + fnv@1.0.7 + form_urlencoded@1.2.1 + fs-set-times@0.20.1 + fsevent-sys@4.1.0 + futures-channel@0.3.28 + futures-core@0.3.28 + futures-executor@0.3.28 + futures-io@0.3.28 + futures-lite@1.13.0 + futures-macro@0.3.28 + futures-sink@0.3.28 + futures-task@0.3.28 + futures-util@0.3.28 + futures@0.3.28 + fuzzy-matcher@0.3.7 + fxhash@0.2.1 + fxprof-processed-profile@0.6.0 + generic-array@0.12.4 + generic-array@0.14.5 + getopts@0.2.21 + getrandom@0.2.10 + ghost@0.1.4 + gimli@0.26.1 + gimli@0.28.1 + globset@0.4.10 + gloo-timers@0.2.4 + hashbrown@0.11.2 + hashbrown@0.13.2 + hashbrown@0.14.5 + heck@0.3.3 + heck@0.4.0 + hermit-abi@0.1.19 + hermit-abi@0.3.1 + hex@0.4.3 + highway@0.6.4 + http@0.2.9 + humantime@2.1.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + id-arena@2.2.1 + idna@0.5.0 + ignore@0.4.20 + include_dir@0.7.3 + include_dir_macros@0.7.3 + indexmap@1.8.2 + indexmap@2.2.6 + inotify-sys@0.1.5 + inotify@0.9.6 + insta@1.14.0 + instant@0.1.12 + interprocess@1.2.1 + intmap@0.7.1 + inventory@0.2.3 + io-extras@0.18.2 + io-lifetimes@1.0.10 + io-lifetimes@2.0.3 + ipnet@2.9.0 + is-terminal@0.4.7 + is_ci@1.1.1 + isahc@1.7.2 + itertools@0.10.5 + itertools@0.12.1 + itoa@1.0.2 + ittapi-sys@0.4.0 + ittapi@0.4.0 + jobserver@0.1.31 + js-sys@0.3.64 + kdl@4.5.0 + kqueue-sys@1.0.3 + kqueue@1.0.7 + kv-log-macro@1.0.7 + lab@0.11.0 + lazy_static@1.4.0 + leb128@0.2.5 + lev_distance@0.1.1 + libc@0.2.153 + libm@0.2.8 + libnghttp2-sys@0.1.8+1.55.1 + libssh2-sys@0.2.23 + libz-sys@1.1.8 + linked-hash-map@0.5.4 + linux-raw-sys@0.3.7 + linux-raw-sys@0.4.13 + lock_api@0.4.11 + log-mdc@0.1.0 + log4rs@1.2.0 + log@0.4.17 + mac_address@1.1.6 + mach2@0.4.2 + maplit@1.0.2 + maybe-owned@0.3.4 + memchr@2.5.0 + memfd@0.6.4 + memmem@0.1.1 + memoffset@0.6.5 + memoffset@0.7.1 + memoffset@0.9.1 + miette-derive@5.8.0 + miette@5.8.0 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.5.3 + mio@0.7.14 + mio@0.8.11 + miow@0.3.7 + multimap@0.8.3 + names@0.14.0 + nix@0.23.1 + nix@0.26.4 + nix@0.28.0 + nom@7.1.1 + notify-debouncer-full@0.1.0 + notify@6.0.0 + ntapi@0.3.7 + num-derive@0.3.3 + num-integer@0.1.45 + num-traits@0.2.15 + num_cpus@1.13.1 + object@0.28.4 + object@0.33.0 + once_cell@1.18.0 + opaque-debug@0.2.3 + openssl-probe@0.1.5 + openssl-src@300.1.6+3.1.4 + openssl-sys@0.9.93 + option-ext@0.2.0 + ordered-float@2.10.0 + ordered-float@3.3.0 + ordered-float@4.2.0 + os_str_bytes@6.1.0 + owo-colors@3.4.0 + parking@2.0.0 + parking_lot@0.11.2 + parking_lot@0.12.1 + parking_lot_core@0.8.5 + parking_lot_core@0.9.9 + paste@1.0.7 + percent-encoding@2.3.1 + pest@2.1.3 + pest_derive@2.1.0 + pest_generator@2.1.3 + pest_meta@2.1.3 + petgraph@0.6.3 + phf@0.11.1 + phf_codegen@0.11.2 + phf_generator@0.11.1 + phf_macros@0.11.1 + phf_shared@0.11.1 + pin-project-internal@1.1.3 + pin-project-lite@0.2.14 + pin-project@1.1.3 + pin-utils@0.1.0 + pkg-config@0.3.25 + polling@2.2.0 + postcard@1.0.8 + ppv-lite86@0.2.16 + pretty-bytes@0.2.2 + prettyplease@0.1.25 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.82 + prost-build@0.11.9 + prost-derive@0.11.9 + prost-types@0.11.9 + prost@0.11.9 + psm@0.1.21 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.3 + rayon-core@1.9.3 + rayon@1.5.3 + redox_syscall@0.2.13 + redox_syscall@0.4.1 + redox_users@0.4.3 + regalloc2@0.9.3 + regex-syntax@0.7.1 + regex@1.8.1 + rmp-serde@1.1.0 + rmp@0.8.11 + rustc-demangle@0.1.21 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.37.7 + rustix@0.38.34 + ryu@1.0.10 + same-file@1.0.6 + schannel@0.1.22 + scopeguard@1.1.0 + semver-parser@0.10.2 + semver@0.11.0 + semver@1.0.17 + serde-value@0.7.0 + serde@1.0.202 + serde_derive@1.0.202 + serde_json@1.0.81 + serde_spanned@0.6.6 + serde_yaml@0.8.24 + sha-1@0.8.2 + sha2@0.10.8 + shell-words@1.1.0 + shellexpand@2.1.2 + shellexpand@3.0.0 + signal-hook-registry@1.4.0 + signal-hook@0.3.14 + similar@2.1.0 + siphasher@0.3.10 + sixel-image@0.1.0 + sixel-tokenizer@0.1.0 + slab@0.4.6 + slice-group-by@0.3.1 + sluice@0.5.5 + smallvec@1.13.2 + smawk@0.3.1 + socket2@0.4.9 + socket2@0.5.7 + spinning@0.1.0 + sptr@0.3.2 + ssh2@0.9.3 + stable_deref_trait@1.2.0 + strip-ansi-escapes@0.1.1 + strsim@0.10.0 + strum@0.20.0 + strum_macros@0.20.1 + suggest@0.4.0 + supports-color@2.0.0 + supports-hyperlinks@2.1.0 + supports-unicode@2.0.0 + syn@1.0.96 + syn@2.0.64 + sysinfo@0.22.5 + system-interface@0.27.2 + target-lexicon@0.12.14 + tempfile@3.10.1 + termcolor@1.1.3 + terminal_size@0.1.17 + terminfo@0.8.0 + termios@0.3.3 + termwiz@0.22.0 + textwrap@0.15.0 + thiserror-impl@1.0.61 + thiserror@1.0.61 + thread-id@4.0.0 + thread_local@1.1.7 + time@0.1.44 + tinyvec@1.6.0 + tinyvec_macros@0.1.0 + to_method@1.1.0 + tokio@1.37.0 + toml@0.5.10 + toml@0.8.13 + toml_datetime@0.6.6 + toml_edit@0.22.13 + tracing-attributes@0.1.21 + tracing-core@0.1.27 + tracing-futures@0.2.5 + tracing@0.1.35 + typemap-ors@1.0.0 + typenum@1.15.0 + typetag-impl@0.1.8 + typetag@0.1.8 + ucd-trie@0.1.3 + unicode-bidi@0.3.15 + unicode-ident@1.0.1 + unicode-linebreak@0.1.2 + unicode-normalization@0.1.23 + unicode-segmentation@1.9.0 + unicode-width@0.1.10 + unicode-xid@0.2.4 + unsafe-any-ors@1.0.0 + url@2.5.0 + utf8parse@0.2.0 + uuid@1.7.0 + value-bag@1.0.0-alpha.9 + vcpkg@0.2.15 + version_check@0.9.4 + vte@0.10.1 + vte@0.11.0 + vte_generate_state_changes@0.1.1 + vtparse@0.6.2 + waker-fn@1.1.0 + walkdir@2.3.3 + wasi@0.10.0+wasi-snapshot-preview1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.87 + wasm-bindgen-futures@0.4.31 + wasm-bindgen-macro-support@0.2.87 + wasm-bindgen-macro@0.2.87 + wasm-bindgen-shared@0.2.87 + wasm-bindgen@0.2.87 + wasm-encoder@0.207.0 + wasmparser@0.207.0 + wasmprinter@0.207.0 + wasmtime-asm-macros@21.0.2 + wasmtime-cache@21.0.2 + wasmtime-component-macro@21.0.2 + wasmtime-component-util@21.0.2 + wasmtime-cranelift@21.0.2 + wasmtime-environ@21.0.2 + wasmtime-fiber@21.0.2 + wasmtime-jit-debug@21.0.2 + wasmtime-jit-icache-coherence@21.0.2 + wasmtime-slab@21.0.2 + wasmtime-types@21.0.2 + wasmtime-versioned-export-macros@21.0.2 + wasmtime-wasi@21.0.2 + wasmtime-winch@21.0.2 + wasmtime-wit-bindgen@21.0.2 + wasmtime@21.0.2 + wast@207.0.0 + wast@35.0.2 + wat@1.207.0 + web-sys@0.3.58 + wepoll-ffi@0.1.2 + wezterm-bidi@0.2.2 + wezterm-blob-leases@0.1.0 + wezterm-color-types@0.3.0 + wezterm-dynamic-derive@0.1.0 + wezterm-dynamic@0.1.0 + wezterm-dynamic@0.2.0 + wezterm-input-types@0.1.0 + which@4.2.5 + wiggle-generate@21.0.2 + wiggle-macro@21.0.2 + wiggle@21.0.2 + 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 + winch-codegen@0.19.2 + windows-core@0.52.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.42.2 + windows-targets@0.48.0 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.0 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.0 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.0 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.0 + windows_x86_64_msvc@0.52.5 + winnow@0.6.8 + winx@0.36.3 + wit-parser@0.207.0 + witx@0.9.1 + xflags-macros@0.3.1 + xflags@0.3.1 + xshell-macros@0.2.2 + xshell@0.2.2 + yaml-rust@0.4.5 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zeroize@1.5.5 + zstd-safe@7.1.0 + zstd-sys@2.0.10+zstd.1.5.6 + zstd@0.13.1 +" + +inherit cargo desktop shell-completion xdg + +DESCRIPTION="A terminal workspace with batteries included" +HOMEPAGE=" + https://zellij.dev/ + https://github.com/zellij-org/zellij +" +SRC_URI=" + https://github.com/zellij-org/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 + ISC MIT MPL-2.0 Unicode-DFS-2016 WTFPL-2 +" + +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + net-misc/curl +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-go/go-md2man +" + +# 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}" +QA_PRESTRIPPED="usr/bin/${PN}" + +DOCS=( + CHANGELOG.md + CODE_OF_CONDUCT.md + CONTRIBUTING.md + GOVERNANCE.md + README.md + docs/ +) + +src_compile() { + cargo_src_compile + pushd ${PN}-utils 2>/dev/null || die + cargo_src_compile + popd 2>/dev/null || die + + go-md2man -in docs/MANPAGE.md -out ${PN}.1 || die + + "$(cargo_target_dir)"/zellij setup --generate-completion bash > zellij.bash || die + "$(cargo_target_dir)"/zellij setup --generate-completion fish > zellij.fish || die + "$(cargo_target_dir)"/zellij setup --generate-completion zsh > zellij.zsh || die +} + +src_install() { + cargo_src_install + + dodoc example/*.* + + insinto /usr/share/zellij + doins -r example/{themes,layouts} + doins -r ${PN}-utils/assets/{layouts,plugins,config,shell} \ + ${PN}-utils/assets/*.wasm ${PN}-utils/assets/README.md + + doman ${PN}.1 + + domenu assets/zellij.desktop + newicon assets/logo.png zellij.png + + newbashcomp zellij.bash zellij + newfishcomp zellij.fish zellij.fish + newzshcomp zellij.zsh _zellij +} diff --git a/app-misc/zellij/zellij-0.41.1.ebuild b/app-misc/zellij/zellij-0.41.1.ebuild deleted file mode 100644 index cc15a6b9910d..000000000000 --- a/app-misc/zellij/zellij-0.41.1.ebuild +++ /dev/null @@ -1,591 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - addr2line@0.17.0 - addr2line@0.21.0 - adler@1.0.2 - ahash@0.8.11 - aho-corasick@0.7.20 - aho-corasick@1.0.1 - ambient-authority@0.0.2 - android_system_properties@0.1.5 - ansi_term@0.12.1 - anyhow@1.0.71 - arbitrary@1.3.2 - arc-swap@1.5.0 - arrayvec@0.5.2 - arrayvec@0.7.2 - async-attributes@1.1.2 - async-channel@1.8.0 - async-executor@1.4.1 - async-global-executor@2.3.1 - async-io@1.13.0 - async-lock@2.8.0 - async-process@1.4.0 - async-std@1.11.0 - async-task@4.2.0 - async-trait@0.1.80 - atomic-waker@1.0.0 - atomic@0.5.3 - atty@0.2.14 - autocfg@1.1.0 - backtrace-ext@0.2.1 - backtrace@0.3.65 - base64@0.13.0 - base64@0.21.0 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - block-buffer@0.7.3 - block-padding@0.1.5 - blocking@1.2.0 - bstr@1.5.0 - bumpalo@3.16.0 - byte-tools@0.3.1 - byteorder@1.4.3 - bytes@1.6.0 - cache-padded@1.2.0 - cap-fs-ext@3.1.0 - cap-net-ext@3.1.0 - cap-primitives@3.1.0 - cap-rand@3.1.0 - cap-std@3.1.0 - cap-time-ext@3.1.0 - cassowary@0.3.0 - castaway@0.1.2 - cc@1.0.83 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - chrono@0.4.19 - clap@3.2.4 - clap_complete@3.2.1 - clap_derive@3.2.4 - clap_lex@0.2.2 - close_fds@0.3.2 - cobs@0.2.3 - colored@2.0.0 - colorsys@0.6.5 - common-path@1.0.0 - concurrent-queue@1.2.2 - concurrent-queue@2.2.0 - console@0.15.0 - core-foundation-sys@0.8.3 - cpp_demangle@0.4.3 - cpufeatures@0.2.2 - cranelift-bforest@0.108.2 - cranelift-codegen-meta@0.108.2 - cranelift-codegen-shared@0.108.2 - cranelift-codegen@0.108.2 - cranelift-control@0.108.2 - cranelift-entity@0.108.2 - cranelift-frontend@0.108.2 - cranelift-isle@0.108.2 - cranelift-native@0.108.2 - cranelift-wasm@0.108.2 - crc32fast@1.4.0 - crossbeam-channel@0.5.4 - crossbeam-deque@0.8.1 - crossbeam-epoch@0.9.8 - crossbeam-queue@0.3.5 - crossbeam-utils@0.8.15 - crossbeam@0.8.1 - crypto-common@0.1.6 - csscolorparser@0.6.2 - ctor@0.1.22 - curl-sys@0.4.68+curl-8.4.0 - curl@0.4.44 - daemonize@0.5.0 - debugid@0.8.0 - deltae@0.3.0 - derivative@2.2.0 - destructure_traitobject@0.2.0 - dialoguer@0.10.4 - digest@0.10.7 - digest@0.8.1 - directories-next@2.0.0 - directories@5.0.1 - dirs-sys-next@0.1.2 - dirs-sys@0.3.7 - dirs-sys@0.4.1 - dirs@4.0.0 - dissimilar@1.0.6 - either@1.6.1 - embedded-io@0.4.0 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - equivalent@1.0.1 - erased-serde@0.3.20 - errno@0.3.8 - euclid@0.22.9 - event-listener@2.5.2 - expect-test@1.4.1 - fake-simd@0.1.2 - fallible-iterator@0.3.0 - fancy-regex@0.11.0 - fastrand@1.7.0 - fastrand@2.1.0 - fd-lock@4.0.2 - file-id@0.1.0 - filedescriptor@0.8.2 - filetime@0.2.21 - finl_unicode@1.2.0 - fixedbitset@0.4.2 - fnv@1.0.7 - form_urlencoded@1.2.1 - fs-set-times@0.20.1 - fsevent-sys@4.1.0 - futures-channel@0.3.28 - futures-core@0.3.28 - futures-executor@0.3.28 - futures-io@0.3.28 - futures-lite@1.13.0 - futures-macro@0.3.28 - futures-sink@0.3.28 - futures-task@0.3.28 - futures-util@0.3.28 - futures@0.3.28 - fuzzy-matcher@0.3.7 - fxhash@0.2.1 - fxprof-processed-profile@0.6.0 - generic-array@0.12.4 - generic-array@0.14.5 - getopts@0.2.21 - getrandom@0.2.10 - ghost@0.1.4 - gimli@0.26.1 - gimli@0.28.1 - globset@0.4.10 - gloo-timers@0.2.4 - hashbrown@0.11.2 - hashbrown@0.13.2 - hashbrown@0.14.5 - heck@0.3.3 - heck@0.4.0 - hermit-abi@0.1.19 - hermit-abi@0.3.1 - hex@0.4.3 - highway@0.6.4 - http@0.2.9 - humantime@2.1.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - id-arena@2.2.1 - idna@0.5.0 - ignore@0.4.20 - include_dir@0.7.3 - include_dir_macros@0.7.3 - indexmap@1.8.2 - indexmap@2.2.6 - inotify-sys@0.1.5 - inotify@0.9.6 - insta@1.14.0 - instant@0.1.12 - interprocess@1.2.1 - intmap@0.7.1 - inventory@0.2.3 - io-extras@0.18.2 - io-lifetimes@1.0.10 - io-lifetimes@2.0.3 - ipnet@2.9.0 - is-terminal@0.4.7 - is_ci@1.1.1 - isahc@1.7.2 - itertools@0.10.5 - itertools@0.12.1 - itoa@1.0.2 - ittapi-sys@0.4.0 - ittapi@0.4.0 - jobserver@0.1.31 - js-sys@0.3.64 - kdl@4.5.0 - kqueue-sys@1.0.3 - kqueue@1.0.7 - kv-log-macro@1.0.7 - lab@0.11.0 - lazy_static@1.4.0 - leb128@0.2.5 - lev_distance@0.1.1 - libc@0.2.153 - libm@0.2.8 - libnghttp2-sys@0.1.8+1.55.1 - libssh2-sys@0.2.23 - libz-sys@1.1.8 - linked-hash-map@0.5.4 - linux-raw-sys@0.3.7 - linux-raw-sys@0.4.13 - lock_api@0.4.11 - log-mdc@0.1.0 - log4rs@1.2.0 - log@0.4.17 - mac_address@1.1.6 - mach2@0.4.2 - maplit@1.0.2 - maybe-owned@0.3.4 - memchr@2.5.0 - memfd@0.6.4 - memmem@0.1.1 - memoffset@0.6.5 - memoffset@0.7.1 - memoffset@0.9.1 - miette-derive@5.8.0 - miette@5.8.0 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.5.3 - mio@0.7.14 - mio@0.8.11 - miow@0.3.7 - multimap@0.8.3 - names@0.14.0 - nix@0.23.1 - nix@0.26.4 - nix@0.28.0 - nom@7.1.1 - notify-debouncer-full@0.1.0 - notify@6.0.0 - ntapi@0.3.7 - num-derive@0.3.3 - num-integer@0.1.45 - num-traits@0.2.15 - num_cpus@1.13.1 - object@0.28.4 - object@0.33.0 - once_cell@1.18.0 - opaque-debug@0.2.3 - openssl-probe@0.1.5 - openssl-src@300.1.6+3.1.4 - openssl-sys@0.9.93 - option-ext@0.2.0 - ordered-float@2.10.0 - ordered-float@3.3.0 - ordered-float@4.2.0 - os_str_bytes@6.1.0 - owo-colors@3.4.0 - parking@2.0.0 - parking_lot@0.11.2 - parking_lot@0.12.1 - parking_lot_core@0.8.5 - parking_lot_core@0.9.9 - paste@1.0.7 - percent-encoding@2.3.1 - pest@2.1.3 - pest_derive@2.1.0 - pest_generator@2.1.3 - pest_meta@2.1.3 - petgraph@0.6.3 - phf@0.11.1 - phf_codegen@0.11.2 - phf_generator@0.11.1 - phf_macros@0.11.1 - phf_shared@0.11.1 - pin-project-internal@1.1.3 - pin-project-lite@0.2.14 - pin-project@1.1.3 - pin-utils@0.1.0 - pkg-config@0.3.25 - polling@2.2.0 - postcard@1.0.8 - ppv-lite86@0.2.16 - pretty-bytes@0.2.2 - prettyplease@0.1.25 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.82 - prost-build@0.11.9 - prost-derive@0.11.9 - prost-types@0.11.9 - prost@0.11.9 - psm@0.1.21 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.3 - rayon-core@1.9.3 - rayon@1.5.3 - redox_syscall@0.2.13 - redox_syscall@0.4.1 - redox_users@0.4.3 - regalloc2@0.9.3 - regex-syntax@0.7.1 - regex@1.8.1 - rmp-serde@1.1.0 - rmp@0.8.11 - rustc-demangle@0.1.21 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.37.7 - rustix@0.38.34 - ryu@1.0.10 - same-file@1.0.6 - schannel@0.1.22 - scopeguard@1.1.0 - semver-parser@0.10.2 - semver@0.11.0 - semver@1.0.17 - serde-value@0.7.0 - serde@1.0.202 - serde_derive@1.0.202 - serde_json@1.0.81 - serde_spanned@0.6.6 - serde_yaml@0.8.24 - sha-1@0.8.2 - sha2@0.10.8 - shell-words@1.1.0 - shellexpand@2.1.2 - shellexpand@3.0.0 - signal-hook-registry@1.4.0 - signal-hook@0.3.14 - similar@2.1.0 - siphasher@0.3.10 - sixel-image@0.1.0 - sixel-tokenizer@0.1.0 - slab@0.4.6 - slice-group-by@0.3.1 - sluice@0.5.5 - smallvec@1.13.2 - smawk@0.3.1 - socket2@0.4.9 - socket2@0.5.7 - spinning@0.1.0 - sptr@0.3.2 - ssh2@0.9.3 - stable_deref_trait@1.2.0 - strip-ansi-escapes@0.1.1 - strsim@0.10.0 - strum@0.20.0 - strum_macros@0.20.1 - suggest@0.4.0 - supports-color@2.0.0 - supports-hyperlinks@2.1.0 - supports-unicode@2.0.0 - syn@1.0.96 - syn@2.0.64 - sysinfo@0.22.5 - system-interface@0.27.2 - target-lexicon@0.12.14 - tempfile@3.10.1 - termcolor@1.1.3 - terminal_size@0.1.17 - terminfo@0.8.0 - termios@0.3.3 - termwiz@0.22.0 - textwrap@0.15.0 - thiserror-impl@1.0.61 - thiserror@1.0.61 - thread-id@4.0.0 - thread_local@1.1.7 - time@0.1.44 - tinyvec@1.6.0 - tinyvec_macros@0.1.0 - to_method@1.1.0 - tokio@1.37.0 - toml@0.5.10 - toml@0.8.13 - toml_datetime@0.6.6 - toml_edit@0.22.13 - tracing-attributes@0.1.21 - tracing-core@0.1.27 - tracing-futures@0.2.5 - tracing@0.1.35 - typemap-ors@1.0.0 - typenum@1.15.0 - typetag-impl@0.1.8 - typetag@0.1.8 - ucd-trie@0.1.3 - unicode-bidi@0.3.15 - unicode-ident@1.0.1 - unicode-linebreak@0.1.2 - unicode-normalization@0.1.23 - unicode-segmentation@1.9.0 - unicode-width@0.1.10 - unicode-xid@0.2.4 - unsafe-any-ors@1.0.0 - url@2.5.0 - utf8parse@0.2.0 - uuid@1.7.0 - value-bag@1.0.0-alpha.9 - vcpkg@0.2.15 - version_check@0.9.4 - vte@0.10.1 - vte@0.11.0 - vte_generate_state_changes@0.1.1 - vtparse@0.6.2 - waker-fn@1.1.0 - walkdir@2.3.3 - wasi@0.10.0+wasi-snapshot-preview1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.87 - wasm-bindgen-futures@0.4.31 - wasm-bindgen-macro-support@0.2.87 - wasm-bindgen-macro@0.2.87 - wasm-bindgen-shared@0.2.87 - wasm-bindgen@0.2.87 - wasm-encoder@0.207.0 - wasmparser@0.207.0 - wasmprinter@0.207.0 - wasmtime-asm-macros@21.0.2 - wasmtime-cache@21.0.2 - wasmtime-component-macro@21.0.2 - wasmtime-component-util@21.0.2 - wasmtime-cranelift@21.0.2 - wasmtime-environ@21.0.2 - wasmtime-fiber@21.0.2 - wasmtime-jit-debug@21.0.2 - wasmtime-jit-icache-coherence@21.0.2 - wasmtime-slab@21.0.2 - wasmtime-types@21.0.2 - wasmtime-versioned-export-macros@21.0.2 - wasmtime-wasi@21.0.2 - wasmtime-winch@21.0.2 - wasmtime-wit-bindgen@21.0.2 - wasmtime@21.0.2 - wast@207.0.0 - wast@35.0.2 - wat@1.207.0 - web-sys@0.3.58 - wepoll-ffi@0.1.2 - wezterm-bidi@0.2.2 - wezterm-blob-leases@0.1.0 - wezterm-color-types@0.3.0 - wezterm-dynamic-derive@0.1.0 - wezterm-dynamic@0.1.0 - wezterm-dynamic@0.2.0 - wezterm-input-types@0.1.0 - which@4.2.5 - wiggle-generate@21.0.2 - wiggle-macro@21.0.2 - wiggle@21.0.2 - 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 - winch-codegen@0.19.2 - windows-core@0.52.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.42.2 - windows-targets@0.48.0 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.0 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.0 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.0 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.0 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.0 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.0 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.0 - windows_x86_64_msvc@0.52.5 - winnow@0.6.8 - winx@0.36.3 - wit-parser@0.207.0 - witx@0.9.1 - xflags-macros@0.3.1 - xflags@0.3.1 - xshell-macros@0.2.2 - xshell@0.2.2 - yaml-rust@0.4.5 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zeroize@1.5.5 - zstd-safe@7.1.0 - zstd-sys@2.0.10+zstd.1.5.6 - zstd@0.13.1 -" - -inherit cargo desktop shell-completion xdg - -DESCRIPTION="A terminal workspace with batteries included" -HOMEPAGE=" - https://zellij.dev/ - https://github.com/zellij-org/zellij -" -SRC_URI=" - https://github.com/zellij-org/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 - ISC MIT MPL-2.0 Unicode-DFS-2016 WTFPL-2 -" - -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - net-misc/curl -" -DEPEND="${RDEPEND}" -BDEPEND=" - dev-go/go-md2man -" - -# 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}" -QA_PRESTRIPPED="usr/bin/${PN}" - -DOCS=( - CHANGELOG.md - CODE_OF_CONDUCT.md - CONTRIBUTING.md - GOVERNANCE.md - README.md - docs/ -) - -src_compile() { - cargo_src_compile - pushd ${PN}-utils 2>/dev/null || die - cargo_src_compile - popd 2>/dev/null || die - - go-md2man -in docs/MANPAGE.md -out ${PN}.1 || die - - "$(cargo_target_dir)"/zellij setup --generate-completion bash > zellij.bash || die - "$(cargo_target_dir)"/zellij setup --generate-completion fish > zellij.fish || die - "$(cargo_target_dir)"/zellij setup --generate-completion zsh > zellij.zsh || die -} - -src_install() { - cargo_src_install - - dodoc example/*.* - - insinto /usr/share/zellij - doins -r example/{themes,layouts} - doins -r ${PN}-utils/assets/{layouts,plugins,config,shell} \ - ${PN}-utils/assets/*.wasm ${PN}-utils/assets/README.md - - doman ${PN}.1 - - domenu assets/zellij.desktop - newicon assets/logo.png zellij.png - - newbashcomp zellij.bash zellij - newfishcomp zellij.fish zellij.fish - newzshcomp zellij.zsh _zellij -} diff --git a/app-portage/emlop/emlop-0.7.0-r1.ebuild b/app-portage/emlop/emlop-0.7.0-r1.ebuild new file mode 100644 index 000000000000..169c26543157 --- /dev/null +++ b/app-portage/emlop/emlop-0.7.0-r1.ebuild @@ -0,0 +1,131 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + adler@1.0.2 + aho-corasick@1.1.2 + anstream@0.6.13 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + anyhow@1.0.80 + assert_cmd@2.0.13 + atoi@2.0.0 + autocfg@1.1.0 + bstr@1.9.1 + cfg-if@1.0.0 + clap@4.4.18 + clap_builder@4.4.18 + clap_complete@4.4.10 + clap_derive@4.4.7 + clap_lex@0.6.0 + colorchoice@1.0.0 + crc32fast@1.4.0 + crossbeam-channel@0.5.12 + crossbeam-utils@0.8.19 + deranged@0.3.11 + difflib@0.4.0 + doc-comment@0.3.3 + env_filter@0.1.0 + env_logger@0.11.2 + equivalent@1.0.1 + emlop@0.7.0 + flate2@1.0.28 + hashbrown@0.14.3 + heck@0.4.1 + indexmap@2.2.5 + itoa@1.0.10 + libc@0.2.153 + log@0.4.21 + memchr@2.7.1 + miniz_oxide@0.7.2 + num-conv@0.1.0 + num-traits@0.2.18 + num_threads@0.1.7 + powerfmt@0.2.0 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + proc-macro2@1.0.78 + quote@1.0.35 + regex-automata@0.4.6 + regex-syntax@0.8.2 + regex@1.10.3 + rev_lines@0.3.0 + ryu@1.0.17 + serde@1.0.197 + serde_derive@1.0.197 + serde_json@1.0.114 + serde_spanned@0.6.5 + strsim@0.10.0 + syn@2.0.52 + termtree@0.4.1 + thiserror-impl@1.0.57 + thiserror@1.0.57 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + toml@0.8.10 + toml_datetime@0.6.5 + toml_edit@0.22.6 + unicode-ident@1.0.12 + utf8parse@0.2.1 + wait-timeout@0.2.0 + windows-sys@0.52.0 + windows-targets@0.52.4 + windows_aarch64_gnullvm@0.52.4 + windows_aarch64_msvc@0.52.4 + windows_i686_gnu@0.52.4 + windows_i686_msvc@0.52.4 + windows_x86_64_gnu@0.52.4 + windows_x86_64_gnullvm@0.52.4 + windows_x86_64_msvc@0.52.4 + winnow@0.6.5 +" + +RUST_MIN_VER="1.71.1" + +inherit cargo shell-completion + +DESCRIPTION="A fast, accurate, ergonomic emerge.log parser" +HOMEPAGE="https://github.com/vincentdephily/emlop" +SRC_URI=" + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" + MIT Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" + +SLOT="0" +KEYWORDS="amd64" + +# rust does not use *FLAGS from make.conf, silence portage warning +QA_FLAGS_IGNORED="usr/bin/${PN}" + +PATCHES=( + # Fix build with rust >= 1.80 + "${FILESDIR}/${P}-time_dep.patch" +) + +src_install() { + cargo_src_install + dodoc README.md CHANGELOG.md emlop.toml + # bash + "$(cargo_target_dir)"/emlop complete bash > emlop || die + dobashcomp emlop + # zsh + "$(cargo_target_dir)"/emlop complete zsh > _emlop || die + dozshcomp _emlop + # fish + "$(cargo_target_dir)"/emlop complete fish > emlop.fish || die + dofishcomp emlop.fish +} diff --git a/app-portage/emlop/emlop-0.7.0.ebuild b/app-portage/emlop/emlop-0.7.0.ebuild deleted file mode 100644 index 40f36cd2218c..000000000000 --- a/app-portage/emlop/emlop-0.7.0.ebuild +++ /dev/null @@ -1,131 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - adler@1.0.2 - aho-corasick@1.1.2 - anstream@0.6.13 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - anyhow@1.0.80 - assert_cmd@2.0.13 - atoi@2.0.0 - autocfg@1.1.0 - bstr@1.9.1 - cfg-if@1.0.0 - clap@4.4.18 - clap_builder@4.4.18 - clap_complete@4.4.10 - clap_derive@4.4.7 - clap_lex@0.6.0 - colorchoice@1.0.0 - crc32fast@1.4.0 - crossbeam-channel@0.5.12 - crossbeam-utils@0.8.19 - deranged@0.3.11 - difflib@0.4.0 - doc-comment@0.3.3 - env_filter@0.1.0 - env_logger@0.11.2 - equivalent@1.0.1 - emlop@0.7.0 - flate2@1.0.28 - hashbrown@0.14.3 - heck@0.4.1 - indexmap@2.2.5 - itoa@1.0.10 - libc@0.2.153 - log@0.4.21 - memchr@2.7.1 - miniz_oxide@0.7.2 - num-conv@0.1.0 - num-traits@0.2.18 - num_threads@0.1.7 - powerfmt@0.2.0 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - proc-macro2@1.0.78 - quote@1.0.35 - regex-automata@0.4.6 - regex-syntax@0.8.2 - regex@1.10.3 - rev_lines@0.3.0 - ryu@1.0.17 - serde@1.0.197 - serde_derive@1.0.197 - serde_json@1.0.114 - serde_spanned@0.6.5 - strsim@0.10.0 - syn@2.0.52 - termtree@0.4.1 - thiserror-impl@1.0.57 - thiserror@1.0.57 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - toml@0.8.10 - toml_datetime@0.6.5 - toml_edit@0.22.6 - unicode-ident@1.0.12 - utf8parse@0.2.1 - wait-timeout@0.2.0 - windows-sys@0.52.0 - windows-targets@0.52.4 - windows_aarch64_gnullvm@0.52.4 - windows_aarch64_msvc@0.52.4 - windows_i686_gnu@0.52.4 - windows_i686_msvc@0.52.4 - windows_x86_64_gnu@0.52.4 - windows_x86_64_gnullvm@0.52.4 - windows_x86_64_msvc@0.52.4 - winnow@0.6.5 -" - -inherit cargo shell-completion - -DESCRIPTION="A fast, accurate, ergonomic emerge.log parser" -HOMEPAGE="https://github.com/vincentdephily/emlop" -SRC_URI=" - ${CARGO_CRATE_URIS} -" - -LICENSE="GPL-3" -# Dependent crate licenses -LICENSE+=" - MIT Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" - -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}" - -PATCHES=( - # Fix build with rust >= 1.80 - "${FILESDIR}/${P}-time_dep.patch" -) - -src_install() { - cargo_src_install - dodoc README.md CHANGELOG.md emlop.toml - # bash - "$(cargo_target_dir)"/emlop complete bash > emlop || die - dobashcomp emlop - # zsh - "$(cargo_target_dir)"/emlop complete zsh > _emlop || die - dozshcomp _emlop - # fish - "$(cargo_target_dir)"/emlop complete fish > emlop.fish || die - dofishcomp emlop.fish -} diff --git a/app-portage/emlop/emlop-0.7.1-r1.ebuild b/app-portage/emlop/emlop-0.7.1-r1.ebuild new file mode 100644 index 000000000000..4c336514e628 --- /dev/null +++ b/app-portage/emlop/emlop-0.7.1-r1.ebuild @@ -0,0 +1,122 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + emlop@0.7.1 + adler2@2.0.0 + aho-corasick@1.1.3 + 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 + assert_cmd@2.0.13 + atoi@2.0.0 + autocfg@1.3.0 + bstr@1.10.0 + cfg-if@1.0.0 + clap@4.4.18 + clap_builder@4.4.18 + clap_complete@4.4.10 + clap_derive@4.4.7 + clap_lex@0.6.0 + colorchoice@1.0.2 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-utils@0.8.20 + deranged@0.3.11 + difflib@0.4.0 + doc-comment@0.3.3 + env_filter@0.1.2 + env_logger@0.11.5 + equivalent@1.0.1 + flate2@1.0.33 + hashbrown@0.14.5 + heck@0.4.1 + indexmap@2.5.0 + is_terminal_polyfill@1.70.1 + itoa@1.0.11 + libc@0.2.159 + log@0.4.22 + memchr@2.7.4 + miniz_oxide@0.8.0 + num-conv@0.1.0 + num-traits@0.2.19 + num_threads@0.1.7 + powerfmt@0.2.0 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + proc-macro2@1.0.86 + quote@1.0.37 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.6 + rev_lines@0.3.0 + ryu@1.0.18 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.128 + serde_spanned@0.6.7 + strsim@0.10.0 + syn@2.0.77 + termtree@0.4.1 + thiserror-impl@1.0.64 + thiserror@1.0.64 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.22.21 + unicode-ident@1.0.13 + utf8parse@0.2.2 + wait-timeout@0.2.0 + windows-sys@0.52.0 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.52.6 + winnow@0.6.20 +" + +RUST_MIN_VER="1.71.1" + +inherit cargo shell-completion + +DESCRIPTION="A fast, accurate, ergonomic emerge.log parser" +HOMEPAGE="https://github.com/vincentdephily/emlop" +SRC_URI=" + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" + MIT Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" + +SLOT="0" +KEYWORDS="~amd64" + +# rust does not use *FLAGS from make.conf, silence portage warning +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_install() { + cargo_src_install + dodoc README.md CHANGELOG.md emlop.toml + newbashcomp completion.bash emlop + newfishcomp completion.fish emlop.fish + newzshcomp completion.zsh _emlop +} diff --git a/app-portage/emlop/emlop-0.7.1.ebuild b/app-portage/emlop/emlop-0.7.1.ebuild deleted file mode 100644 index a2209e78a73a..000000000000 --- a/app-portage/emlop/emlop-0.7.1.ebuild +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - emlop@0.7.1 - adler2@2.0.0 - aho-corasick@1.1.3 - 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 - assert_cmd@2.0.13 - atoi@2.0.0 - autocfg@1.3.0 - bstr@1.10.0 - cfg-if@1.0.0 - clap@4.4.18 - clap_builder@4.4.18 - clap_complete@4.4.10 - clap_derive@4.4.7 - clap_lex@0.6.0 - colorchoice@1.0.2 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-utils@0.8.20 - deranged@0.3.11 - difflib@0.4.0 - doc-comment@0.3.3 - env_filter@0.1.2 - env_logger@0.11.5 - equivalent@1.0.1 - flate2@1.0.33 - hashbrown@0.14.5 - heck@0.4.1 - indexmap@2.5.0 - is_terminal_polyfill@1.70.1 - itoa@1.0.11 - libc@0.2.159 - log@0.4.22 - memchr@2.7.4 - miniz_oxide@0.8.0 - num-conv@0.1.0 - num-traits@0.2.19 - num_threads@0.1.7 - powerfmt@0.2.0 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - proc-macro2@1.0.86 - quote@1.0.37 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.6 - rev_lines@0.3.0 - ryu@1.0.18 - serde@1.0.210 - serde_derive@1.0.210 - serde_json@1.0.128 - serde_spanned@0.6.7 - strsim@0.10.0 - syn@2.0.77 - termtree@0.4.1 - thiserror-impl@1.0.64 - thiserror@1.0.64 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.22.21 - unicode-ident@1.0.13 - utf8parse@0.2.2 - wait-timeout@0.2.0 - windows-sys@0.52.0 - windows-targets@0.52.6 - windows_aarch64_gnullvm@0.52.6 - windows_aarch64_msvc@0.52.6 - windows_i686_gnu@0.52.6 - windows_i686_gnullvm@0.52.6 - windows_i686_msvc@0.52.6 - windows_x86_64_gnu@0.52.6 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_msvc@0.52.6 - winnow@0.6.20 -" - -inherit cargo shell-completion - -DESCRIPTION="A fast, accurate, ergonomic emerge.log parser" -HOMEPAGE="https://github.com/vincentdephily/emlop" -SRC_URI=" - ${CARGO_CRATE_URIS} -" - -LICENSE="GPL-3" -# Dependent crate licenses -LICENSE+=" - MIT Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" - -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}" - -src_install() { - cargo_src_install - dodoc README.md CHANGELOG.md emlop.toml - newbashcomp completion.bash emlop - newfishcomp completion.fish emlop.fish - newzshcomp completion.zsh _emlop -} diff --git a/app-shells/atuin/atuin-18.3.0-r1.ebuild b/app-shells/atuin/atuin-18.3.0-r1.ebuild deleted file mode 100644 index 584ccab1160b..000000000000 --- a/app-shells/atuin/atuin-18.3.0-r1.ebuild +++ /dev/null @@ -1,596 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - addr2line@0.22.0 - adler@1.0.2 - aead@0.5.2 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.1.0 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - anyhow@1.0.86 - arc-swap@1.7.1 - argon2@0.5.3 - async-stream-impl@0.3.5 - async-stream@0.3.5 - async-trait@0.1.80 - atoi@2.0.0 - atomic-waker@1.1.2 - atomic@0.5.3 - autocfg@1.3.0 - axum-core@0.3.4 - axum-core@0.4.3 - axum-server@0.6.0 - axum@0.6.20 - axum@0.7.5 - backtrace@0.3.72 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - beef@0.5.2 - bitflags@1.3.2 - bitflags@2.5.0 - blake2@0.10.6 - block-buffer@0.10.4 - block@0.1.6 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.6.0 - cassowary@0.3.0 - castaway@0.2.2 - cc@1.0.98 - cfg-if@1.0.0 - chacha20@0.9.1 - chrono@0.4.38 - cipher@0.4.4 - clap@4.5.4 - clap_builder@4.5.2 - clap_complete@4.5.2 - clap_complete_nushell@4.5.1 - clap_derive@4.5.4 - clap_lex@0.7.0 - cli-clipboard@0.4.0 - clipboard-win@4.5.0 - colorchoice@1.0.1 - colored@2.1.0 - compact_str@0.7.1 - config@0.13.4 - console@0.15.8 - const-oid@0.9.6 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc-catalog@2.4.0 - crc@3.2.1 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - crypto-common@0.1.6 - crypto_secretbox@0.1.1 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.2 - darling@0.20.9 - darling_core@0.20.9 - darling_macro@0.20.9 - dashmap@5.5.3 - der@0.7.9 - deranged@0.3.11 - derive-new@0.5.9 - diff@0.1.13 - digest@0.10.7 - directories@5.0.1 - dirs-sys@0.4.1 - dirs@5.0.1 - dotenvy@0.15.7 - downcast-rs@1.2.1 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - either@1.12.0 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - env_filter@0.1.0 - env_logger@0.11.3 - equivalent@1.0.1 - errno@0.3.9 - error-code@2.3.1 - etcetera@0.8.0 - event-listener@2.5.3 - eyre@0.6.12 - fastrand@2.1.0 - fiat-crypto@0.2.9 - filedescriptor@0.8.2 - fixedbitset@0.4.2 - flume@0.11.0 - fnv@1.0.7 - form_urlencoded@1.2.1 - fs-err@2.11.0 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-intrusive@0.5.0 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - fuzzy-matcher@0.3.7 - generic-array@0.14.7 - gethostname@0.2.3 - getrandom@0.2.15 - gimli@0.29.0 - h2@0.3.26 - h2@0.4.5 - hashbrown@0.12.3 - hashbrown@0.13.1 - hashbrown@0.14.5 - hashlink@0.8.4 - heck@0.4.1 - heck@0.5.0 - hermit-abi@0.3.9 - hex@0.4.3 - hkdf@0.12.4 - hmac@0.12.1 - home@0.5.9 - http-body-util@0.1.1 - http-body@0.4.6 - http-body@1.0.0 - http@0.2.12 - http@1.1.0 - httparse@1.8.0 - httpdate@1.0.3 - humantime@2.1.0 - hyper-rustls@0.24.2 - hyper-timeout@0.4.1 - hyper-util@0.1.5 - hyper@0.14.29 - hyper@1.3.1 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - idna@0.5.0 - indenter@0.3.3 - indexmap@1.9.3 - indexmap@2.2.6 - indicatif@0.17.8 - inout@0.1.3 - instant@0.1.13 - interim@0.1.2 - ipnet@2.9.0 - is_terminal_polyfill@1.70.0 - iso8601@0.6.1 - itertools@0.12.1 - itoa@1.0.11 - js-sys@0.3.69 - lazy_static@1.4.0 - libc@0.2.155 - libm@0.2.8 - libredox@0.1.3 - libsqlite3-sys@0.27.0 - linux-raw-sys@0.4.14 - listenfd@1.0.1 - lock_api@0.4.12 - log@0.4.21 - logos-codegen@0.14.0 - logos-derive@0.14.0 - logos@0.14.0 - lru@0.12.3 - mach2@0.4.2 - malloc_buf@0.0.6 - matchers@0.1.0 - matchit@0.7.3 - md-5@0.10.6 - memchr@2.7.2 - memoffset@0.6.5 - metrics-exporter-prometheus@0.12.2 - metrics-macros@0.7.1 - metrics-util@0.15.1 - metrics@0.21.1 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.7.3 - minspan@0.1.1 - mio@0.8.11 - multimap@0.10.0 - nix@0.24.3 - nom@7.1.3 - ntapi@0.4.1 - nu-ansi-term@0.46.0 - nu-ansi-term@0.50.0 - num-bigint-dig@0.8.4 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.45 - num-traits@0.2.19 - num_cpus@1.16.0 - num_threads@0.1.7 - number_prefix@0.4.0 - objc-foundation@0.1.1 - objc@0.2.7 - objc_id@0.1.1 - object@0.35.0 - once_cell@1.19.0 - opaque-debug@0.3.1 - openssl-probe@0.1.5 - option-ext@0.2.0 - os_pipe@1.1.5 - overload@0.1.1 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - password-hash@0.5.0 - paste@1.0.15 - pathdiff@0.2.1 - pbkdf2@0.11.0 - pem-rfc7468@0.7.0 - percent-encoding@2.3.1 - petgraph@0.6.5 - pin-project-internal@1.1.5 - pin-project-lite@0.2.14 - pin-project@1.1.5 - pin-utils@0.1.0 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - platforms@3.4.0 - poly1305@0.8.0 - portable-atomic@1.6.0 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - pretty_assertions@1.4.0 - prettyplease@0.2.20 - proc-macro2@1.0.85 - prost-build@0.12.6 - prost-derive@0.12.6 - prost-types@0.12.6 - prost@0.12.6 - quanta@0.11.1 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - ratatui@0.26.3 - raw-cpuid@10.7.0 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.1 - redox_users@0.4.5 - regex-automata@0.1.10 - regex-automata@0.4.6 - regex-syntax@0.6.29 - regex-syntax@0.8.3 - regex@1.10.4 - reqwest@0.11.27 - ring@0.17.8 - rmp@0.8.14 - rpassword@7.3.1 - rsa@0.9.6 - rtoolbox@0.0.2 - runtime-format@0.1.3 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - rustls-native-certs@0.6.3 - rustls-pemfile@1.0.4 - rustls-pemfile@2.1.2 - rustls-pki-types@1.7.0 - rustls-webpki@0.101.7 - rustls@0.21.12 - rustversion@1.0.17 - rusty_paserk@0.4.0 - rusty_paseto@0.7.1 - ryu@1.0.18 - salsa20@0.10.2 - schannel@0.1.23 - scopeguard@1.2.0 - sct@0.7.1 - security-framework-sys@2.11.0 - security-framework@2.11.0 - semver@1.0.23 - serde@1.0.203 - serde_derive@1.0.203 - serde_json@1.0.117 - serde_path_to_error@0.1.16 - serde_regex@1.1.0 - serde_urlencoded@0.7.1 - serde_with@3.8.1 - serde_with_macros@3.8.1 - sha1@0.10.6 - sha2@0.10.8 - sharded-slab@0.1.7 - shellexpand@3.1.0 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - signature@2.2.0 - sketches-ddsketch@0.2.2 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.5.7 - spin@0.5.2 - spin@0.9.8 - spki@0.7.3 - sql-builder@3.1.1 - sqlformat@0.2.3 - sqlx-core@0.7.4 - sqlx-macros-core@0.7.4 - sqlx-macros@0.7.4 - sqlx-mysql@0.7.4 - sqlx-postgres@0.7.4 - sqlx-sqlite@0.7.4 - sqlx@0.7.4 - stability@0.2.0 - static_assertions@1.1.0 - str-buf@1.0.6 - stringprep@0.1.5 - strsim@0.11.1 - strum@0.26.2 - strum_macros@0.26.4 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.66 - sync_wrapper@0.1.2 - sync_wrapper@1.0.1 - sysinfo@0.30.12 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tempfile@3.10.1 - thiserror-impl@1.0.61 - thiserror@1.0.61 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-bip39@1.0.0 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tokio-io-timeout@1.2.0 - tokio-macros@2.3.0 - tokio-rustls@0.24.1 - tokio-stream@0.1.15 - tokio-util@0.7.11 - tokio@1.38.0 - toml@0.5.11 - tonic-build@0.11.0 - tonic-types@0.11.0 - tonic@0.11.0 - tower-http@0.5.2 - tower-layer@0.3.2 - tower-service@0.3.2 - tower@0.4.13 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing-tree@0.3.1 - tracing@0.1.40 - tree_magic_mini@3.1.5 - try-lock@0.2.5 - typed-builder-macro@0.18.2 - typed-builder@0.18.2 - typenum@1.17.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-properties@0.1.1 - unicode-segmentation@1.11.0 - unicode-truncate@1.0.0 - unicode-width@0.1.13 - unicode_categories@0.1.1 - universal-hash@0.5.1 - untrusted@0.9.0 - url@2.5.0 - urlencoding@2.1.3 - utf8parse@0.2.1 - uuid@1.8.0 - valuable@0.1.0 - vcpkg@0.2.15 - version_check@0.9.4 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasite@0.1.0 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - wayland-client@0.29.5 - wayland-commons@0.29.5 - wayland-protocols@0.29.5 - wayland-scanner@0.29.5 - wayland-sys@0.29.5 - web-sys@0.3.69 - webpki-roots@0.25.4 - whoami@1.5.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-wsapoll@0.1.2 - 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-targets@0.48.5 - windows-targets@0.52.5 - windows@0.52.0 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winreg@0.50.0 - wl-clipboard-rs@0.7.0 - x11-clipboard@0.7.1 - x11rb-protocol@0.10.0 - x11rb@0.10.1 - xml-rs@0.8.20 - yansi@0.5.1 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zeroize@1.8.1 - zeroize_derive@1.4.2 -" - -inherit cargo greadme shell-completion systemd - -DESCRIPTION="Shell history manager supporting encrypted synchronisation" -HOMEPAGE="https://atuin.sh https://github.com/atuinsh/atuin" -SRC_URI=" - https://github.com/atuinsh/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -# - openssl for ring crate -LICENSE+=" Apache-2.0 BSD Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 openssl" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~riscv" -IUSE="+client +daemon server test +sync" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - || ( client server ) - sync? ( client ) - test? ( client server sync ) -" -RDEPEND="server? ( acct-user/atuin )" -DEPEND="test? ( dev-db/postgresql )" -# protobuf can be dropped after atuin 18.3.0, since upstream switched to -# 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}" - -GREADME_DISABLE_AUTOFORMAT=1 - -DOCS=( - CONTRIBUTING.md - CONTRIBUTORS - README.md -) - -src_configure() { - local myfeatures=( - $(usev client) - $(usev daemon) - $(usev server) - $(usev sync) - ) - cargo_src_configure --no-default-features -} - -src_compile() { - cargo_src_compile - - ATUIN_BIN="$(cargo_target_dir)/${PN}" - - # Prepare shell completion generation - mkdir completions || die - local shell - for shell in bash fish zsh; do - "${ATUIN_BIN}" gen-completions \ - -s ${shell} \ - -o completions \ - || die - done - - if ! use client; then - return 0 - fi - - mkdir shell-init || die - for shell in bash fish zsh; do - "${ATUIN_BIN}" init ${shell} > shell-init/${shell} || die - done -} - -src_test() { - local postgres_dir="${T}"/postgres - initdb "${postgres_dir}" || die - - local port=11123 - # -h '' → only socket connections allowed. - postgres -D "${postgres_dir}" \ - -k "${postgres_dir}" \ - -p "${port}" & - local postgres_pid=${!} - - local timeout_secs=30 - timeout "${timeout_secs}" bash -c \ - 'until printf "" >/dev/tcp/${0}/${1} 2>> "${T}/portlog"; do sleep 1; done' \ - localhost "${port}" || die "Timeout waiting for postgres port ${port} to become available" - - psql -h localhost -p "${port}" -d postgres <<-EOF || die "Failed to configure postgres" - create database atuin; - create user atuin with encrypted password 'pass'; - grant all privileges on database atuin to atuin; - \connect atuin - grant all on schema public to atuin; - EOF - - # Subshell so that postgres_pid is in scope when the trap is executed. - ( - cleanup() { - kill "${postgres_pid}" || die "failed to send SIGTERM to postgres" - } - trap cleanup EXIT - - ATUIN_DB_URI="postgres://atuin:pass@localhost:${port}/atuin" cargo_src_test - ) -} - -src_install() { - exeinto "/usr/bin" - doexe "${ATUIN_BIN}" - - if use server; then - systemd_dounit "${FILESDIR}/atuin.service" - fi - - dodoc -r "${DOCS[@]}" - - newbashcomp "completions/${PN}.bash" "${PN}" - dozshcomp "completions/_${PN}" - dofishcomp "completions/${PN}.fish" - - if ! use client; then - return 0 - fi - - insinto "/usr/share/${PN}" - doins -r shell-init - - greadme_stdin <<-EOF - Gentoo installs atuin's shell-init code under - /usr/share/atuin/shell-init/ - Therefore, instead of using, e.g., 'eval \"\$(atuin init zsh)\"' in - your .zshrc you can simply put \"source /usr/share/atuin/shell-init/zsh\" - there, which avoids the cost of forking a process. -EOF -} diff --git a/app-shells/atuin/atuin-18.3.0-r2.ebuild b/app-shells/atuin/atuin-18.3.0-r2.ebuild new file mode 100644 index 000000000000..2aeb85eee95a --- /dev/null +++ b/app-shells/atuin/atuin-18.3.0-r2.ebuild @@ -0,0 +1,597 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.22.0 + adler@1.0.2 + aead@0.5.2 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.1.0 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.86 + arc-swap@1.7.1 + argon2@0.5.3 + async-stream-impl@0.3.5 + async-stream@0.3.5 + async-trait@0.1.80 + atoi@2.0.0 + atomic-waker@1.1.2 + atomic@0.5.3 + autocfg@1.3.0 + axum-core@0.3.4 + axum-core@0.4.3 + axum-server@0.6.0 + axum@0.6.20 + axum@0.7.5 + backtrace@0.3.72 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + beef@0.5.2 + bitflags@1.3.2 + bitflags@2.5.0 + blake2@0.10.6 + block-buffer@0.10.4 + block@0.1.6 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.6.0 + cassowary@0.3.0 + castaway@0.2.2 + cc@1.0.98 + cfg-if@1.0.0 + chacha20@0.9.1 + chrono@0.4.38 + cipher@0.4.4 + clap@4.5.4 + clap_builder@4.5.2 + clap_complete@4.5.2 + clap_complete_nushell@4.5.1 + clap_derive@4.5.4 + clap_lex@0.7.0 + cli-clipboard@0.4.0 + clipboard-win@4.5.0 + colorchoice@1.0.1 + colored@2.1.0 + compact_str@0.7.1 + config@0.13.4 + console@0.15.8 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc-catalog@2.4.0 + crc@3.2.1 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + crypto-common@0.1.6 + crypto_secretbox@0.1.1 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.2 + darling@0.20.9 + darling_core@0.20.9 + darling_macro@0.20.9 + dashmap@5.5.3 + der@0.7.9 + deranged@0.3.11 + derive-new@0.5.9 + diff@0.1.13 + digest@0.10.7 + directories@5.0.1 + dirs-sys@0.4.1 + dirs@5.0.1 + dotenvy@0.15.7 + downcast-rs@1.2.1 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + either@1.12.0 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + env_filter@0.1.0 + env_logger@0.11.3 + equivalent@1.0.1 + errno@0.3.9 + error-code@2.3.1 + etcetera@0.8.0 + event-listener@2.5.3 + eyre@0.6.12 + fastrand@2.1.0 + fiat-crypto@0.2.9 + filedescriptor@0.8.2 + fixedbitset@0.4.2 + flume@0.11.0 + fnv@1.0.7 + form_urlencoded@1.2.1 + fs-err@2.11.0 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-intrusive@0.5.0 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + fuzzy-matcher@0.3.7 + generic-array@0.14.7 + gethostname@0.2.3 + getrandom@0.2.15 + gimli@0.29.0 + h2@0.3.26 + h2@0.4.5 + hashbrown@0.12.3 + hashbrown@0.13.1 + hashbrown@0.14.5 + hashlink@0.8.4 + heck@0.4.1 + heck@0.5.0 + hermit-abi@0.3.9 + hex@0.4.3 + hkdf@0.12.4 + hmac@0.12.1 + home@0.5.9 + http-body-util@0.1.1 + http-body@0.4.6 + http-body@1.0.0 + http@0.2.12 + http@1.1.0 + httparse@1.8.0 + httpdate@1.0.3 + humantime@2.1.0 + hyper-rustls@0.24.2 + hyper-timeout@0.4.1 + hyper-util@0.1.5 + hyper@0.14.29 + hyper@1.3.1 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + idna@0.5.0 + indenter@0.3.3 + indexmap@1.9.3 + indexmap@2.2.6 + indicatif@0.17.8 + inout@0.1.3 + instant@0.1.13 + interim@0.1.2 + ipnet@2.9.0 + is_terminal_polyfill@1.70.0 + iso8601@0.6.1 + itertools@0.12.1 + itoa@1.0.11 + js-sys@0.3.69 + lazy_static@1.4.0 + libc@0.2.155 + libm@0.2.8 + libredox@0.1.3 + libsqlite3-sys@0.27.0 + linux-raw-sys@0.4.14 + listenfd@1.0.1 + lock_api@0.4.12 + log@0.4.21 + logos-codegen@0.14.0 + logos-derive@0.14.0 + logos@0.14.0 + lru@0.12.3 + mach2@0.4.2 + malloc_buf@0.0.6 + matchers@0.1.0 + matchit@0.7.3 + md-5@0.10.6 + memchr@2.7.2 + memoffset@0.6.5 + metrics-exporter-prometheus@0.12.2 + metrics-macros@0.7.1 + metrics-util@0.15.1 + metrics@0.21.1 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.7.3 + minspan@0.1.1 + mio@0.8.11 + multimap@0.10.0 + nix@0.24.3 + nom@7.1.3 + ntapi@0.4.1 + nu-ansi-term@0.46.0 + nu-ansi-term@0.50.0 + num-bigint-dig@0.8.4 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.45 + num-traits@0.2.19 + num_cpus@1.16.0 + num_threads@0.1.7 + number_prefix@0.4.0 + objc-foundation@0.1.1 + objc@0.2.7 + objc_id@0.1.1 + object@0.35.0 + once_cell@1.19.0 + opaque-debug@0.3.1 + openssl-probe@0.1.5 + option-ext@0.2.0 + os_pipe@1.1.5 + overload@0.1.1 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + password-hash@0.5.0 + paste@1.0.15 + pathdiff@0.2.1 + pbkdf2@0.11.0 + pem-rfc7468@0.7.0 + percent-encoding@2.3.1 + petgraph@0.6.5 + pin-project-internal@1.1.5 + pin-project-lite@0.2.14 + pin-project@1.1.5 + pin-utils@0.1.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + platforms@3.4.0 + poly1305@0.8.0 + portable-atomic@1.6.0 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + pretty_assertions@1.4.0 + prettyplease@0.2.20 + proc-macro2@1.0.85 + prost-build@0.12.6 + prost-derive@0.12.6 + prost-types@0.12.6 + prost@0.12.6 + quanta@0.11.1 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + ratatui@0.26.3 + raw-cpuid@10.7.0 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.1 + redox_users@0.4.5 + regex-automata@0.1.10 + regex-automata@0.4.6 + regex-syntax@0.6.29 + regex-syntax@0.8.3 + regex@1.10.4 + reqwest@0.11.27 + ring@0.17.8 + rmp@0.8.14 + rpassword@7.3.1 + rsa@0.9.6 + rtoolbox@0.0.2 + runtime-format@0.1.3 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + rustls-native-certs@0.6.3 + rustls-pemfile@1.0.4 + rustls-pemfile@2.1.2 + rustls-pki-types@1.7.0 + rustls-webpki@0.101.7 + rustls@0.21.12 + rustversion@1.0.17 + rusty_paserk@0.4.0 + rusty_paseto@0.7.1 + ryu@1.0.18 + salsa20@0.10.2 + schannel@0.1.23 + scopeguard@1.2.0 + sct@0.7.1 + security-framework-sys@2.11.0 + security-framework@2.11.0 + semver@1.0.23 + serde@1.0.203 + serde_derive@1.0.203 + serde_json@1.0.117 + serde_path_to_error@0.1.16 + serde_regex@1.1.0 + serde_urlencoded@0.7.1 + serde_with@3.8.1 + serde_with_macros@3.8.1 + sha1@0.10.6 + sha2@0.10.8 + sharded-slab@0.1.7 + shellexpand@3.1.0 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + signature@2.2.0 + sketches-ddsketch@0.2.2 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + spin@0.5.2 + spin@0.9.8 + spki@0.7.3 + sql-builder@3.1.1 + sqlformat@0.2.3 + sqlx-core@0.7.4 + sqlx-macros-core@0.7.4 + sqlx-macros@0.7.4 + sqlx-mysql@0.7.4 + sqlx-postgres@0.7.4 + sqlx-sqlite@0.7.4 + sqlx@0.7.4 + stability@0.2.0 + static_assertions@1.1.0 + str-buf@1.0.6 + stringprep@0.1.5 + strsim@0.11.1 + strum@0.26.2 + strum_macros@0.26.4 + subtle@2.5.0 + syn@1.0.109 + syn@2.0.66 + sync_wrapper@0.1.2 + sync_wrapper@1.0.1 + sysinfo@0.30.12 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tempfile@3.10.1 + thiserror-impl@1.0.61 + thiserror@1.0.61 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-bip39@1.0.0 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio-io-timeout@1.2.0 + tokio-macros@2.3.0 + tokio-rustls@0.24.1 + tokio-stream@0.1.15 + tokio-util@0.7.11 + tokio@1.38.0 + toml@0.5.11 + tonic-build@0.11.0 + tonic-types@0.11.0 + tonic@0.11.0 + tower-http@0.5.2 + tower-layer@0.3.2 + tower-service@0.3.2 + tower@0.4.13 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing-tree@0.3.1 + tracing@0.1.40 + tree_magic_mini@3.1.5 + try-lock@0.2.5 + typed-builder-macro@0.18.2 + typed-builder@0.18.2 + typenum@1.17.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-properties@0.1.1 + unicode-segmentation@1.11.0 + unicode-truncate@1.0.0 + unicode-width@0.1.13 + unicode_categories@0.1.1 + universal-hash@0.5.1 + untrusted@0.9.0 + url@2.5.0 + urlencoding@2.1.3 + utf8parse@0.2.1 + uuid@1.8.0 + valuable@0.1.0 + vcpkg@0.2.15 + version_check@0.9.4 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasite@0.1.0 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + wayland-client@0.29.5 + wayland-commons@0.29.5 + wayland-protocols@0.29.5 + wayland-scanner@0.29.5 + wayland-sys@0.29.5 + web-sys@0.3.69 + webpki-roots@0.25.4 + whoami@1.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-wsapoll@0.1.2 + 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-targets@0.48.5 + windows-targets@0.52.5 + windows@0.52.0 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winreg@0.50.0 + wl-clipboard-rs@0.7.0 + x11-clipboard@0.7.1 + x11rb-protocol@0.10.0 + x11rb@0.10.1 + xml-rs@0.8.20 + yansi@0.5.1 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zeroize@1.8.1 + zeroize_derive@1.4.2 +" + +RUST_MIN_VER="1.71.1" + +inherit cargo greadme shell-completion systemd + +DESCRIPTION="Shell history manager supporting encrypted synchronisation" +HOMEPAGE="https://atuin.sh https://github.com/atuinsh/atuin" +SRC_URI=" + https://github.com/atuinsh/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +# - openssl for ring crate +LICENSE+=" Apache-2.0 BSD Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 openssl" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~riscv" +IUSE="+client +daemon server test +sync" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + || ( client server ) + sync? ( client ) + test? ( client server sync ) +" +RDEPEND="server? ( acct-user/atuin )" +DEPEND="test? ( dev-db/postgresql )" +# protobuf can be dropped after atuin 18.3.0, since upstream switched to +# protox with 9fa223eaaf0e ("chore(build): compile protobufs with protox (#2122)") +BDEPEND=" + dev-libs/protobuf +" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +GREADME_DISABLE_AUTOFORMAT=1 + +DOCS=( + CONTRIBUTING.md + CONTRIBUTORS + README.md +) + +src_configure() { + local myfeatures=( + $(usev client) + $(usev daemon) + $(usev server) + $(usev sync) + ) + cargo_src_configure --no-default-features +} + +src_compile() { + cargo_src_compile + + ATUIN_BIN="$(cargo_target_dir)/${PN}" + + # Prepare shell completion generation + mkdir completions || die + local shell + for shell in bash fish zsh; do + "${ATUIN_BIN}" gen-completions \ + -s ${shell} \ + -o completions \ + || die + done + + if ! use client; then + return 0 + fi + + mkdir shell-init || die + for shell in bash fish zsh; do + "${ATUIN_BIN}" init ${shell} > shell-init/${shell} || die + done +} + +src_test() { + local postgres_dir="${T}"/postgres + initdb "${postgres_dir}" || die + + local port=11123 + # -h '' → only socket connections allowed. + postgres -D "${postgres_dir}" \ + -k "${postgres_dir}" \ + -p "${port}" & + local postgres_pid=${!} + + local timeout_secs=30 + timeout "${timeout_secs}" bash -c \ + 'until printf "" >/dev/tcp/${0}/${1} 2>> "${T}/portlog"; do sleep 1; done' \ + localhost "${port}" || die "Timeout waiting for postgres port ${port} to become available" + + psql -h localhost -p "${port}" -d postgres <<-EOF || die "Failed to configure postgres" + create database atuin; + create user atuin with encrypted password 'pass'; + grant all privileges on database atuin to atuin; + \connect atuin + grant all on schema public to atuin; + EOF + + # Subshell so that postgres_pid is in scope when the trap is executed. + ( + cleanup() { + kill "${postgres_pid}" || die "failed to send SIGTERM to postgres" + } + trap cleanup EXIT + + ATUIN_DB_URI="postgres://atuin:pass@localhost:${port}/atuin" cargo_src_test + ) +} + +src_install() { + exeinto "/usr/bin" + doexe "${ATUIN_BIN}" + + if use server; then + systemd_dounit "${FILESDIR}/atuin.service" + fi + + dodoc -r "${DOCS[@]}" + + newbashcomp "completions/${PN}.bash" "${PN}" + dozshcomp "completions/_${PN}" + dofishcomp "completions/${PN}.fish" + + if ! use client; then + return 0 + fi + + insinto "/usr/share/${PN}" + doins -r shell-init + + greadme_stdin <<-EOF + Gentoo installs atuin's shell-init code under + /usr/share/atuin/shell-init/ + Therefore, instead of using, e.g., 'eval \"\$(atuin init zsh)\"' in + your .zshrc you can simply put \"source /usr/share/atuin/shell-init/zsh\" + there, which avoids the cost of forking a process. +EOF +} 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-r1.ebuild b/app-shells/mcfly/mcfly-0.9.0-r1.ebuild new file mode 100644 index 000000000000..2c4a7577b00a --- /dev/null +++ b/app-shells/mcfly/mcfly-0.9.0-r1.ebuild @@ -0,0 +1,54 @@ +# Copyright 2017-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +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}" +SRC_URI+="https://dev.gentoo.org/~arthurzam/distfiles/app-shells/${PN}/${P}-crates.tar.xz" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB + || ( Apache-2.0 Boost-1.0 ) +" +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.ebuild deleted file mode 100644 index 2c4a7577b00a..000000000000 --- a/app-shells/mcfly/mcfly-0.9.0.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 2017-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -" - -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}" -SRC_URI+="https://dev.gentoo.org/~arthurzam/distfiles/app-shells/${PN}/${P}-crates.tar.xz" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB - || ( Apache-2.0 Boost-1.0 ) -" -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/nushell/nushell-0.95.0-r1.ebuild b/app-shells/nushell/nushell-0.95.0-r1.ebuild new file mode 100644 index 000000000000..26e04a4ee1e0 --- /dev/null +++ b/app-shells/nushell/nushell-0.95.0-r1.ebuild @@ -0,0 +1,760 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + addr2line@0.21.0 + adler32@1.2.0 + adler@1.0.2 + ahash@0.7.8 + ahash@0.8.11 + aho-corasick@1.1.3 + alloc-no-stdlib@2.0.4 + alloc-stdlib@0.2.2 + alloca@0.4.0 + allocator-api2@0.2.18 + alphanumeric-sort@1.5.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + ansi-str@0.8.0 + ansitok@0.2.0 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.0.3 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.82 + arboard@3.4.0 + argminmax@0.6.2 + array-init-cursor@0.2.0 + arrayvec@0.5.2 + arrayvec@0.7.4 + assert-json-diff@2.0.2 + assert_cmd@2.0.14 + async-stream-impl@0.3.5 + async-stream@0.3.5 + async-trait@0.1.80 + atoi@2.0.0 + atoi_simd@0.15.6 + autocfg@1.2.0 + avro-schema@0.3.0 + backtrace-ext@0.2.1 + backtrace@0.3.71 + base64@0.13.1 + base64@0.21.7 + base64@0.22.1 + bincode@1.3.3 + bindgen@0.69.4 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.5.0 + bitvec@1.0.1 + block-buffer@0.10.4 + block2@0.5.0 + borsh-derive@1.5.0 + borsh@1.5.0 + bracoxide@0.1.3 + brotli-decompressor@4.0.0 + brotli@5.0.0 + bstr@1.9.1 + bumpalo@3.16.0 + byte-unit@5.1.4 + bytecheck@0.6.12 + bytecheck_derive@0.6.12 + bytecount@0.6.8 + bytemuck@1.15.0 + bytemuck_derive@1.6.0 + byteorder@1.5.0 + bytes@1.6.0 + bytesize@1.3.0 + calamine@0.24.0 + cassowary@0.3.0 + castaway@0.2.2 + cc@1.0.96 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + chardetng@0.1.17 + charset@0.1.3 + chrono-humanize@0.2.3 + chrono-tz-build@0.2.1 + chrono-tz-build@0.3.0 + chrono-tz@0.8.6 + chrono-tz@0.9.0 + chrono@0.4.38 + chumsky@0.9.3 + clang-sys@1.7.0 + clap@4.5.4 + clap_builder@4.5.2 + clap_derive@4.5.4 + clap_lex@0.7.0 + clipboard-win@5.3.1 + codepage@0.1.1 + colorchoice@1.0.1 + colorz@1.1.2 + comfy-table@7.1.1 + compact_str@0.7.1 + console@0.15.8 + const-random-macro@0.1.16 + const-random@0.1.18 + const_format@0.2.32 + const_format_proc_macros@0.2.32 + convert_case@0.6.0 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc-catalog@1.1.1 + crc32fast@1.4.0 + crc@2.1.0 + crossbeam-channel@0.5.12 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + crunchy@0.2.2 + crypto-common@0.1.6 + cssparser-macros@0.6.1 + cssparser@0.31.2 + csv-core@0.1.11 + csv@1.3.0 + ctrlc@3.4.4 + deranged@0.3.11 + derive-new@0.6.0 + derive_more@0.99.17 + dialoguer@0.11.0 + diff@0.1.13 + difflib@0.4.0 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dlib@0.5.2 + dlv-list@0.5.2 + doc-comment@0.3.3 + doctest-file@1.0.0 + downcast-rs@1.2.1 + dtoa-short@0.3.4 + dtoa@1.0.9 + dtparse@2.0.0 + dunce@1.0.4 + dyn-clone@1.0.17 + ego-tree@0.6.2 + either@1.11.0 + eml-parser@0.1.4 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + enum_dispatch@0.3.13 + env_logger@0.8.4 + equivalent@1.0.1 + erased-serde@0.4.4 + errno@0.3.8 + error-code@3.2.0 + ethnum@1.5.0 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fancy-regex@0.13.0 + fast-float@0.2.0 + fastrand@2.1.0 + fd-lock@4.0.2 + file-id@0.2.1 + filesize@0.2.0 + filetime@0.2.23 + fixedbitset@0.4.2 + flate2@1.0.30 + float-cmp@0.9.0 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + foreign_vec@0.1.0 + form_urlencoded@1.2.1 + fs_extra@1.3.0 + fsevent-sys@4.1.0 + funty@2.0.0 + futf@0.1.5 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + fuzzy-matcher@0.3.7 + fxhash@0.2.1 + generic-array@0.14.7 + gethostname@0.4.3 + getrandom@0.2.14 + gimli@0.28.1 + git2@0.19.0 + gjson@0.8.1 + glob-match@0.2.1 + glob@0.3.1 + goblin@0.7.1 + h2@0.3.26 + halfbrown@0.2.5 + hash32@0.3.1 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.9.0 + heapless@0.8.0 + heck@0.4.1 + heck@0.5.0 + hermit-abi@0.3.9 + hex@0.4.3 + home@0.5.9 + html5ever@0.26.0 + http-body@0.4.6 + http@0.2.12 + httparse@1.8.0 + httpdate@1.0.3 + human-date-parser@0.1.2 + hyper@0.14.28 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ical@0.11.0 + idna@0.5.0 + indexmap@2.2.6 + indicatif@0.17.8 + indoc@2.0.5 + inotify-sys@0.1.5 + inotify@0.9.6 + instant@0.1.12 + interprocess@2.2.0 + inventory@0.3.15 + is-docker@0.2.0 + is-terminal@0.4.12 + is-wsl@0.4.0 + is_ci@1.2.0 + is_debug@1.0.1 + is_executable@1.0.1 + is_terminal_polyfill@1.70.0 + itertools@0.11.0 + itertools@0.12.1 + itoa@1.0.11 + itoap@1.0.1 + jobserver@0.1.31 + joinery@2.1.0 + js-sys@0.3.69 + jsonpath_lib_polars_vendor@0.0.1 + kqueue-sys@1.0.4 + kqueue@1.0.8 + lazy_static@1.4.0 + lazycell@1.3.0 + lexical-core@0.8.5 + lexical-parse-float@0.8.5 + lexical-parse-integer@0.8.6 + lexical-util@0.8.5 + lexical-write-float@0.8.5 + lexical-write-integer@0.8.5 + libc@0.2.154 + libflate@1.4.0 + libflate_lz77@1.2.0 + libgit2-sys@0.17.0+1.8.1 + libloading@0.8.3 + libm@0.2.8 + libmimalloc-sys@0.1.38 + libproc@0.14.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + libssh2-sys@0.3.0 + libz-sys@1.1.16 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.13 + lock_api@0.4.12 + log@0.4.21 + lru@0.12.3 + lscolors@0.17.0 + lsp-server@0.7.6 + lsp-types@0.95.1 + lz4-sys@1.9.4 + lz4@1.24.0 + mac@0.1.1 + mach2@0.4.2 + malloc_buf@0.0.6 + markup5ever@0.11.0 + md-5@0.10.6 + memchr@2.7.2 + memmap2@0.7.1 + miette-derive@7.2.0 + miette@7.2.0 + mimalloc@0.1.42 + mime@0.3.17 + mime_guess@2.0.4 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + mio@0.8.11 + mockito@1.4.0 + multiversion-macros@0.7.4 + multiversion@0.7.4 + native-tls@0.2.11 + new_debug_unreachable@1.0.6 + nix@0.28.0 + nom@7.1.3 + notify-debouncer-full@0.3.1 + notify@6.1.1 + now@0.1.3 + ntapi@0.4.1 + nu-ansi-term@0.50.0 + num-bigint@0.4.4 + num-complex@0.4.5 + num-conv@0.1.0 + num-format@0.4.4 + num-integer@0.1.46 + num-iter@0.1.44 + num-rational@0.4.1 + num-traits@0.2.18 + num@0.4.2 + num_cpus@1.16.0 + num_threads@0.1.7 + number_prefix@0.4.0 + objc-sys@0.3.3 + objc2-app-kit@0.2.0 + objc2-core-data@0.2.0 + objc2-encode@4.0.1 + objc2-foundation@0.2.0 + objc2@0.5.1 + objc@0.2.7 + object@0.32.2 + omnipath@0.1.6 + once_cell@1.19.0 + open@5.1.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-src@300.2.3+3.2.1 + openssl-sys@0.9.102 + openssl@0.10.64 + ordered-multimap@0.7.3 + os_display@0.1.3 + os_pipe@1.2.0 + owo-colors@4.0.0 + papergrid@0.10.0 + parking_lot@0.12.2 + parking_lot_core@0.9.10 + parquet-format-safe@0.2.4 + parse-zoneinfo@0.3.1 + paste@1.0.14 + pathdiff@0.2.1 + percent-encoding@2.3.1 + peresil@0.3.0 + pest@2.7.10 + pest_derive@2.7.10 + pest_generator@2.7.10 + pest_meta@2.7.10 + petgraph@0.6.4 + phf@0.10.1 + phf@0.11.2 + phf_codegen@0.10.0 + phf_codegen@0.11.2 + phf_generator@0.10.0 + phf_generator@0.11.2 + phf_macros@0.11.2 + phf_shared@0.10.0 + phf_shared@0.11.2 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkg-config@0.3.30 + plain@0.2.3 + planus@0.3.1 + platform-info@2.0.3 + polars-arrow-format@0.1.0 + polars-arrow@0.40.0 + polars-compute@0.40.0 + polars-core@0.40.0 + polars-error@0.40.0 + polars-expr@0.40.0 + polars-io@0.40.0 + polars-json@0.40.0 + polars-lazy@0.40.0 + polars-ops@0.40.0 + polars-parquet@0.40.0 + polars-pipe@0.40.0 + polars-plan@0.40.0 + polars-row@0.40.0 + polars-sql@0.40.0 + polars-time@0.40.0 + polars-utils@0.40.0 + polars@0.40.0 + pori@0.0.0 + portable-atomic@1.6.0 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + pretty_assertions@1.4.0 + print-positions@0.6.1 + proc-macro-crate@3.1.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.81 + procfs-core@0.16.0 + procfs@0.16.0 + psm@0.1.21 + ptr_meta@0.1.4 + ptr_meta_derive@0.1.4 + pure-rust-locales@0.8.1 + pwd@1.4.0 + quick-error@1.2.3 + quick-error@2.0.1 + quick-xml@0.31.0 + quickcheck@1.0.3 + quickcheck_macros@1.0.0 + quote@1.0.36 + quoted_printable@0.5.0 + radium@0.7.0 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + ratatui@0.26.2 + raw-cpuid@11.0.2 + rayon-core@1.12.1 + rayon@1.10.0 + recursive-proc-macro-impl@0.1.1 + recursive@0.1.1 + recvmsg@1.0.0 + redox_syscall@0.4.1 + redox_syscall@0.5.1 + redox_users@0.4.5 + reedline@0.32.0 + ref-cast-impl@1.0.22 + ref-cast@1.0.22 + regex-automata@0.4.6 + regex-syntax@0.8.3 + regex@1.10.4 + relative-path@1.9.2 + rend@0.4.2 + rfc2047-decoder@1.0.5 + rkyv@0.7.44 + rkyv_derive@0.7.44 + rle-decode-fast@1.0.3 + rmp-serde@1.3.0 + rmp@0.8.14 + ropey@1.6.1 + roxmltree@0.19.0 + rstest@0.18.2 + rstest_macros@0.18.2 + rusqlite@0.31.0 + rust-embed-impl@8.4.0 + rust-embed-utils@8.4.0 + rust-embed@8.4.0 + rust-ini@0.21.0 + rust_decimal@1.35.0 + rustc-demangle@0.1.23 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + rustversion@1.0.15 + ryu@1.0.17 + same-file@1.0.6 + scc@2.1.0 + schannel@0.1.23 + scoped-tls@1.0.1 + scopeguard@1.2.0 + scraper@0.19.0 + scroll@0.11.0 + scroll_derive@0.11.1 + sdd@0.2.0 + seahash@4.1.0 + security-framework-sys@2.10.0 + security-framework@2.10.0 + selectors@0.25.0 + semver@1.0.22 + seq-macro@0.3.5 + serde@1.0.200 + serde_derive@1.0.200 + serde_json@1.0.116 + serde_repr@0.1.19 + serde_spanned@0.6.5 + serde_urlencoded@0.7.1 + serde_yaml@0.9.34+deprecated + serial_test@3.1.1 + serial_test_derive@3.1.1 + servo_arc@0.3.0 + sha2@0.10.8 + shadow-rs@0.28.0 + shell-words@1.1.0 + shlex@1.3.0 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + simd-json@0.13.10 + simdutf8@0.1.4 + similar@2.5.0 + simplelog@0.12.2 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.13.2 + smartstring@1.0.1 + smawk@0.3.2 + snap@1.1.1 + socket2@0.5.7 + sqlparser@0.39.0 + sqlparser@0.47.0 + stability@0.2.0 + stable_deref_trait@1.2.0 + stacker@0.1.15 + static_assertions@1.1.0 + str_indices@0.4.3 + streaming-decompression@0.1.2 + streaming-iterator@0.1.9 + strength_reduce@0.2.4 + string_cache@0.8.7 + string_cache_codegen@0.5.2 + strip-ansi-escapes@0.2.0 + strsim@0.11.1 + strum@0.26.2 + strum_macros@0.26.2 + supports-color@2.1.0 + supports-color@3.0.0 + supports-hyperlinks@3.0.0 + supports-unicode@3.0.0 + sxd-document@0.3.2 + sxd-xpath@0.4.2 + syn@1.0.109 + syn@2.0.60 + syn_derive@0.1.8 + sys-locale@0.3.1 + sysinfo@0.30.11 + tabled@0.14.0 + tango-bench@0.5.0 + tap@1.0.1 + target-features@0.1.6 + tempfile@3.10.1 + tendril@0.4.3 + termcolor@1.4.1 + terminal_size@0.3.0 + termtree@0.4.1 + textwrap@0.16.1 + thiserror-impl@1.0.59 + thiserror@1.0.59 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + titlecase@2.2.1 + tokio-util@0.7.10 + tokio@1.37.0 + toml@0.7.8 + toml@0.8.12 + toml_datetime@0.6.5 + toml_edit@0.19.15 + toml_edit@0.21.1 + toml_edit@0.22.12 + tower-service@0.3.2 + tracing-core@0.1.32 + tracing@0.1.40 + trash@3.3.1 + tree_magic_mini@3.1.4 + trim-in-place@0.1.7 + try-lock@0.2.5 + typed-arena@1.7.0 + typenum@1.17.0 + typetag-impl@0.2.16 + typetag@0.2.16 + ucd-trie@0.1.6 + umask@2.1.0 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-linebreak@0.1.5 + unicode-normalization@0.1.23 + unicode-reverse@1.0.9 + unicode-segmentation@1.11.0 + unicode-width@0.1.12 + unicode-xid@0.2.4 + unsafe-libyaml@0.2.11 + ureq@2.9.7 + url@2.5.0 + utf-8@0.7.6 + utf8-width@0.1.7 + utf8parse@0.2.1 + uu_cp@0.0.26 + uu_mkdir@0.0.26 + uu_mktemp@0.0.26 + uu_mv@0.0.26 + uu_uname@0.0.26 + uu_whoami@0.0.26 + uucore@0.0.26 + uucore_procs@0.0.26 + uuhelp_parser@0.0.26 + uuid@1.8.0 + v_htmlescape@0.15.8 + value-trait@0.8.1 + vcpkg@0.2.15 + version_check@0.9.4 + vte@0.10.1 + vte@0.11.1 + vte_generate_state_changes@0.1.1 + wait-timeout@0.2.0 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + wax@0.6.0 + wayland-backend@0.3.3 + wayland-client@0.31.2 + wayland-protocols-wlr@0.2.0 + wayland-protocols@0.31.2 + wayland-scanner@0.31.1 + wayland-sys@0.31.1 + which@6.0.1 + widestring@1.1.0 + wild@2.2.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-core@0.54.0 + windows-result@0.1.1 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows@0.44.0 + windows@0.52.0 + windows@0.54.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winnow@0.5.40 + winnow@0.6.7 + winreg@0.52.0 + winresource@0.1.17 + winsafe@0.0.19 + wl-clipboard-rs@0.8.1 + wyz@0.5.1 + x11rb-protocol@0.13.1 + x11rb@0.13.1 + xattr@1.3.1 + xxhash-rust@0.8.10 + yansi@0.5.1 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 + zip@0.6.6 + zstd-safe@7.1.0 + zstd-sys@2.0.10+zstd.1.5.6 + zstd@0.13.1 +" + +inherit cargo + +DESCRIPTION="A new type of shell, written in Rust" +HOMEPAGE="https://www.nushell.sh" +SRC_URI=" + https://github.com/nushell/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 BSD Boost-1.0 CC-PD CC0-1.0 ISC MIT MPL-2.0 MPL-2.0 + Unicode-DFS-2016 ZLIB +" +SLOT="0" +KEYWORDS="amd64 arm64 ~ppc64 ~riscv" +IUSE="plugins X" + +DEPEND=" + >=dev-libs/libgit2-0.99:= + dev-libs/oniguruma:= + dev-libs/openssl:0= + net-libs/libssh2:= + net-libs/nghttp2:= + net-misc/curl + dev-db/sqlite:3= + X? ( + x11-libs/libX11 + x11-libs/libxcb + ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/pkgconfig +" + +RESTRICT+=" test" + +QA_FLAGS_IGNORED="usr/bin/nu.*" + +src_prepare() { + # The minimal Rust requirement is only needed on Windows for security reasons. + sed -i 's/rust-version = "1.77.2"//g' Cargo.toml + use plugins || eapply "${FILESDIR/${PN}-dont-build-plugins.patch}" + default +} + +src_configure() { + # high magic to allow system-libs + export OPENSSL_NO_VENDOR=true + export RUSTONIG_SYSTEM_LIBONIG=1 + export LIBGIT2_SYS_USE_PKG_CONFIG=1 + export LIBSSH2_SYS_USE_PKG_CONFIG=1 + export PKG_CONFIG_ALLOW_CROSS=1 + + cargo_src_configure +} + +src_compile() { + cargo_src_compile --workspace +} + +src_install() { + cargo_src_install + if use plugins ; then + cargo_src_install --path crates/nu_plugin_custom_values + cargo_src_install --path crates/nu_plugin_example + cargo_src_install --path crates/nu_plugin_formats + cargo_src_install --path crates/nu_plugin_gstat + cargo_src_install --path crates/nu_plugin_inc + cargo_src_install --path crates/nu_plugin_polars + cargo_src_install --path crates/nu_plugin_query + cargo_src_install --path crates/nu_plugin_stress_internals + fi + local DOCS=( README.md ) + einstalldocs +} + +pkg_postinst() { + if use plugins ; then + einfo "The plugins are installed alongside the main 'nu' binary." + einfo "Visit https://www.nushell.sh/book/plugins.html#adding-a-plugin" + einfo "for more information on how to use plugins." + fi +} diff --git a/app-shells/nushell/nushell-0.95.0.ebuild b/app-shells/nushell/nushell-0.95.0.ebuild deleted file mode 100644 index 26e04a4ee1e0..000000000000 --- a/app-shells/nushell/nushell-0.95.0.ebuild +++ /dev/null @@ -1,760 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - addr2line@0.21.0 - adler32@1.2.0 - adler@1.0.2 - ahash@0.7.8 - ahash@0.8.11 - aho-corasick@1.1.3 - alloc-no-stdlib@2.0.4 - alloc-stdlib@0.2.2 - alloca@0.4.0 - allocator-api2@0.2.18 - alphanumeric-sort@1.5.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - ansi-str@0.8.0 - ansitok@0.2.0 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.0.3 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - anyhow@1.0.82 - arboard@3.4.0 - argminmax@0.6.2 - array-init-cursor@0.2.0 - arrayvec@0.5.2 - arrayvec@0.7.4 - assert-json-diff@2.0.2 - assert_cmd@2.0.14 - async-stream-impl@0.3.5 - async-stream@0.3.5 - async-trait@0.1.80 - atoi@2.0.0 - atoi_simd@0.15.6 - autocfg@1.2.0 - avro-schema@0.3.0 - backtrace-ext@0.2.1 - backtrace@0.3.71 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - bincode@1.3.3 - bindgen@0.69.4 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.5.0 - bitvec@1.0.1 - block-buffer@0.10.4 - block2@0.5.0 - borsh-derive@1.5.0 - borsh@1.5.0 - bracoxide@0.1.3 - brotli-decompressor@4.0.0 - brotli@5.0.0 - bstr@1.9.1 - bumpalo@3.16.0 - byte-unit@5.1.4 - bytecheck@0.6.12 - bytecheck_derive@0.6.12 - bytecount@0.6.8 - bytemuck@1.15.0 - bytemuck_derive@1.6.0 - byteorder@1.5.0 - bytes@1.6.0 - bytesize@1.3.0 - calamine@0.24.0 - cassowary@0.3.0 - castaway@0.2.2 - cc@1.0.96 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - chardetng@0.1.17 - charset@0.1.3 - chrono-humanize@0.2.3 - chrono-tz-build@0.2.1 - chrono-tz-build@0.3.0 - chrono-tz@0.8.6 - chrono-tz@0.9.0 - chrono@0.4.38 - chumsky@0.9.3 - clang-sys@1.7.0 - clap@4.5.4 - clap_builder@4.5.2 - clap_derive@4.5.4 - clap_lex@0.7.0 - clipboard-win@5.3.1 - codepage@0.1.1 - colorchoice@1.0.1 - colorz@1.1.2 - comfy-table@7.1.1 - compact_str@0.7.1 - console@0.15.8 - const-random-macro@0.1.16 - const-random@0.1.18 - const_format@0.2.32 - const_format_proc_macros@0.2.32 - convert_case@0.6.0 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc-catalog@1.1.1 - crc32fast@1.4.0 - crc@2.1.0 - crossbeam-channel@0.5.12 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.19 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - crunchy@0.2.2 - crypto-common@0.1.6 - cssparser-macros@0.6.1 - cssparser@0.31.2 - csv-core@0.1.11 - csv@1.3.0 - ctrlc@3.4.4 - deranged@0.3.11 - derive-new@0.6.0 - derive_more@0.99.17 - dialoguer@0.11.0 - diff@0.1.13 - difflib@0.4.0 - digest@0.10.7 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - dlib@0.5.2 - dlv-list@0.5.2 - doc-comment@0.3.3 - doctest-file@1.0.0 - downcast-rs@1.2.1 - dtoa-short@0.3.4 - dtoa@1.0.9 - dtparse@2.0.0 - dunce@1.0.4 - dyn-clone@1.0.17 - ego-tree@0.6.2 - either@1.11.0 - eml-parser@0.1.4 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - enum_dispatch@0.3.13 - env_logger@0.8.4 - equivalent@1.0.1 - erased-serde@0.4.4 - errno@0.3.8 - error-code@3.2.0 - ethnum@1.5.0 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fancy-regex@0.13.0 - fast-float@0.2.0 - fastrand@2.1.0 - fd-lock@4.0.2 - file-id@0.2.1 - filesize@0.2.0 - filetime@0.2.23 - fixedbitset@0.4.2 - flate2@1.0.30 - float-cmp@0.9.0 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - foreign_vec@0.1.0 - form_urlencoded@1.2.1 - fs_extra@1.3.0 - fsevent-sys@4.1.0 - funty@2.0.0 - futf@0.1.5 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - fuzzy-matcher@0.3.7 - fxhash@0.2.1 - generic-array@0.14.7 - gethostname@0.4.3 - getrandom@0.2.14 - gimli@0.28.1 - git2@0.19.0 - gjson@0.8.1 - glob-match@0.2.1 - glob@0.3.1 - goblin@0.7.1 - h2@0.3.26 - halfbrown@0.2.5 - hash32@0.3.1 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashlink@0.9.0 - heapless@0.8.0 - heck@0.4.1 - heck@0.5.0 - hermit-abi@0.3.9 - hex@0.4.3 - home@0.5.9 - html5ever@0.26.0 - http-body@0.4.6 - http@0.2.12 - httparse@1.8.0 - httpdate@1.0.3 - human-date-parser@0.1.2 - hyper@0.14.28 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ical@0.11.0 - idna@0.5.0 - indexmap@2.2.6 - indicatif@0.17.8 - indoc@2.0.5 - inotify-sys@0.1.5 - inotify@0.9.6 - instant@0.1.12 - interprocess@2.2.0 - inventory@0.3.15 - is-docker@0.2.0 - is-terminal@0.4.12 - is-wsl@0.4.0 - is_ci@1.2.0 - is_debug@1.0.1 - is_executable@1.0.1 - is_terminal_polyfill@1.70.0 - itertools@0.11.0 - itertools@0.12.1 - itoa@1.0.11 - itoap@1.0.1 - jobserver@0.1.31 - joinery@2.1.0 - js-sys@0.3.69 - jsonpath_lib_polars_vendor@0.0.1 - kqueue-sys@1.0.4 - kqueue@1.0.8 - lazy_static@1.4.0 - lazycell@1.3.0 - lexical-core@0.8.5 - lexical-parse-float@0.8.5 - lexical-parse-integer@0.8.6 - lexical-util@0.8.5 - lexical-write-float@0.8.5 - lexical-write-integer@0.8.5 - libc@0.2.154 - libflate@1.4.0 - libflate_lz77@1.2.0 - libgit2-sys@0.17.0+1.8.1 - libloading@0.8.3 - libm@0.2.8 - libmimalloc-sys@0.1.38 - libproc@0.14.8 - libredox@0.1.3 - libsqlite3-sys@0.28.0 - libssh2-sys@0.3.0 - libz-sys@1.1.16 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.13 - lock_api@0.4.12 - log@0.4.21 - lru@0.12.3 - lscolors@0.17.0 - lsp-server@0.7.6 - lsp-types@0.95.1 - lz4-sys@1.9.4 - lz4@1.24.0 - mac@0.1.1 - mach2@0.4.2 - malloc_buf@0.0.6 - markup5ever@0.11.0 - md-5@0.10.6 - memchr@2.7.2 - memmap2@0.7.1 - miette-derive@7.2.0 - miette@7.2.0 - mimalloc@0.1.42 - mime@0.3.17 - mime_guess@2.0.4 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - mio@0.8.11 - mockito@1.4.0 - multiversion-macros@0.7.4 - multiversion@0.7.4 - native-tls@0.2.11 - new_debug_unreachable@1.0.6 - nix@0.28.0 - nom@7.1.3 - notify-debouncer-full@0.3.1 - notify@6.1.1 - now@0.1.3 - ntapi@0.4.1 - nu-ansi-term@0.50.0 - num-bigint@0.4.4 - num-complex@0.4.5 - num-conv@0.1.0 - num-format@0.4.4 - num-integer@0.1.46 - num-iter@0.1.44 - num-rational@0.4.1 - num-traits@0.2.18 - num@0.4.2 - num_cpus@1.16.0 - num_threads@0.1.7 - number_prefix@0.4.0 - objc-sys@0.3.3 - objc2-app-kit@0.2.0 - objc2-core-data@0.2.0 - objc2-encode@4.0.1 - objc2-foundation@0.2.0 - objc2@0.5.1 - objc@0.2.7 - object@0.32.2 - omnipath@0.1.6 - once_cell@1.19.0 - open@5.1.2 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-src@300.2.3+3.2.1 - openssl-sys@0.9.102 - openssl@0.10.64 - ordered-multimap@0.7.3 - os_display@0.1.3 - os_pipe@1.2.0 - owo-colors@4.0.0 - papergrid@0.10.0 - parking_lot@0.12.2 - parking_lot_core@0.9.10 - parquet-format-safe@0.2.4 - parse-zoneinfo@0.3.1 - paste@1.0.14 - pathdiff@0.2.1 - percent-encoding@2.3.1 - peresil@0.3.0 - pest@2.7.10 - pest_derive@2.7.10 - pest_generator@2.7.10 - pest_meta@2.7.10 - petgraph@0.6.4 - phf@0.10.1 - phf@0.11.2 - phf_codegen@0.10.0 - phf_codegen@0.11.2 - phf_generator@0.10.0 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.10.0 - phf_shared@0.11.2 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkg-config@0.3.30 - plain@0.2.3 - planus@0.3.1 - platform-info@2.0.3 - polars-arrow-format@0.1.0 - polars-arrow@0.40.0 - polars-compute@0.40.0 - polars-core@0.40.0 - polars-error@0.40.0 - polars-expr@0.40.0 - polars-io@0.40.0 - polars-json@0.40.0 - polars-lazy@0.40.0 - polars-ops@0.40.0 - polars-parquet@0.40.0 - polars-pipe@0.40.0 - polars-plan@0.40.0 - polars-row@0.40.0 - polars-sql@0.40.0 - polars-time@0.40.0 - polars-utils@0.40.0 - polars@0.40.0 - pori@0.0.0 - portable-atomic@1.6.0 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - pretty_assertions@1.4.0 - print-positions@0.6.1 - proc-macro-crate@3.1.0 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.81 - procfs-core@0.16.0 - procfs@0.16.0 - psm@0.1.21 - ptr_meta@0.1.4 - ptr_meta_derive@0.1.4 - pure-rust-locales@0.8.1 - pwd@1.4.0 - quick-error@1.2.3 - quick-error@2.0.1 - quick-xml@0.31.0 - quickcheck@1.0.3 - quickcheck_macros@1.0.0 - quote@1.0.36 - quoted_printable@0.5.0 - radium@0.7.0 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - ratatui@0.26.2 - raw-cpuid@11.0.2 - rayon-core@1.12.1 - rayon@1.10.0 - recursive-proc-macro-impl@0.1.1 - recursive@0.1.1 - recvmsg@1.0.0 - redox_syscall@0.4.1 - redox_syscall@0.5.1 - redox_users@0.4.5 - reedline@0.32.0 - ref-cast-impl@1.0.22 - ref-cast@1.0.22 - regex-automata@0.4.6 - regex-syntax@0.8.3 - regex@1.10.4 - relative-path@1.9.2 - rend@0.4.2 - rfc2047-decoder@1.0.5 - rkyv@0.7.44 - rkyv_derive@0.7.44 - rle-decode-fast@1.0.3 - rmp-serde@1.3.0 - rmp@0.8.14 - ropey@1.6.1 - roxmltree@0.19.0 - rstest@0.18.2 - rstest_macros@0.18.2 - rusqlite@0.31.0 - rust-embed-impl@8.4.0 - rust-embed-utils@8.4.0 - rust-embed@8.4.0 - rust-ini@0.21.0 - rust_decimal@1.35.0 - rustc-demangle@0.1.23 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - rustversion@1.0.15 - ryu@1.0.17 - same-file@1.0.6 - scc@2.1.0 - schannel@0.1.23 - scoped-tls@1.0.1 - scopeguard@1.2.0 - scraper@0.19.0 - scroll@0.11.0 - scroll_derive@0.11.1 - sdd@0.2.0 - seahash@4.1.0 - security-framework-sys@2.10.0 - security-framework@2.10.0 - selectors@0.25.0 - semver@1.0.22 - seq-macro@0.3.5 - serde@1.0.200 - serde_derive@1.0.200 - serde_json@1.0.116 - serde_repr@0.1.19 - serde_spanned@0.6.5 - serde_urlencoded@0.7.1 - serde_yaml@0.9.34+deprecated - serial_test@3.1.1 - serial_test_derive@3.1.1 - servo_arc@0.3.0 - sha2@0.10.8 - shadow-rs@0.28.0 - shell-words@1.1.0 - shlex@1.3.0 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - simd-json@0.13.10 - simdutf8@0.1.4 - similar@2.5.0 - simplelog@0.12.2 - siphasher@0.3.11 - slab@0.4.9 - smallvec@1.13.2 - smartstring@1.0.1 - smawk@0.3.2 - snap@1.1.1 - socket2@0.5.7 - sqlparser@0.39.0 - sqlparser@0.47.0 - stability@0.2.0 - stable_deref_trait@1.2.0 - stacker@0.1.15 - static_assertions@1.1.0 - str_indices@0.4.3 - streaming-decompression@0.1.2 - streaming-iterator@0.1.9 - strength_reduce@0.2.4 - string_cache@0.8.7 - string_cache_codegen@0.5.2 - strip-ansi-escapes@0.2.0 - strsim@0.11.1 - strum@0.26.2 - strum_macros@0.26.2 - supports-color@2.1.0 - supports-color@3.0.0 - supports-hyperlinks@3.0.0 - supports-unicode@3.0.0 - sxd-document@0.3.2 - sxd-xpath@0.4.2 - syn@1.0.109 - syn@2.0.60 - syn_derive@0.1.8 - sys-locale@0.3.1 - sysinfo@0.30.11 - tabled@0.14.0 - tango-bench@0.5.0 - tap@1.0.1 - target-features@0.1.6 - tempfile@3.10.1 - tendril@0.4.3 - termcolor@1.4.1 - terminal_size@0.3.0 - termtree@0.4.1 - textwrap@0.16.1 - thiserror-impl@1.0.59 - thiserror@1.0.59 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - titlecase@2.2.1 - tokio-util@0.7.10 - tokio@1.37.0 - toml@0.7.8 - toml@0.8.12 - toml_datetime@0.6.5 - toml_edit@0.19.15 - toml_edit@0.21.1 - toml_edit@0.22.12 - tower-service@0.3.2 - tracing-core@0.1.32 - tracing@0.1.40 - trash@3.3.1 - tree_magic_mini@3.1.4 - trim-in-place@0.1.7 - try-lock@0.2.5 - typed-arena@1.7.0 - typenum@1.17.0 - typetag-impl@0.2.16 - typetag@0.2.16 - ucd-trie@0.1.6 - umask@2.1.0 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.23 - unicode-reverse@1.0.9 - unicode-segmentation@1.11.0 - unicode-width@0.1.12 - unicode-xid@0.2.4 - unsafe-libyaml@0.2.11 - ureq@2.9.7 - url@2.5.0 - utf-8@0.7.6 - utf8-width@0.1.7 - utf8parse@0.2.1 - uu_cp@0.0.26 - uu_mkdir@0.0.26 - uu_mktemp@0.0.26 - uu_mv@0.0.26 - uu_uname@0.0.26 - uu_whoami@0.0.26 - uucore@0.0.26 - uucore_procs@0.0.26 - uuhelp_parser@0.0.26 - uuid@1.8.0 - v_htmlescape@0.15.8 - value-trait@0.8.1 - vcpkg@0.2.15 - version_check@0.9.4 - vte@0.10.1 - vte@0.11.1 - vte_generate_state_changes@0.1.1 - wait-timeout@0.2.0 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - wax@0.6.0 - wayland-backend@0.3.3 - wayland-client@0.31.2 - wayland-protocols-wlr@0.2.0 - wayland-protocols@0.31.2 - wayland-scanner@0.31.1 - wayland-sys@0.31.1 - which@6.0.1 - widestring@1.1.0 - wild@2.2.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-core@0.54.0 - windows-result@0.1.1 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows@0.44.0 - windows@0.52.0 - windows@0.54.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winnow@0.5.40 - winnow@0.6.7 - winreg@0.52.0 - winresource@0.1.17 - winsafe@0.0.19 - wl-clipboard-rs@0.8.1 - wyz@0.5.1 - x11rb-protocol@0.13.1 - x11rb@0.13.1 - xattr@1.3.1 - xxhash-rust@0.8.10 - yansi@0.5.1 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 - zip@0.6.6 - zstd-safe@7.1.0 - zstd-sys@2.0.10+zstd.1.5.6 - zstd@0.13.1 -" - -inherit cargo - -DESCRIPTION="A new type of shell, written in Rust" -HOMEPAGE="https://www.nushell.sh" -SRC_URI=" - https://github.com/nushell/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - 0BSD Apache-2.0 BSD Boost-1.0 CC-PD CC0-1.0 ISC MIT MPL-2.0 MPL-2.0 - Unicode-DFS-2016 ZLIB -" -SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv" -IUSE="plugins X" - -DEPEND=" - >=dev-libs/libgit2-0.99:= - dev-libs/oniguruma:= - dev-libs/openssl:0= - net-libs/libssh2:= - net-libs/nghttp2:= - net-misc/curl - dev-db/sqlite:3= - X? ( - x11-libs/libX11 - x11-libs/libxcb - ) -" -RDEPEND="${DEPEND}" -BDEPEND=" - virtual/pkgconfig -" - -RESTRICT+=" test" - -QA_FLAGS_IGNORED="usr/bin/nu.*" - -src_prepare() { - # The minimal Rust requirement is only needed on Windows for security reasons. - sed -i 's/rust-version = "1.77.2"//g' Cargo.toml - use plugins || eapply "${FILESDIR/${PN}-dont-build-plugins.patch}" - default -} - -src_configure() { - # high magic to allow system-libs - export OPENSSL_NO_VENDOR=true - export RUSTONIG_SYSTEM_LIBONIG=1 - export LIBGIT2_SYS_USE_PKG_CONFIG=1 - export LIBSSH2_SYS_USE_PKG_CONFIG=1 - export PKG_CONFIG_ALLOW_CROSS=1 - - cargo_src_configure -} - -src_compile() { - cargo_src_compile --workspace -} - -src_install() { - cargo_src_install - if use plugins ; then - cargo_src_install --path crates/nu_plugin_custom_values - cargo_src_install --path crates/nu_plugin_example - cargo_src_install --path crates/nu_plugin_formats - cargo_src_install --path crates/nu_plugin_gstat - cargo_src_install --path crates/nu_plugin_inc - cargo_src_install --path crates/nu_plugin_polars - cargo_src_install --path crates/nu_plugin_query - cargo_src_install --path crates/nu_plugin_stress_internals - fi - local DOCS=( README.md ) - einstalldocs -} - -pkg_postinst() { - if use plugins ; then - einfo "The plugins are installed alongside the main 'nu' binary." - einfo "Visit https://www.nushell.sh/book/plugins.html#adding-a-plugin" - einfo "for more information on how to use plugins." - fi -} diff --git a/app-shells/nushell/nushell-0.96.1-r1.ebuild b/app-shells/nushell/nushell-0.96.1-r1.ebuild new file mode 100644 index 000000000000..36fc5ed12705 --- /dev/null +++ b/app-shells/nushell/nushell-0.96.1-r1.ebuild @@ -0,0 +1,772 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + addr2line@0.21.0 + adler32@1.2.0 + adler@1.0.2 + ahash@0.7.8 + ahash@0.8.11 + aho-corasick@1.1.3 + alloc-no-stdlib@2.0.4 + alloc-stdlib@0.2.2 + alloca@0.4.0 + allocator-api2@0.2.18 + alphanumeric-sort@1.5.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + ansi-str@0.8.0 + ansitok@0.2.0 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.0.3 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.82 + arboard@3.4.0 + argminmax@0.6.2 + array-init-cursor@0.2.0 + arrayvec@0.5.2 + arrayvec@0.7.4 + assert-json-diff@2.0.2 + assert_cmd@2.0.14 + async-stream-impl@0.3.5 + async-stream@0.3.5 + async-trait@0.1.80 + atoi@2.0.0 + atoi_simd@0.15.6 + autocfg@1.2.0 + avro-schema@0.3.0 + backtrace-ext@0.2.1 + backtrace@0.3.71 + base64@0.13.1 + base64@0.21.7 + base64@0.22.1 + bincode@1.3.3 + bindgen@0.69.4 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.5.0 + bitvec@1.0.1 + block-buffer@0.10.4 + block2@0.5.0 + borsh-derive@1.5.0 + borsh@1.5.0 + bracoxide@0.1.3 + brotli-decompressor@4.0.0 + brotli@5.0.0 + bstr@1.9.1 + bumpalo@3.16.0 + byte-unit@5.1.4 + bytecheck@0.6.12 + bytecheck_derive@0.6.12 + bytecount@0.6.8 + bytemuck@1.15.0 + bytemuck_derive@1.6.0 + byteorder@1.5.0 + bytes@1.6.0 + bytesize@1.3.0 + calamine@0.24.0 + cassowary@0.3.0 + castaway@0.2.2 + cc@1.0.96 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + chardetng@0.1.17 + charset@0.1.3 + chrono-humanize@0.2.3 + chrono-tz-build@0.2.1 + chrono-tz-build@0.3.0 + chrono-tz@0.8.6 + chrono-tz@0.9.0 + chrono@0.4.38 + chumsky@0.9.3 + clang-sys@1.7.0 + clap@4.5.4 + clap_builder@4.5.2 + clap_derive@4.5.4 + clap_lex@0.7.0 + clipboard-win@5.3.1 + codepage@0.1.1 + colorchoice@1.0.1 + colorz@1.1.2 + comfy-table@7.1.1 + compact_str@0.7.1 + console@0.15.8 + const-random-macro@0.1.16 + const-random@0.1.18 + const_format@0.2.32 + const_format_proc_macros@0.2.32 + convert_case@0.6.0 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc-catalog@1.1.1 + crc32fast@1.4.0 + crc@2.1.0 + crossbeam-channel@0.5.12 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + crunchy@0.2.2 + crypto-common@0.1.6 + cssparser-macros@0.6.1 + cssparser@0.31.2 + csv-core@0.1.11 + csv@1.3.0 + ctrlc@3.4.4 + curl-sys@0.4.73+curl-8.8.0 + curl@0.4.46 + deranged@0.3.11 + derive-new@0.6.0 + derive_more@0.99.17 + deunicode@1.6.0 + dialoguer@0.11.0 + diff@0.1.13 + difflib@0.4.0 + digest@0.10.7 + dirs-sys@0.4.1 + dirs@5.0.1 + dlib@0.5.2 + dlv-list@0.5.2 + doc-comment@0.3.3 + doctest-file@1.0.0 + downcast-rs@1.2.1 + dtoa-short@0.3.4 + dtoa@1.0.9 + dtparse@2.0.0 + dunce@1.0.4 + dyn-clone@1.0.17 + ego-tree@0.6.2 + either@1.11.0 + eml-parser@0.1.4 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + enum_dispatch@0.3.13 + env_filter@0.1.0 + env_logger@0.11.3 + env_logger@0.8.4 + equivalent@1.0.1 + erased-serde@0.4.4 + errno@0.3.8 + error-code@3.2.0 + ethnum@1.5.0 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fancy-regex@0.13.0 + fast-float@0.2.0 + fastrand@2.1.0 + fd-lock@4.0.2 + file-id@0.2.1 + filesize@0.2.0 + filetime@0.2.23 + fixedbitset@0.4.2 + flate2@1.0.30 + float-cmp@0.9.0 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + foreign_vec@0.1.0 + form_urlencoded@1.2.1 + fs_extra@1.3.0 + fsevent-sys@4.1.0 + funty@2.0.0 + futf@0.1.5 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + fuzzy-matcher@0.3.7 + fxhash@0.2.1 + generic-array@0.14.7 + gethostname@0.4.3 + getrandom@0.2.14 + gimli@0.28.1 + git2@0.19.0 + gjson@0.8.1 + glob-match@0.2.1 + glob@0.3.1 + goblin@0.7.1 + h2@0.3.26 + halfbrown@0.2.5 + hash32@0.3.1 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.9.0 + heapless@0.8.0 + heck@0.4.1 + heck@0.5.0 + hermit-abi@0.3.9 + hex@0.4.3 + home@0.5.9 + html5ever@0.26.0 + html5ever@0.27.0 + http-body@0.4.6 + http@0.2.12 + httparse@1.8.0 + httpdate@1.0.3 + human-date-parser@0.1.2 + humantime@2.1.0 + hyper@0.14.28 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ical@0.11.0 + idna@0.5.0 + indexmap@2.2.6 + indicatif@0.17.8 + inotify-sys@0.1.5 + inotify@0.9.6 + instant@0.1.12 + interprocess@2.2.0 + inventory@0.3.15 + is-docker@0.2.0 + is-terminal@0.4.12 + is-wsl@0.4.0 + is_ci@1.2.0 + is_debug@1.0.1 + is_executable@1.0.1 + is_terminal_polyfill@1.70.0 + itertools@0.11.0 + itertools@0.12.1 + itoa@1.0.11 + itoap@1.0.1 + jobserver@0.1.31 + joinery@2.1.0 + js-sys@0.3.69 + jsonpath_lib_polars_vendor@0.0.1 + kqueue-sys@1.0.4 + kqueue@1.0.8 + lazy_static@1.4.0 + lazycell@1.3.0 + lexical-core@0.8.5 + lexical-parse-float@0.8.5 + lexical-parse-integer@0.8.6 + lexical-util@0.8.5 + lexical-write-float@0.8.5 + lexical-write-integer@0.8.5 + libc@0.2.155 + libflate@1.4.0 + libflate_lz77@1.2.0 + libgit2-sys@0.17.0+1.8.1 + libloading@0.8.4 + libm@0.2.8 + libmimalloc-sys@0.1.38 + libproc@0.14.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + libssh2-sys@0.3.0 + libz-sys@1.1.16 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.13 + lock_api@0.4.12 + log@0.4.21 + lru@0.12.3 + lscolors@0.17.0 + lsp-server@0.7.6 + lsp-types@0.95.1 + lz4-sys@1.9.4 + lz4@1.24.0 + mac@0.1.1 + mach2@0.4.2 + malloc_buf@0.0.6 + markup5ever@0.11.0 + markup5ever@0.12.1 + markup5ever_rcdom@0.3.0 + md-5@0.10.6 + memchr@2.7.2 + memmap2@0.7.1 + miette-derive@7.2.0 + miette@7.2.0 + mimalloc@0.1.42 + mime@0.3.17 + mime_guess@2.0.4 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + mio@0.8.11 + mockito@1.4.0 + multiversion-macros@0.7.4 + multiversion@0.7.4 + native-tls@0.2.11 + new_debug_unreachable@1.0.6 + nix@0.28.0 + nom@7.1.3 + notify-debouncer-full@0.3.1 + notify@6.1.1 + now@0.1.3 + ntapi@0.4.1 + nu-ansi-term@0.50.1 + num-bigint@0.4.4 + num-complex@0.4.5 + num-conv@0.1.0 + num-format@0.4.4 + num-integer@0.1.46 + num-iter@0.1.44 + num-rational@0.4.1 + num-traits@0.2.18 + num@0.4.2 + num_cpus@1.16.0 + num_threads@0.1.7 + number_prefix@0.4.0 + objc-sys@0.3.3 + objc2-app-kit@0.2.0 + objc2-core-data@0.2.0 + objc2-encode@4.0.1 + objc2-foundation@0.2.0 + objc2@0.5.1 + objc@0.2.7 + object@0.32.2 + omnipath@0.1.6 + once_cell@1.19.0 + open@5.3.0 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-src@300.2.3+3.2.1 + openssl-sys@0.9.103 + openssl@0.10.66 + option-ext@0.2.0 + ordered-multimap@0.7.3 + os_display@0.1.3 + os_pipe@1.2.0 + owo-colors@4.0.0 + papergrid@0.10.0 + parking_lot@0.12.2 + parking_lot_core@0.9.10 + parquet-format-safe@0.2.4 + parse-zoneinfo@0.3.1 + paste@1.0.14 + pathdiff@0.2.1 + percent-encoding@2.3.1 + peresil@0.3.0 + pest@2.7.10 + pest_derive@2.7.10 + pest_generator@2.7.10 + pest_meta@2.7.10 + petgraph@0.6.4 + phf@0.10.1 + phf@0.11.2 + phf_codegen@0.10.0 + phf_codegen@0.11.2 + phf_generator@0.10.0 + phf_generator@0.11.2 + phf_macros@0.11.2 + phf_shared@0.10.0 + phf_shared@0.11.2 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkg-config@0.3.30 + plain@0.2.3 + planus@0.3.1 + platform-info@2.0.3 + polars-arrow-format@0.1.0 + polars-arrow@0.41.2 + polars-compute@0.41.2 + polars-core@0.41.2 + polars-error@0.41.2 + polars-expr@0.41.2 + polars-io@0.41.2 + polars-json@0.41.2 + polars-lazy@0.41.2 + polars-mem-engine@0.41.2 + polars-ops@0.41.2 + polars-parquet@0.41.2 + polars-pipe@0.41.2 + polars-plan@0.41.2 + polars-row@0.41.2 + polars-sql@0.41.2 + polars-time@0.41.2 + polars-utils@0.41.2 + polars@0.41.2 + pori@0.0.0 + portable-atomic@1.6.0 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + pretty_assertions@1.4.0 + print-positions@0.6.1 + proc-macro-crate@3.1.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.81 + procfs-core@0.16.0 + procfs@0.16.0 + psm@0.1.21 + ptr_meta@0.1.4 + ptr_meta_derive@0.1.4 + pure-rust-locales@0.8.1 + pwd@1.4.0 + quick-error@1.2.3 + quick-error@2.0.1 + quick-xml@0.31.0 + quickcheck@1.0.3 + quickcheck_macros@1.0.0 + quote@1.0.36 + quoted_printable@0.5.0 + radium@0.7.0 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + ratatui@0.26.3 + raw-cpuid@11.0.2 + rayon-core@1.12.1 + rayon@1.10.0 + recursive-proc-macro-impl@0.1.1 + recursive@0.1.1 + recvmsg@1.0.0 + redox_syscall@0.4.1 + redox_syscall@0.5.1 + redox_users@0.4.5 + reedline@0.33.0 + ref-cast-impl@1.0.22 + ref-cast@1.0.22 + regex-automata@0.4.6 + regex-syntax@0.8.3 + regex@1.10.4 + relative-path@1.9.2 + rend@0.4.2 + rfc2047-decoder@1.0.5 + rkyv@0.7.44 + rkyv_derive@0.7.44 + rle-decode-fast@1.0.3 + rmp-serde@1.3.0 + rmp@0.8.14 + ropey@1.6.1 + roxmltree@0.19.0 + rstest@0.18.2 + rstest_macros@0.18.2 + rusqlite@0.31.0 + rust-embed-impl@8.4.0 + rust-embed-utils@8.4.0 + rust-embed@8.5.0 + rust-ini@0.21.0 + rust_decimal@1.35.0 + rustc-demangle@0.1.23 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + rustversion@1.0.15 + ryu@1.0.17 + same-file@1.0.6 + scc@2.1.0 + schannel@0.1.23 + scoped-tls@1.0.1 + scopeguard@1.2.0 + scraper@0.19.0 + scroll@0.11.0 + scroll_derive@0.11.1 + sdd@0.2.0 + seahash@4.1.0 + security-framework-sys@2.10.0 + security-framework@2.10.0 + selectors@0.25.0 + semver@1.0.22 + seq-macro@0.3.5 + serde@1.0.200 + serde_derive@1.0.200 + serde_json@1.0.116 + serde_repr@0.1.19 + serde_spanned@0.6.5 + serde_urlencoded@0.7.1 + serde_yaml@0.9.34+deprecated + serial_test@3.1.1 + serial_test_derive@3.1.1 + servo_arc@0.3.0 + sha2@0.10.8 + shadow-rs@0.29.0 + shell-words@1.1.0 + shlex@1.3.0 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + simd-json@0.13.10 + simdutf8@0.1.4 + similar@2.5.0 + simplelog@0.12.2 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.13.2 + smartstring@1.0.1 + smawk@0.3.2 + snap@1.1.1 + socket2@0.5.7 + sqlparser@0.47.0 + stability@0.2.0 + stable_deref_trait@1.2.0 + stacker@0.1.15 + static_assertions@1.1.0 + str_indices@0.4.3 + streaming-decompression@0.1.2 + streaming-iterator@0.1.9 + strength_reduce@0.2.4 + string_cache@0.8.7 + string_cache_codegen@0.5.2 + strip-ansi-escapes@0.2.0 + strsim@0.11.1 + strum@0.26.2 + strum_macros@0.26.2 + supports-color@2.1.0 + supports-color@3.0.0 + supports-hyperlinks@3.0.0 + supports-unicode@3.0.0 + sxd-document@0.3.2 + sxd-xpath@0.4.2 + syn@1.0.109 + syn@2.0.60 + syn_derive@0.1.8 + sys-locale@0.3.1 + sysinfo@0.30.11 + tabled@0.14.0 + tango-bench@0.5.0 + tap@1.0.1 + target-features@0.1.6 + tempfile@3.10.1 + tendril@0.4.3 + termcolor@1.4.1 + terminal_size@0.3.0 + termtree@0.4.1 + textwrap@0.16.1 + thiserror-impl@1.0.59 + thiserror@1.0.59 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + titlecase@2.2.1 + tokio-util@0.7.10 + tokio@1.37.0 + toml@0.7.8 + toml@0.8.12 + toml_datetime@0.6.5 + toml_edit@0.19.15 + toml_edit@0.21.1 + toml_edit@0.22.12 + tower-service@0.3.2 + tracing-core@0.1.32 + tracing@0.1.40 + trash@3.3.1 + tree_magic_mini@3.1.4 + trim-in-place@0.1.7 + try-lock@0.2.5 + typed-arena@1.7.0 + typenum@1.17.0 + typetag-impl@0.2.16 + typetag@0.2.16 + ucd-trie@0.1.6 + umask@2.1.0 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-linebreak@0.1.5 + unicode-normalization@0.1.23 + unicode-reverse@1.0.9 + unicode-segmentation@1.11.0 + unicode-truncate@1.0.0 + unicode-width@0.1.12 + unicode-xid@0.2.4 + unsafe-libyaml@0.2.11 + ureq@2.10.0 + url@2.5.0 + utf-8@0.7.6 + utf8-width@0.1.7 + utf8parse@0.2.1 + uu_cp@0.0.27 + uu_mkdir@0.0.27 + uu_mktemp@0.0.27 + uu_mv@0.0.27 + uu_uname@0.0.27 + uu_whoami@0.0.27 + uucore@0.0.27 + uucore_procs@0.0.26 + uuhelp_parser@0.0.26 + uuid@1.10.0 + v_htmlescape@0.15.8 + value-trait@0.8.1 + vcpkg@0.2.15 + version_check@0.9.4 + vte@0.10.1 + vte@0.11.1 + vte_generate_state_changes@0.1.1 + wait-timeout@0.2.0 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + wax@0.6.0 + wayland-backend@0.3.3 + wayland-client@0.31.2 + wayland-protocols-wlr@0.2.0 + wayland-protocols@0.31.2 + wayland-scanner@0.31.1 + wayland-sys@0.31.1 + webpage@2.0.1 + which@6.0.1 + widestring@1.1.0 + wild@2.2.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-core@0.54.0 + windows-result@0.1.1 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows@0.44.0 + windows@0.52.0 + windows@0.54.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winnow@0.5.40 + winnow@0.6.7 + winreg@0.52.0 + winresource@0.1.17 + winsafe@0.0.19 + wl-clipboard-rs@0.8.1 + wyz@0.5.1 + x11rb-protocol@0.13.1 + x11rb@0.13.1 + xattr@1.3.1 + xml5ever@0.18.1 + xxhash-rust@0.8.10 + yansi@0.5.1 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 + zip@0.6.6 + zstd-safe@7.1.0 + zstd-sys@2.0.10+zstd.1.5.6 + zstd@0.13.1 +" + +inherit cargo + +DESCRIPTION="A new type of shell, written in Rust" +HOMEPAGE="https://www.nushell.sh" +SRC_URI=" + https://github.com/nushell/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 BSD Boost-1.0 CC-PD CC0-1.0 ISC MIT MPL-2.0 MPL-2.0 + Unicode-DFS-2016 ZLIB +" +SLOT="0" +KEYWORDS="amd64 arm64 ~ppc64 ~riscv" +IUSE="plugins X" + +DEPEND=" + >=dev-libs/libgit2-0.99:= + dev-libs/oniguruma:= + dev-libs/openssl:0= + net-libs/libssh2:= + net-libs/nghttp2:= + net-misc/curl + dev-db/sqlite:3= + X? ( + x11-libs/libX11 + x11-libs/libxcb + ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/pkgconfig +" + +RESTRICT+=" test" + +QA_FLAGS_IGNORED="usr/bin/nu.*" + +src_prepare() { + # The minimal Rust requirement is only needed on Windows for security reasons. + sed -i 's/rust-version = "1.77.2"//g' Cargo.toml + use plugins || eapply "${FILESDIR/${PN}-dont-build-plugins.patch}" + default +} + +src_configure() { + # high magic to allow system-libs + export OPENSSL_NO_VENDOR=true + export RUSTONIG_SYSTEM_LIBONIG=1 + export LIBGIT2_SYS_USE_PKG_CONFIG=1 + export LIBSSH2_SYS_USE_PKG_CONFIG=1 + export PKG_CONFIG_ALLOW_CROSS=1 + + cargo_src_configure +} + +src_compile() { + cargo_src_compile --workspace +} + +src_install() { + cargo_src_install + if use plugins ; then + cargo_src_install --path crates/nu_plugin_custom_values + cargo_src_install --path crates/nu_plugin_example + cargo_src_install --path crates/nu_plugin_formats + cargo_src_install --path crates/nu_plugin_gstat + cargo_src_install --path crates/nu_plugin_inc + cargo_src_install --path crates/nu_plugin_polars + cargo_src_install --path crates/nu_plugin_query + cargo_src_install --path crates/nu_plugin_stress_internals + fi + local DOCS=( README.md ) + einstalldocs +} + +pkg_postinst() { + if use plugins ; then + einfo "The plugins are installed alongside the main 'nu' binary." + einfo "Visit https://www.nushell.sh/book/plugins.html#adding-a-plugin" + einfo "for more information on how to use plugins." + fi +} diff --git a/app-shells/nushell/nushell-0.96.1.ebuild b/app-shells/nushell/nushell-0.96.1.ebuild deleted file mode 100644 index 36fc5ed12705..000000000000 --- a/app-shells/nushell/nushell-0.96.1.ebuild +++ /dev/null @@ -1,772 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - addr2line@0.21.0 - adler32@1.2.0 - adler@1.0.2 - ahash@0.7.8 - ahash@0.8.11 - aho-corasick@1.1.3 - alloc-no-stdlib@2.0.4 - alloc-stdlib@0.2.2 - alloca@0.4.0 - allocator-api2@0.2.18 - alphanumeric-sort@1.5.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - ansi-str@0.8.0 - ansitok@0.2.0 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.0.3 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - anyhow@1.0.82 - arboard@3.4.0 - argminmax@0.6.2 - array-init-cursor@0.2.0 - arrayvec@0.5.2 - arrayvec@0.7.4 - assert-json-diff@2.0.2 - assert_cmd@2.0.14 - async-stream-impl@0.3.5 - async-stream@0.3.5 - async-trait@0.1.80 - atoi@2.0.0 - atoi_simd@0.15.6 - autocfg@1.2.0 - avro-schema@0.3.0 - backtrace-ext@0.2.1 - backtrace@0.3.71 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - bincode@1.3.3 - bindgen@0.69.4 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.5.0 - bitvec@1.0.1 - block-buffer@0.10.4 - block2@0.5.0 - borsh-derive@1.5.0 - borsh@1.5.0 - bracoxide@0.1.3 - brotli-decompressor@4.0.0 - brotli@5.0.0 - bstr@1.9.1 - bumpalo@3.16.0 - byte-unit@5.1.4 - bytecheck@0.6.12 - bytecheck_derive@0.6.12 - bytecount@0.6.8 - bytemuck@1.15.0 - bytemuck_derive@1.6.0 - byteorder@1.5.0 - bytes@1.6.0 - bytesize@1.3.0 - calamine@0.24.0 - cassowary@0.3.0 - castaway@0.2.2 - cc@1.0.96 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - chardetng@0.1.17 - charset@0.1.3 - chrono-humanize@0.2.3 - chrono-tz-build@0.2.1 - chrono-tz-build@0.3.0 - chrono-tz@0.8.6 - chrono-tz@0.9.0 - chrono@0.4.38 - chumsky@0.9.3 - clang-sys@1.7.0 - clap@4.5.4 - clap_builder@4.5.2 - clap_derive@4.5.4 - clap_lex@0.7.0 - clipboard-win@5.3.1 - codepage@0.1.1 - colorchoice@1.0.1 - colorz@1.1.2 - comfy-table@7.1.1 - compact_str@0.7.1 - console@0.15.8 - const-random-macro@0.1.16 - const-random@0.1.18 - const_format@0.2.32 - const_format_proc_macros@0.2.32 - convert_case@0.6.0 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc-catalog@1.1.1 - crc32fast@1.4.0 - crc@2.1.0 - crossbeam-channel@0.5.12 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.19 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - crunchy@0.2.2 - crypto-common@0.1.6 - cssparser-macros@0.6.1 - cssparser@0.31.2 - csv-core@0.1.11 - csv@1.3.0 - ctrlc@3.4.4 - curl-sys@0.4.73+curl-8.8.0 - curl@0.4.46 - deranged@0.3.11 - derive-new@0.6.0 - derive_more@0.99.17 - deunicode@1.6.0 - dialoguer@0.11.0 - diff@0.1.13 - difflib@0.4.0 - digest@0.10.7 - dirs-sys@0.4.1 - dirs@5.0.1 - dlib@0.5.2 - dlv-list@0.5.2 - doc-comment@0.3.3 - doctest-file@1.0.0 - downcast-rs@1.2.1 - dtoa-short@0.3.4 - dtoa@1.0.9 - dtparse@2.0.0 - dunce@1.0.4 - dyn-clone@1.0.17 - ego-tree@0.6.2 - either@1.11.0 - eml-parser@0.1.4 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - enum_dispatch@0.3.13 - env_filter@0.1.0 - env_logger@0.11.3 - env_logger@0.8.4 - equivalent@1.0.1 - erased-serde@0.4.4 - errno@0.3.8 - error-code@3.2.0 - ethnum@1.5.0 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fancy-regex@0.13.0 - fast-float@0.2.0 - fastrand@2.1.0 - fd-lock@4.0.2 - file-id@0.2.1 - filesize@0.2.0 - filetime@0.2.23 - fixedbitset@0.4.2 - flate2@1.0.30 - float-cmp@0.9.0 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - foreign_vec@0.1.0 - form_urlencoded@1.2.1 - fs_extra@1.3.0 - fsevent-sys@4.1.0 - funty@2.0.0 - futf@0.1.5 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - fuzzy-matcher@0.3.7 - fxhash@0.2.1 - generic-array@0.14.7 - gethostname@0.4.3 - getrandom@0.2.14 - gimli@0.28.1 - git2@0.19.0 - gjson@0.8.1 - glob-match@0.2.1 - glob@0.3.1 - goblin@0.7.1 - h2@0.3.26 - halfbrown@0.2.5 - hash32@0.3.1 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashlink@0.9.0 - heapless@0.8.0 - heck@0.4.1 - heck@0.5.0 - hermit-abi@0.3.9 - hex@0.4.3 - home@0.5.9 - html5ever@0.26.0 - html5ever@0.27.0 - http-body@0.4.6 - http@0.2.12 - httparse@1.8.0 - httpdate@1.0.3 - human-date-parser@0.1.2 - humantime@2.1.0 - hyper@0.14.28 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ical@0.11.0 - idna@0.5.0 - indexmap@2.2.6 - indicatif@0.17.8 - inotify-sys@0.1.5 - inotify@0.9.6 - instant@0.1.12 - interprocess@2.2.0 - inventory@0.3.15 - is-docker@0.2.0 - is-terminal@0.4.12 - is-wsl@0.4.0 - is_ci@1.2.0 - is_debug@1.0.1 - is_executable@1.0.1 - is_terminal_polyfill@1.70.0 - itertools@0.11.0 - itertools@0.12.1 - itoa@1.0.11 - itoap@1.0.1 - jobserver@0.1.31 - joinery@2.1.0 - js-sys@0.3.69 - jsonpath_lib_polars_vendor@0.0.1 - kqueue-sys@1.0.4 - kqueue@1.0.8 - lazy_static@1.4.0 - lazycell@1.3.0 - lexical-core@0.8.5 - lexical-parse-float@0.8.5 - lexical-parse-integer@0.8.6 - lexical-util@0.8.5 - lexical-write-float@0.8.5 - lexical-write-integer@0.8.5 - libc@0.2.155 - libflate@1.4.0 - libflate_lz77@1.2.0 - libgit2-sys@0.17.0+1.8.1 - libloading@0.8.4 - libm@0.2.8 - libmimalloc-sys@0.1.38 - libproc@0.14.8 - libredox@0.1.3 - libsqlite3-sys@0.28.0 - libssh2-sys@0.3.0 - libz-sys@1.1.16 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.13 - lock_api@0.4.12 - log@0.4.21 - lru@0.12.3 - lscolors@0.17.0 - lsp-server@0.7.6 - lsp-types@0.95.1 - lz4-sys@1.9.4 - lz4@1.24.0 - mac@0.1.1 - mach2@0.4.2 - malloc_buf@0.0.6 - markup5ever@0.11.0 - markup5ever@0.12.1 - markup5ever_rcdom@0.3.0 - md-5@0.10.6 - memchr@2.7.2 - memmap2@0.7.1 - miette-derive@7.2.0 - miette@7.2.0 - mimalloc@0.1.42 - mime@0.3.17 - mime_guess@2.0.4 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - mio@0.8.11 - mockito@1.4.0 - multiversion-macros@0.7.4 - multiversion@0.7.4 - native-tls@0.2.11 - new_debug_unreachable@1.0.6 - nix@0.28.0 - nom@7.1.3 - notify-debouncer-full@0.3.1 - notify@6.1.1 - now@0.1.3 - ntapi@0.4.1 - nu-ansi-term@0.50.1 - num-bigint@0.4.4 - num-complex@0.4.5 - num-conv@0.1.0 - num-format@0.4.4 - num-integer@0.1.46 - num-iter@0.1.44 - num-rational@0.4.1 - num-traits@0.2.18 - num@0.4.2 - num_cpus@1.16.0 - num_threads@0.1.7 - number_prefix@0.4.0 - objc-sys@0.3.3 - objc2-app-kit@0.2.0 - objc2-core-data@0.2.0 - objc2-encode@4.0.1 - objc2-foundation@0.2.0 - objc2@0.5.1 - objc@0.2.7 - object@0.32.2 - omnipath@0.1.6 - once_cell@1.19.0 - open@5.3.0 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-src@300.2.3+3.2.1 - openssl-sys@0.9.103 - openssl@0.10.66 - option-ext@0.2.0 - ordered-multimap@0.7.3 - os_display@0.1.3 - os_pipe@1.2.0 - owo-colors@4.0.0 - papergrid@0.10.0 - parking_lot@0.12.2 - parking_lot_core@0.9.10 - parquet-format-safe@0.2.4 - parse-zoneinfo@0.3.1 - paste@1.0.14 - pathdiff@0.2.1 - percent-encoding@2.3.1 - peresil@0.3.0 - pest@2.7.10 - pest_derive@2.7.10 - pest_generator@2.7.10 - pest_meta@2.7.10 - petgraph@0.6.4 - phf@0.10.1 - phf@0.11.2 - phf_codegen@0.10.0 - phf_codegen@0.11.2 - phf_generator@0.10.0 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.10.0 - phf_shared@0.11.2 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkg-config@0.3.30 - plain@0.2.3 - planus@0.3.1 - platform-info@2.0.3 - polars-arrow-format@0.1.0 - polars-arrow@0.41.2 - polars-compute@0.41.2 - polars-core@0.41.2 - polars-error@0.41.2 - polars-expr@0.41.2 - polars-io@0.41.2 - polars-json@0.41.2 - polars-lazy@0.41.2 - polars-mem-engine@0.41.2 - polars-ops@0.41.2 - polars-parquet@0.41.2 - polars-pipe@0.41.2 - polars-plan@0.41.2 - polars-row@0.41.2 - polars-sql@0.41.2 - polars-time@0.41.2 - polars-utils@0.41.2 - polars@0.41.2 - pori@0.0.0 - portable-atomic@1.6.0 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - pretty_assertions@1.4.0 - print-positions@0.6.1 - proc-macro-crate@3.1.0 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.81 - procfs-core@0.16.0 - procfs@0.16.0 - psm@0.1.21 - ptr_meta@0.1.4 - ptr_meta_derive@0.1.4 - pure-rust-locales@0.8.1 - pwd@1.4.0 - quick-error@1.2.3 - quick-error@2.0.1 - quick-xml@0.31.0 - quickcheck@1.0.3 - quickcheck_macros@1.0.0 - quote@1.0.36 - quoted_printable@0.5.0 - radium@0.7.0 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - ratatui@0.26.3 - raw-cpuid@11.0.2 - rayon-core@1.12.1 - rayon@1.10.0 - recursive-proc-macro-impl@0.1.1 - recursive@0.1.1 - recvmsg@1.0.0 - redox_syscall@0.4.1 - redox_syscall@0.5.1 - redox_users@0.4.5 - reedline@0.33.0 - ref-cast-impl@1.0.22 - ref-cast@1.0.22 - regex-automata@0.4.6 - regex-syntax@0.8.3 - regex@1.10.4 - relative-path@1.9.2 - rend@0.4.2 - rfc2047-decoder@1.0.5 - rkyv@0.7.44 - rkyv_derive@0.7.44 - rle-decode-fast@1.0.3 - rmp-serde@1.3.0 - rmp@0.8.14 - ropey@1.6.1 - roxmltree@0.19.0 - rstest@0.18.2 - rstest_macros@0.18.2 - rusqlite@0.31.0 - rust-embed-impl@8.4.0 - rust-embed-utils@8.4.0 - rust-embed@8.5.0 - rust-ini@0.21.0 - rust_decimal@1.35.0 - rustc-demangle@0.1.23 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - rustversion@1.0.15 - ryu@1.0.17 - same-file@1.0.6 - scc@2.1.0 - schannel@0.1.23 - scoped-tls@1.0.1 - scopeguard@1.2.0 - scraper@0.19.0 - scroll@0.11.0 - scroll_derive@0.11.1 - sdd@0.2.0 - seahash@4.1.0 - security-framework-sys@2.10.0 - security-framework@2.10.0 - selectors@0.25.0 - semver@1.0.22 - seq-macro@0.3.5 - serde@1.0.200 - serde_derive@1.0.200 - serde_json@1.0.116 - serde_repr@0.1.19 - serde_spanned@0.6.5 - serde_urlencoded@0.7.1 - serde_yaml@0.9.34+deprecated - serial_test@3.1.1 - serial_test_derive@3.1.1 - servo_arc@0.3.0 - sha2@0.10.8 - shadow-rs@0.29.0 - shell-words@1.1.0 - shlex@1.3.0 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - simd-json@0.13.10 - simdutf8@0.1.4 - similar@2.5.0 - simplelog@0.12.2 - siphasher@0.3.11 - slab@0.4.9 - smallvec@1.13.2 - smartstring@1.0.1 - smawk@0.3.2 - snap@1.1.1 - socket2@0.5.7 - sqlparser@0.47.0 - stability@0.2.0 - stable_deref_trait@1.2.0 - stacker@0.1.15 - static_assertions@1.1.0 - str_indices@0.4.3 - streaming-decompression@0.1.2 - streaming-iterator@0.1.9 - strength_reduce@0.2.4 - string_cache@0.8.7 - string_cache_codegen@0.5.2 - strip-ansi-escapes@0.2.0 - strsim@0.11.1 - strum@0.26.2 - strum_macros@0.26.2 - supports-color@2.1.0 - supports-color@3.0.0 - supports-hyperlinks@3.0.0 - supports-unicode@3.0.0 - sxd-document@0.3.2 - sxd-xpath@0.4.2 - syn@1.0.109 - syn@2.0.60 - syn_derive@0.1.8 - sys-locale@0.3.1 - sysinfo@0.30.11 - tabled@0.14.0 - tango-bench@0.5.0 - tap@1.0.1 - target-features@0.1.6 - tempfile@3.10.1 - tendril@0.4.3 - termcolor@1.4.1 - terminal_size@0.3.0 - termtree@0.4.1 - textwrap@0.16.1 - thiserror-impl@1.0.59 - thiserror@1.0.59 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - titlecase@2.2.1 - tokio-util@0.7.10 - tokio@1.37.0 - toml@0.7.8 - toml@0.8.12 - toml_datetime@0.6.5 - toml_edit@0.19.15 - toml_edit@0.21.1 - toml_edit@0.22.12 - tower-service@0.3.2 - tracing-core@0.1.32 - tracing@0.1.40 - trash@3.3.1 - tree_magic_mini@3.1.4 - trim-in-place@0.1.7 - try-lock@0.2.5 - typed-arena@1.7.0 - typenum@1.17.0 - typetag-impl@0.2.16 - typetag@0.2.16 - ucd-trie@0.1.6 - umask@2.1.0 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.23 - unicode-reverse@1.0.9 - unicode-segmentation@1.11.0 - unicode-truncate@1.0.0 - unicode-width@0.1.12 - unicode-xid@0.2.4 - unsafe-libyaml@0.2.11 - ureq@2.10.0 - url@2.5.0 - utf-8@0.7.6 - utf8-width@0.1.7 - utf8parse@0.2.1 - uu_cp@0.0.27 - uu_mkdir@0.0.27 - uu_mktemp@0.0.27 - uu_mv@0.0.27 - uu_uname@0.0.27 - uu_whoami@0.0.27 - uucore@0.0.27 - uucore_procs@0.0.26 - uuhelp_parser@0.0.26 - uuid@1.10.0 - v_htmlescape@0.15.8 - value-trait@0.8.1 - vcpkg@0.2.15 - version_check@0.9.4 - vte@0.10.1 - vte@0.11.1 - vte_generate_state_changes@0.1.1 - wait-timeout@0.2.0 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - wax@0.6.0 - wayland-backend@0.3.3 - wayland-client@0.31.2 - wayland-protocols-wlr@0.2.0 - wayland-protocols@0.31.2 - wayland-scanner@0.31.1 - wayland-sys@0.31.1 - webpage@2.0.1 - which@6.0.1 - widestring@1.1.0 - wild@2.2.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-core@0.54.0 - windows-result@0.1.1 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows@0.44.0 - windows@0.52.0 - windows@0.54.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winnow@0.5.40 - winnow@0.6.7 - winreg@0.52.0 - winresource@0.1.17 - winsafe@0.0.19 - wl-clipboard-rs@0.8.1 - wyz@0.5.1 - x11rb-protocol@0.13.1 - x11rb@0.13.1 - xattr@1.3.1 - xml5ever@0.18.1 - xxhash-rust@0.8.10 - yansi@0.5.1 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 - zip@0.6.6 - zstd-safe@7.1.0 - zstd-sys@2.0.10+zstd.1.5.6 - zstd@0.13.1 -" - -inherit cargo - -DESCRIPTION="A new type of shell, written in Rust" -HOMEPAGE="https://www.nushell.sh" -SRC_URI=" - https://github.com/nushell/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - 0BSD Apache-2.0 BSD Boost-1.0 CC-PD CC0-1.0 ISC MIT MPL-2.0 MPL-2.0 - Unicode-DFS-2016 ZLIB -" -SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv" -IUSE="plugins X" - -DEPEND=" - >=dev-libs/libgit2-0.99:= - dev-libs/oniguruma:= - dev-libs/openssl:0= - net-libs/libssh2:= - net-libs/nghttp2:= - net-misc/curl - dev-db/sqlite:3= - X? ( - x11-libs/libX11 - x11-libs/libxcb - ) -" -RDEPEND="${DEPEND}" -BDEPEND=" - virtual/pkgconfig -" - -RESTRICT+=" test" - -QA_FLAGS_IGNORED="usr/bin/nu.*" - -src_prepare() { - # The minimal Rust requirement is only needed on Windows for security reasons. - sed -i 's/rust-version = "1.77.2"//g' Cargo.toml - use plugins || eapply "${FILESDIR/${PN}-dont-build-plugins.patch}" - default -} - -src_configure() { - # high magic to allow system-libs - export OPENSSL_NO_VENDOR=true - export RUSTONIG_SYSTEM_LIBONIG=1 - export LIBGIT2_SYS_USE_PKG_CONFIG=1 - export LIBSSH2_SYS_USE_PKG_CONFIG=1 - export PKG_CONFIG_ALLOW_CROSS=1 - - cargo_src_configure -} - -src_compile() { - cargo_src_compile --workspace -} - -src_install() { - cargo_src_install - if use plugins ; then - cargo_src_install --path crates/nu_plugin_custom_values - cargo_src_install --path crates/nu_plugin_example - cargo_src_install --path crates/nu_plugin_formats - cargo_src_install --path crates/nu_plugin_gstat - cargo_src_install --path crates/nu_plugin_inc - cargo_src_install --path crates/nu_plugin_polars - cargo_src_install --path crates/nu_plugin_query - cargo_src_install --path crates/nu_plugin_stress_internals - fi - local DOCS=( README.md ) - einstalldocs -} - -pkg_postinst() { - if use plugins ; then - einfo "The plugins are installed alongside the main 'nu' binary." - einfo "Visit https://www.nushell.sh/book/plugins.html#adding-a-plugin" - einfo "for more information on how to use plugins." - fi -} diff --git a/app-shells/nushell/nushell-0.98.0-r1.ebuild b/app-shells/nushell/nushell-0.98.0-r1.ebuild new file mode 100644 index 000000000000..9d5bc205942e --- /dev/null +++ b/app-shells/nushell/nushell-0.98.0-r1.ebuild @@ -0,0 +1,785 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + addr2line@0.22.0 + adler2@2.0.0 + adler32@1.2.0 + adler@1.0.2 + ahash@0.7.8 + ahash@0.8.11 + aho-corasick@1.1.3 + alloc-no-stdlib@2.0.4 + alloc-stdlib@0.2.2 + alloca@0.4.0 + allocator-api2@0.2.18 + alphanumeric-sort@1.5.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + ansi-str@0.8.0 + ansitok@0.2.0 + 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.86 + arboard@3.4.0 + argminmax@0.6.2 + array-init-cursor@0.2.0 + arrayvec@0.5.2 + arrayvec@0.7.6 + assert-json-diff@2.0.2 + assert_cmd@2.0.16 + async-stream-impl@0.3.5 + async-stream@0.3.5 + async-trait@0.1.81 + atoi@2.0.0 + atoi_simd@0.15.6 + atomic-waker@1.1.2 + autocfg@1.3.0 + avro-schema@0.3.0 + backtrace-ext@0.2.1 + backtrace@0.3.73 + base64@0.21.7 + base64@0.22.1 + bindgen@0.69.4 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.6.0 + bitvec@1.0.1 + block-buffer@0.10.4 + block2@0.5.1 + borsh-derive@1.5.1 + borsh@1.5.1 + bracoxide@0.1.3 + brotli-decompressor@4.0.1 + brotli@5.0.0 + bstr@1.10.0 + bumpalo@3.16.0 + byte-unit@5.1.4 + bytecheck@0.6.12 + bytecheck_derive@0.6.12 + bytecount@0.6.8 + bytemuck@1.17.0 + bytemuck_derive@1.7.1 + byteorder@1.5.0 + bytes@1.7.1 + bytesize@1.3.0 + calamine@0.24.0 + cassowary@0.3.0 + castaway@0.2.3 + cc@1.1.14 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cfg_aliases@0.2.1 + chardetng@0.1.17 + charset@0.1.5 + chrono-humanize@0.2.3 + chrono-tz-build@0.2.1 + chrono-tz-build@0.3.0 + chrono-tz@0.8.6 + chrono-tz@0.9.0 + chrono@0.4.38 + chumsky@0.9.3 + clang-sys@1.8.1 + clap@4.5.16 + clap_builder@4.5.15 + clap_derive@4.5.13 + clap_lex@0.7.2 + clipboard-win@5.4.0 + codepage@0.1.2 + colorchoice@1.0.2 + colorz@1.1.2 + comfy-table@7.1.1 + compact_str@0.7.1 + console@0.15.8 + const-random-macro@0.1.16 + const-random@0.1.18 + const_format@0.2.32 + const_format_proc_macros@0.2.32 + core-foundation-sys@0.8.7 + core-foundation@0.9.4 + cpufeatures@0.2.13 + crc-catalog@1.1.1 + crc32fast@1.4.2 + crc@2.1.0 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossterm@0.27.0 + crossterm@0.28.1 + crossterm_winapi@0.9.1 + crunchy@0.2.2 + crypto-common@0.1.6 + cssparser-macros@0.6.1 + cssparser@0.31.2 + csv-core@0.1.11 + csv@1.3.0 + ctrlc@3.4.5 + curl-sys@0.4.74+curl-8.9.0 + curl@0.4.46 + data-encoding@2.6.0 + deranged@0.3.11 + derive-new@0.6.0 + derive_more@0.99.18 + dialoguer@0.11.0 + diff@0.1.13 + difflib@0.4.0 + digest@0.10.7 + dirs-sys@0.4.1 + dirs@5.0.1 + dlib@0.5.2 + dlv-list@0.5.2 + doc-comment@0.3.3 + doctest-file@1.0.0 + downcast-rs@1.2.1 + dtoa-short@0.3.5 + dtoa@1.0.9 + dtparse@2.0.1 + dunce@1.0.5 + dyn-clone@1.0.17 + ego-tree@0.6.3 + either@1.13.0 + eml-parser@0.1.4 + encode_unicode@0.3.6 + encoding_rs@0.8.34 + enum_dispatch@0.3.13 + env_filter@0.1.2 + env_logger@0.11.5 + env_logger@0.8.4 + equivalent@1.0.1 + erased-serde@0.4.5 + errno@0.3.9 + error-code@3.2.0 + ethnum@1.5.0 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fancy-regex@0.13.0 + fast-float@0.2.0 + fastrand@2.1.0 + fd-lock@4.0.2 + file-id@0.2.1 + filesize@0.2.0 + filetime@0.2.24 + fixedbitset@0.4.2 + flate2@1.0.32 + float-cmp@0.9.0 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + foreign_vec@0.1.0 + form_urlencoded@1.2.1 + fs_extra@1.3.0 + fsevent-sys@4.1.0 + funty@2.0.0 + futf@0.1.5 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + fuzzy-matcher@0.3.7 + fxhash@0.2.1 + generic-array@0.14.7 + gethostname@0.4.3 + getrandom@0.2.15 + gimli@0.29.0 + git2@0.19.0 + gjson@0.8.1 + glob-match@0.2.1 + glob@0.3.1 + goblin@0.7.1 + h2@0.4.6 + halfbrown@0.2.5 + hash32@0.3.1 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.9.1 + heapless@0.8.0 + heck@0.5.0 + hermit-abi@0.3.9 + hermit-abi@0.4.0 + hex@0.4.3 + home@0.5.9 + html5ever@0.27.0 + http-body-util@0.1.2 + http-body@1.0.1 + http@1.1.0 + httparse@1.9.4 + httpdate@1.0.3 + human-date-parser@0.1.2 + humantime@2.1.0 + hyper-util@0.1.7 + hyper@1.4.1 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ical@0.11.0 + idna@0.5.0 + indexmap@2.5.0 + indicatif@0.17.8 + inotify-sys@0.1.5 + inotify@0.9.6 + instant@0.1.13 + interprocess@2.2.1 + inventory@0.3.15 + is-docker@0.2.0 + is-terminal@0.4.13 + is-wsl@0.4.0 + is_ci@1.2.0 + is_debug@1.0.1 + is_executable@1.0.1 + is_terminal_polyfill@1.70.1 + itertools@0.11.0 + itertools@0.12.1 + itertools@0.13.0 + itoa@1.0.11 + itoap@1.0.1 + jobserver@0.1.32 + joinery@2.1.0 + js-sys@0.3.70 + jsonpath_lib_polars_vendor@0.0.1 + kqueue-sys@1.0.4 + kqueue@1.0.8 + lazy_static@1.5.0 + lazycell@1.3.0 + lexical-core@0.8.5 + lexical-parse-float@0.8.5 + lexical-parse-integer@0.8.6 + lexical-util@0.8.5 + lexical-write-float@0.8.5 + lexical-write-integer@0.8.5 + libc@0.2.158 + libflate@1.4.0 + libflate_lz77@1.2.0 + libgit2-sys@0.17.0+1.8.1 + libloading@0.8.5 + libm@0.2.8 + libmimalloc-sys@0.1.39 + libproc@0.14.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + libssh2-sys@0.3.0 + libz-sys@1.1.19 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + lru@0.12.4 + lscolors@0.17.0 + lsp-server@0.7.6 + lsp-types@0.95.1 + lz4-sys@1.10.0 + lz4@1.26.0 + mac@0.1.1 + mach2@0.4.2 + malloc_buf@0.0.6 + markup5ever@0.12.1 + markup5ever_rcdom@0.3.0 + md-5@0.10.6 + memchr@2.7.4 + memmap2@0.7.1 + miette-derive@7.2.0 + miette@7.2.0 + mimalloc@0.1.43 + mime@0.3.17 + mime_guess@2.0.5 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + miniz_oxide@0.8.0 + mio@0.8.11 + mio@1.0.2 + mockito@1.5.0 + multipart-rs@0.1.11 + multiversion-macros@0.7.4 + multiversion@0.7.4 + native-tls@0.2.12 + new_debug_unreachable@1.0.6 + nix@0.28.0 + nix@0.29.0 + nom@7.1.3 + notify-debouncer-full@0.3.1 + notify@6.1.1 + now@0.1.3 + ntapi@0.4.1 + nu-ansi-term@0.50.1 + num-bigint@0.4.6 + num-complex@0.4.6 + num-conv@0.1.0 + num-format@0.4.4 + num-integer@0.1.46 + num-iter@0.1.45 + num-rational@0.4.2 + num-traits@0.2.19 + num@0.4.3 + num_threads@0.1.7 + number_prefix@0.4.0 + objc-sys@0.3.5 + objc2-app-kit@0.2.2 + objc2-core-data@0.2.2 + objc2-core-image@0.2.2 + objc2-encode@4.0.3 + objc2-foundation@0.2.2 + objc2-metal@0.2.2 + objc2-quartz-core@0.2.2 + objc2@0.5.2 + objc@0.2.7 + object@0.36.3 + omnipath@0.1.6 + once_cell@1.19.0 + open@5.3.0 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-src@300.3.1+3.3.1 + openssl-sys@0.9.103 + openssl@0.10.66 + option-ext@0.2.0 + ordered-multimap@0.7.3 + os_display@0.1.3 + os_pipe@1.2.1 + owo-colors@4.0.0 + papergrid@0.12.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + parquet-format-safe@0.2.4 + parse-zoneinfo@0.3.1 + paste@1.0.15 + pathdiff@0.2.1 + percent-encoding@2.3.1 + peresil@0.3.0 + pest@2.7.11 + pest_derive@2.7.11 + pest_generator@2.7.11 + pest_meta@2.7.11 + petgraph@0.6.5 + phf@0.10.1 + phf@0.11.2 + phf_codegen@0.10.0 + phf_codegen@0.11.2 + phf_generator@0.10.0 + phf_generator@0.11.2 + phf_macros@0.11.2 + phf_shared@0.10.0 + phf_shared@0.11.2 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkg-config@0.3.30 + plain@0.2.3 + planus@0.3.1 + platform-info@2.0.3 + plist@1.7.0 + polars-arrow-format@0.1.0 + polars-arrow@0.41.3 + polars-compute@0.41.3 + polars-core@0.41.3 + polars-error@0.41.3 + polars-expr@0.41.3 + polars-io@0.41.3 + polars-json@0.41.3 + polars-lazy@0.41.3 + polars-mem-engine@0.41.3 + polars-ops@0.41.3 + polars-parquet@0.41.3 + polars-pipe@0.41.3 + polars-plan@0.41.3 + polars-row@0.41.3 + polars-sql@0.41.3 + polars-time@0.41.3 + polars-utils@0.41.3 + polars@0.41.3 + pori@0.0.0 + portable-atomic@1.7.0 + powerfmt@0.2.0 + ppv-lite86@0.2.20 + precomputed-hash@0.1.1 + predicates-core@1.0.8 + predicates-tree@1.0.11 + predicates@3.1.2 + pretty_assertions@1.4.0 + print-positions@0.6.1 + proc-macro-crate@3.1.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.86 + procfs-core@0.16.0 + procfs@0.16.0 + psm@0.1.21 + ptr_meta@0.1.4 + ptr_meta_derive@0.1.4 + pure-rust-locales@0.8.1 + pwd@1.4.0 + quick-error@1.2.3 + quick-error@2.0.1 + quick-xml@0.31.0 + quick-xml@0.32.0 + quick-xml@0.34.0 + quickcheck@1.0.3 + quickcheck_macros@1.0.0 + quote@1.0.37 + quoted_printable@0.5.1 + radium@0.7.0 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + ratatui@0.26.3 + raw-cpuid@11.1.0 + rayon-core@1.12.1 + rayon@1.10.0 + recursive-proc-macro-impl@0.1.1 + recursive@0.1.1 + recvmsg@1.0.0 + redox_syscall@0.5.3 + redox_users@0.4.6 + reedline@0.35.0 + ref-cast-impl@1.0.23 + ref-cast@1.0.23 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.6 + relative-path@1.9.3 + rend@0.4.2 + rfc2047-decoder@1.0.5 + rkyv@0.7.45 + rkyv_derive@0.7.45 + rle-decode-fast@1.0.3 + rmp-serde@1.3.0 + rmp@0.8.14 + ropey@1.6.1 + roxmltree@0.19.0 + rstest@0.18.2 + rstest_macros@0.18.2 + rusqlite@0.31.0 + rust-embed-impl@8.5.0 + rust-embed-utils@8.5.0 + rust-embed@8.5.0 + rust-ini@0.21.1 + rust_decimal@1.36.0 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + scc@2.1.16 + schannel@0.1.23 + scoped-tls@1.0.1 + scopeguard@1.2.0 + scraper@0.20.0 + scroll@0.11.0 + scroll_derive@0.11.1 + sdd@3.0.2 + seahash@4.1.0 + security-framework-sys@2.11.1 + security-framework@2.11.1 + selectors@0.25.0 + semver@1.0.23 + serde@1.0.208 + serde_derive@1.0.208 + serde_json@1.0.127 + serde_repr@0.1.19 + serde_spanned@0.6.7 + serde_urlencoded@0.7.1 + serde_yaml@0.9.34+deprecated + serial_test@3.1.1 + serial_test_derive@3.1.1 + servo_arc@0.3.0 + sha2@0.10.8 + shadow-rs@0.34.0 + shell-words@1.1.0 + shlex@1.3.0 + signal-hook-mio@0.2.4 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + simd-json@0.13.10 + simdutf8@0.1.4 + similar@2.6.0 + simplelog@0.12.2 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.13.2 + smartstring@1.0.1 + smawk@0.3.2 + snap@1.1.1 + socket2@0.5.7 + sqlparser@0.47.0 + stability@0.2.1 + stable_deref_trait@1.2.0 + stacker@0.1.16 + static_assertions@1.1.0 + str_indices@0.4.3 + streaming-decompression@0.1.2 + streaming-iterator@0.1.9 + strength_reduce@0.2.4 + string_cache@0.8.7 + string_cache_codegen@0.5.2 + strip-ansi-escapes@0.2.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + supports-color@2.1.0 + supports-color@3.0.0 + supports-hyperlinks@3.0.0 + supports-unicode@3.0.0 + sxd-document@0.3.2 + sxd-xpath@0.4.2 + syn@1.0.109 + syn@2.0.75 + syn_derive@0.1.8 + sys-locale@0.3.1 + sysinfo@0.30.13 + tabled@0.16.0 + tango-bench@0.5.0 + tap@1.0.1 + target-features@0.1.6 + tempfile@3.12.0 + tendril@0.4.3 + termcolor@1.4.1 + terminal_size@0.3.0 + termtree@0.4.1 + textwrap@0.16.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + titlecase@2.2.1 + tokio-util@0.7.11 + tokio@1.39.3 + toml@0.7.8 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.19.15 + toml_edit@0.21.1 + toml_edit@0.22.20 + tracing-core@0.1.32 + tracing@0.1.40 + trash@3.3.1 + tree_magic_mini@3.1.5 + trim-in-place@0.1.7 + typed-arena@1.7.0 + typeid@1.0.2 + typenum@1.17.0 + typetag-impl@0.2.18 + typetag@0.2.18 + ucd-trie@0.1.6 + umask@2.1.0 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-linebreak@0.1.5 + unicode-normalization@0.1.23 + unicode-reverse@1.0.9 + unicode-segmentation@1.11.0 + unicode-truncate@1.1.0 + unicode-width@0.1.11 + unicode-xid@0.2.5 + unsafe-libyaml@0.2.11 + ureq@2.10.1 + url@2.5.2 + utf-8@0.7.6 + utf8-width@0.1.7 + utf8parse@0.2.2 + uu_cp@0.0.27 + uu_mkdir@0.0.27 + uu_mktemp@0.0.27 + uu_mv@0.0.27 + uu_uname@0.0.27 + uu_whoami@0.0.27 + uucore@0.0.27 + uucore_procs@0.0.27 + uuhelp_parser@0.0.27 + uuid@1.10.0 + v_htmlescape@0.15.8 + value-trait@0.8.1 + vcpkg@0.2.15 + version_check@0.9.5 + vte@0.10.1 + vte@0.11.1 + vte_generate_state_changes@0.1.2 + wait-timeout@0.2.0 + walkdir@2.5.0 + 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 + wax@0.6.0 + wayland-backend@0.3.6 + wayland-client@0.31.5 + wayland-protocols-wlr@0.2.0 + wayland-protocols@0.31.2 + wayland-scanner@0.31.4 + wayland-sys@0.31.4 + webpage@2.0.1 + which@6.0.3 + widestring@1.1.0 + wild@2.2.1 + 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-core@0.54.0 + windows-result@0.1.2 + windows-sys@0.36.1 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows@0.44.0 + windows@0.52.0 + windows@0.54.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.36.1 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.36.1 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.36.1 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.36.1 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.36.1 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.5.40 + winnow@0.6.18 + winreg@0.52.0 + winresource@0.1.17 + winsafe@0.0.19 + wl-clipboard-rs@0.8.1 + wyz@0.5.1 + x11rb-protocol@0.13.1 + x11rb@0.13.1 + xattr@1.3.1 + xml5ever@0.18.1 + xxhash-rust@0.8.12 + yansi@0.5.1 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zip@0.6.6 + zstd-safe@7.2.1 + zstd-sys@2.0.13+zstd.1.5.6 + zstd@0.13.2 +" + +RUST_MIN_VER="1.79.0" +inherit cargo + +DESCRIPTION="A new type of shell, written in Rust" +HOMEPAGE="https://www.nushell.sh" +SRC_URI=" + https://github.com/nushell/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 BSD Boost-1.0 CC-PD CC0-1.0 ISC MIT MPL-2.0 MPL-2.0 + Unicode-DFS-2016 ZLIB +" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" +IUSE="plugins X" + +DEPEND=" + >=dev-libs/libgit2-0.99:= + dev-libs/oniguruma:= + dev-libs/openssl:0= + net-libs/libssh2:= + net-libs/nghttp2:= + net-misc/curl + dev-db/sqlite:3= + X? ( + x11-libs/libX11 + x11-libs/libxcb + ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/pkgconfig +" + +RESTRICT+=" test" + +QA_FLAGS_IGNORED="usr/bin/nu.*" + +src_prepare() { + use plugins || eapply "${FILESDIR/${PN}-dont-build-plugins.patch}" + default +} + +src_configure() { + # high magic to allow system-libs + export OPENSSL_NO_VENDOR=true + export RUSTONIG_SYSTEM_LIBONIG=1 + export LIBGIT2_SYS_USE_PKG_CONFIG=1 + export LIBSSH2_SYS_USE_PKG_CONFIG=1 + export PKG_CONFIG_ALLOW_CROSS=1 + + cargo_src_configure +} + +src_compile() { + cargo_src_compile --workspace +} + +src_install() { + cargo_src_install + if use plugins ; then + cargo_src_install --path crates/nu_plugin_custom_values + cargo_src_install --path crates/nu_plugin_example + cargo_src_install --path crates/nu_plugin_formats + cargo_src_install --path crates/nu_plugin_gstat + cargo_src_install --path crates/nu_plugin_inc + cargo_src_install --path crates/nu_plugin_polars + cargo_src_install --path crates/nu_plugin_query + cargo_src_install --path crates/nu_plugin_stress_internals + fi + local DOCS=( README.md ) + einstalldocs +} + +pkg_postinst() { + if use plugins ; then + einfo "The plugins are installed alongside the main 'nu' binary." + einfo "Visit https://www.nushell.sh/book/plugins.html#adding-a-plugin" + einfo "for more information on how to use plugins." + fi +} diff --git a/app-shells/nushell/nushell-0.98.0.ebuild b/app-shells/nushell/nushell-0.98.0.ebuild deleted file mode 100644 index ad8fb2112036..000000000000 --- a/app-shells/nushell/nushell-0.98.0.ebuild +++ /dev/null @@ -1,785 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - addr2line@0.22.0 - adler2@2.0.0 - adler32@1.2.0 - adler@1.0.2 - ahash@0.7.8 - ahash@0.8.11 - aho-corasick@1.1.3 - alloc-no-stdlib@2.0.4 - alloc-stdlib@0.2.2 - alloca@0.4.0 - allocator-api2@0.2.18 - alphanumeric-sort@1.5.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - ansi-str@0.8.0 - ansitok@0.2.0 - 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.86 - arboard@3.4.0 - argminmax@0.6.2 - array-init-cursor@0.2.0 - arrayvec@0.5.2 - arrayvec@0.7.6 - assert-json-diff@2.0.2 - assert_cmd@2.0.16 - async-stream-impl@0.3.5 - async-stream@0.3.5 - async-trait@0.1.81 - atoi@2.0.0 - atoi_simd@0.15.6 - atomic-waker@1.1.2 - autocfg@1.3.0 - avro-schema@0.3.0 - backtrace-ext@0.2.1 - backtrace@0.3.73 - base64@0.21.7 - base64@0.22.1 - bindgen@0.69.4 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.6.0 - bitvec@1.0.1 - block-buffer@0.10.4 - block2@0.5.1 - borsh-derive@1.5.1 - borsh@1.5.1 - bracoxide@0.1.3 - brotli-decompressor@4.0.1 - brotli@5.0.0 - bstr@1.10.0 - bumpalo@3.16.0 - byte-unit@5.1.4 - bytecheck@0.6.12 - bytecheck_derive@0.6.12 - bytecount@0.6.8 - bytemuck@1.17.0 - bytemuck_derive@1.7.1 - byteorder@1.5.0 - bytes@1.7.1 - bytesize@1.3.0 - calamine@0.24.0 - cassowary@0.3.0 - castaway@0.2.3 - cc@1.1.14 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - cfg_aliases@0.2.1 - chardetng@0.1.17 - charset@0.1.5 - chrono-humanize@0.2.3 - chrono-tz-build@0.2.1 - chrono-tz-build@0.3.0 - chrono-tz@0.8.6 - chrono-tz@0.9.0 - chrono@0.4.38 - chumsky@0.9.3 - clang-sys@1.8.1 - clap@4.5.16 - clap_builder@4.5.15 - clap_derive@4.5.13 - clap_lex@0.7.2 - clipboard-win@5.4.0 - codepage@0.1.2 - colorchoice@1.0.2 - colorz@1.1.2 - comfy-table@7.1.1 - compact_str@0.7.1 - console@0.15.8 - const-random-macro@0.1.16 - const-random@0.1.18 - const_format@0.2.32 - const_format_proc_macros@0.2.32 - core-foundation-sys@0.8.7 - core-foundation@0.9.4 - cpufeatures@0.2.13 - crc-catalog@1.1.1 - crc32fast@1.4.2 - crc@2.1.0 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crossterm@0.27.0 - crossterm@0.28.1 - crossterm_winapi@0.9.1 - crunchy@0.2.2 - crypto-common@0.1.6 - cssparser-macros@0.6.1 - cssparser@0.31.2 - csv-core@0.1.11 - csv@1.3.0 - ctrlc@3.4.5 - curl-sys@0.4.74+curl-8.9.0 - curl@0.4.46 - data-encoding@2.6.0 - deranged@0.3.11 - derive-new@0.6.0 - derive_more@0.99.18 - dialoguer@0.11.0 - diff@0.1.13 - difflib@0.4.0 - digest@0.10.7 - dirs-sys@0.4.1 - dirs@5.0.1 - dlib@0.5.2 - dlv-list@0.5.2 - doc-comment@0.3.3 - doctest-file@1.0.0 - downcast-rs@1.2.1 - dtoa-short@0.3.5 - dtoa@1.0.9 - dtparse@2.0.1 - dunce@1.0.5 - dyn-clone@1.0.17 - ego-tree@0.6.3 - either@1.13.0 - eml-parser@0.1.4 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - enum_dispatch@0.3.13 - env_filter@0.1.2 - env_logger@0.11.5 - env_logger@0.8.4 - equivalent@1.0.1 - erased-serde@0.4.5 - errno@0.3.9 - error-code@3.2.0 - ethnum@1.5.0 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fancy-regex@0.13.0 - fast-float@0.2.0 - fastrand@2.1.0 - fd-lock@4.0.2 - file-id@0.2.1 - filesize@0.2.0 - filetime@0.2.24 - fixedbitset@0.4.2 - flate2@1.0.32 - float-cmp@0.9.0 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - foreign_vec@0.1.0 - form_urlencoded@1.2.1 - fs_extra@1.3.0 - fsevent-sys@4.1.0 - funty@2.0.0 - futf@0.1.5 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - fuzzy-matcher@0.3.7 - fxhash@0.2.1 - generic-array@0.14.7 - gethostname@0.4.3 - getrandom@0.2.15 - gimli@0.29.0 - git2@0.19.0 - gjson@0.8.1 - glob-match@0.2.1 - glob@0.3.1 - goblin@0.7.1 - h2@0.4.6 - halfbrown@0.2.5 - hash32@0.3.1 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashlink@0.9.1 - heapless@0.8.0 - heck@0.5.0 - hermit-abi@0.3.9 - hermit-abi@0.4.0 - hex@0.4.3 - home@0.5.9 - html5ever@0.27.0 - http-body-util@0.1.2 - http-body@1.0.1 - http@1.1.0 - httparse@1.9.4 - httpdate@1.0.3 - human-date-parser@0.1.2 - humantime@2.1.0 - hyper-util@0.1.7 - hyper@1.4.1 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ical@0.11.0 - idna@0.5.0 - indexmap@2.5.0 - indicatif@0.17.8 - inotify-sys@0.1.5 - inotify@0.9.6 - instant@0.1.13 - interprocess@2.2.1 - inventory@0.3.15 - is-docker@0.2.0 - is-terminal@0.4.13 - is-wsl@0.4.0 - is_ci@1.2.0 - is_debug@1.0.1 - is_executable@1.0.1 - is_terminal_polyfill@1.70.1 - itertools@0.11.0 - itertools@0.12.1 - itertools@0.13.0 - itoa@1.0.11 - itoap@1.0.1 - jobserver@0.1.32 - joinery@2.1.0 - js-sys@0.3.70 - jsonpath_lib_polars_vendor@0.0.1 - kqueue-sys@1.0.4 - kqueue@1.0.8 - lazy_static@1.5.0 - lazycell@1.3.0 - lexical-core@0.8.5 - lexical-parse-float@0.8.5 - lexical-parse-integer@0.8.6 - lexical-util@0.8.5 - lexical-write-float@0.8.5 - lexical-write-integer@0.8.5 - libc@0.2.158 - libflate@1.4.0 - libflate_lz77@1.2.0 - libgit2-sys@0.17.0+1.8.1 - libloading@0.8.5 - libm@0.2.8 - libmimalloc-sys@0.1.39 - libproc@0.14.8 - libredox@0.1.3 - libsqlite3-sys@0.28.0 - libssh2-sys@0.3.0 - libz-sys@1.1.19 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - lru@0.12.4 - lscolors@0.17.0 - lsp-server@0.7.6 - lsp-types@0.95.1 - lz4-sys@1.10.0 - lz4@1.26.0 - mac@0.1.1 - mach2@0.4.2 - malloc_buf@0.0.6 - markup5ever@0.12.1 - markup5ever_rcdom@0.3.0 - md-5@0.10.6 - memchr@2.7.4 - memmap2@0.7.1 - miette-derive@7.2.0 - miette@7.2.0 - mimalloc@0.1.43 - mime@0.3.17 - mime_guess@2.0.5 - minimal-lexical@0.2.1 - miniz_oxide@0.7.4 - miniz_oxide@0.8.0 - mio@0.8.11 - mio@1.0.2 - mockito@1.5.0 - multipart-rs@0.1.11 - multiversion-macros@0.7.4 - multiversion@0.7.4 - native-tls@0.2.12 - new_debug_unreachable@1.0.6 - nix@0.28.0 - nix@0.29.0 - nom@7.1.3 - notify-debouncer-full@0.3.1 - notify@6.1.1 - now@0.1.3 - ntapi@0.4.1 - nu-ansi-term@0.50.1 - num-bigint@0.4.6 - num-complex@0.4.6 - num-conv@0.1.0 - num-format@0.4.4 - num-integer@0.1.46 - num-iter@0.1.45 - num-rational@0.4.2 - num-traits@0.2.19 - num@0.4.3 - num_threads@0.1.7 - number_prefix@0.4.0 - objc-sys@0.3.5 - objc2-app-kit@0.2.2 - objc2-core-data@0.2.2 - objc2-core-image@0.2.2 - objc2-encode@4.0.3 - objc2-foundation@0.2.2 - objc2-metal@0.2.2 - objc2-quartz-core@0.2.2 - objc2@0.5.2 - objc@0.2.7 - object@0.36.3 - omnipath@0.1.6 - once_cell@1.19.0 - open@5.3.0 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-src@300.3.1+3.3.1 - openssl-sys@0.9.103 - openssl@0.10.66 - option-ext@0.2.0 - ordered-multimap@0.7.3 - os_display@0.1.3 - os_pipe@1.2.1 - owo-colors@4.0.0 - papergrid@0.12.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - parquet-format-safe@0.2.4 - parse-zoneinfo@0.3.1 - paste@1.0.15 - pathdiff@0.2.1 - percent-encoding@2.3.1 - peresil@0.3.0 - pest@2.7.11 - pest_derive@2.7.11 - pest_generator@2.7.11 - pest_meta@2.7.11 - petgraph@0.6.5 - phf@0.10.1 - phf@0.11.2 - phf_codegen@0.10.0 - phf_codegen@0.11.2 - phf_generator@0.10.0 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.10.0 - phf_shared@0.11.2 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkg-config@0.3.30 - plain@0.2.3 - planus@0.3.1 - platform-info@2.0.3 - plist@1.7.0 - polars-arrow-format@0.1.0 - polars-arrow@0.41.3 - polars-compute@0.41.3 - polars-core@0.41.3 - polars-error@0.41.3 - polars-expr@0.41.3 - polars-io@0.41.3 - polars-json@0.41.3 - polars-lazy@0.41.3 - polars-mem-engine@0.41.3 - polars-ops@0.41.3 - polars-parquet@0.41.3 - polars-pipe@0.41.3 - polars-plan@0.41.3 - polars-row@0.41.3 - polars-sql@0.41.3 - polars-time@0.41.3 - polars-utils@0.41.3 - polars@0.41.3 - pori@0.0.0 - portable-atomic@1.7.0 - powerfmt@0.2.0 - ppv-lite86@0.2.20 - precomputed-hash@0.1.1 - predicates-core@1.0.8 - predicates-tree@1.0.11 - predicates@3.1.2 - pretty_assertions@1.4.0 - print-positions@0.6.1 - proc-macro-crate@3.1.0 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.86 - procfs-core@0.16.0 - procfs@0.16.0 - psm@0.1.21 - ptr_meta@0.1.4 - ptr_meta_derive@0.1.4 - pure-rust-locales@0.8.1 - pwd@1.4.0 - quick-error@1.2.3 - quick-error@2.0.1 - quick-xml@0.31.0 - quick-xml@0.32.0 - quick-xml@0.34.0 - quickcheck@1.0.3 - quickcheck_macros@1.0.0 - quote@1.0.37 - quoted_printable@0.5.1 - radium@0.7.0 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - ratatui@0.26.3 - raw-cpuid@11.1.0 - rayon-core@1.12.1 - rayon@1.10.0 - recursive-proc-macro-impl@0.1.1 - recursive@0.1.1 - recvmsg@1.0.0 - redox_syscall@0.5.3 - redox_users@0.4.6 - reedline@0.35.0 - ref-cast-impl@1.0.23 - ref-cast@1.0.23 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.6 - relative-path@1.9.3 - rend@0.4.2 - rfc2047-decoder@1.0.5 - rkyv@0.7.45 - rkyv_derive@0.7.45 - rle-decode-fast@1.0.3 - rmp-serde@1.3.0 - rmp@0.8.14 - ropey@1.6.1 - roxmltree@0.19.0 - rstest@0.18.2 - rstest_macros@0.18.2 - rusqlite@0.31.0 - rust-embed-impl@8.5.0 - rust-embed-utils@8.5.0 - rust-embed@8.5.0 - rust-ini@0.21.1 - rust_decimal@1.36.0 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - scc@2.1.16 - schannel@0.1.23 - scoped-tls@1.0.1 - scopeguard@1.2.0 - scraper@0.20.0 - scroll@0.11.0 - scroll_derive@0.11.1 - sdd@3.0.2 - seahash@4.1.0 - security-framework-sys@2.11.1 - security-framework@2.11.1 - selectors@0.25.0 - semver@1.0.23 - serde@1.0.208 - serde_derive@1.0.208 - serde_json@1.0.127 - serde_repr@0.1.19 - serde_spanned@0.6.7 - serde_urlencoded@0.7.1 - serde_yaml@0.9.34+deprecated - serial_test@3.1.1 - serial_test_derive@3.1.1 - servo_arc@0.3.0 - sha2@0.10.8 - shadow-rs@0.34.0 - shell-words@1.1.0 - shlex@1.3.0 - signal-hook-mio@0.2.4 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - simd-json@0.13.10 - simdutf8@0.1.4 - similar@2.6.0 - simplelog@0.12.2 - siphasher@0.3.11 - slab@0.4.9 - smallvec@1.13.2 - smartstring@1.0.1 - smawk@0.3.2 - snap@1.1.1 - socket2@0.5.7 - sqlparser@0.47.0 - stability@0.2.1 - stable_deref_trait@1.2.0 - stacker@0.1.16 - static_assertions@1.1.0 - str_indices@0.4.3 - streaming-decompression@0.1.2 - streaming-iterator@0.1.9 - strength_reduce@0.2.4 - string_cache@0.8.7 - string_cache_codegen@0.5.2 - strip-ansi-escapes@0.2.0 - strsim@0.11.1 - strum@0.26.3 - strum_macros@0.26.4 - supports-color@2.1.0 - supports-color@3.0.0 - supports-hyperlinks@3.0.0 - supports-unicode@3.0.0 - sxd-document@0.3.2 - sxd-xpath@0.4.2 - syn@1.0.109 - syn@2.0.75 - syn_derive@0.1.8 - sys-locale@0.3.1 - sysinfo@0.30.13 - tabled@0.16.0 - tango-bench@0.5.0 - tap@1.0.1 - target-features@0.1.6 - tempfile@3.12.0 - tendril@0.4.3 - termcolor@1.4.1 - terminal_size@0.3.0 - termtree@0.4.1 - textwrap@0.16.1 - thiserror-impl@1.0.63 - thiserror@1.0.63 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - titlecase@2.2.1 - tokio-util@0.7.11 - tokio@1.39.3 - toml@0.7.8 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.19.15 - toml_edit@0.21.1 - toml_edit@0.22.20 - tracing-core@0.1.32 - tracing@0.1.40 - trash@3.3.1 - tree_magic_mini@3.1.5 - trim-in-place@0.1.7 - typed-arena@1.7.0 - typeid@1.0.2 - typenum@1.17.0 - typetag-impl@0.2.18 - typetag@0.2.18 - ucd-trie@0.1.6 - umask@2.1.0 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.23 - unicode-reverse@1.0.9 - unicode-segmentation@1.11.0 - unicode-truncate@1.1.0 - unicode-width@0.1.11 - unicode-xid@0.2.5 - unsafe-libyaml@0.2.11 - ureq@2.10.1 - url@2.5.2 - utf-8@0.7.6 - utf8-width@0.1.7 - utf8parse@0.2.2 - uu_cp@0.0.27 - uu_mkdir@0.0.27 - uu_mktemp@0.0.27 - uu_mv@0.0.27 - uu_uname@0.0.27 - uu_whoami@0.0.27 - uucore@0.0.27 - uucore_procs@0.0.27 - uuhelp_parser@0.0.27 - uuid@1.10.0 - v_htmlescape@0.15.8 - value-trait@0.8.1 - vcpkg@0.2.15 - version_check@0.9.5 - vte@0.10.1 - vte@0.11.1 - vte_generate_state_changes@0.1.2 - wait-timeout@0.2.0 - walkdir@2.5.0 - 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 - wax@0.6.0 - wayland-backend@0.3.6 - wayland-client@0.31.5 - wayland-protocols-wlr@0.2.0 - wayland-protocols@0.31.2 - wayland-scanner@0.31.4 - wayland-sys@0.31.4 - webpage@2.0.1 - which@6.0.3 - widestring@1.1.0 - wild@2.2.1 - 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-core@0.54.0 - windows-result@0.1.2 - windows-sys@0.36.1 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-sys@0.59.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows-targets@0.52.6 - windows@0.44.0 - windows@0.52.0 - windows@0.54.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.6 - windows_aarch64_msvc@0.36.1 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.6 - windows_i686_gnu@0.36.1 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.6 - windows_i686_gnullvm@0.52.6 - windows_i686_msvc@0.36.1 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.6 - windows_x86_64_gnu@0.36.1 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.6 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_msvc@0.36.1 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.6 - winnow@0.5.40 - winnow@0.6.18 - winreg@0.52.0 - winresource@0.1.17 - winsafe@0.0.19 - wl-clipboard-rs@0.8.1 - wyz@0.5.1 - x11rb-protocol@0.13.1 - x11rb@0.13.1 - xattr@1.3.1 - xml5ever@0.18.1 - xxhash-rust@0.8.12 - yansi@0.5.1 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zip@0.6.6 - zstd-safe@7.2.1 - zstd-sys@2.0.13+zstd.1.5.6 - zstd@0.13.2 -" - -inherit cargo - -DESCRIPTION="A new type of shell, written in Rust" -HOMEPAGE="https://www.nushell.sh" -SRC_URI=" - https://github.com/nushell/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - 0BSD Apache-2.0 BSD Boost-1.0 CC-PD CC0-1.0 ISC MIT MPL-2.0 MPL-2.0 - Unicode-DFS-2016 ZLIB -" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" -IUSE="plugins X" - -DEPEND=" - >=dev-libs/libgit2-0.99:= - dev-libs/oniguruma:= - dev-libs/openssl:0= - net-libs/libssh2:= - net-libs/nghttp2:= - net-misc/curl - dev-db/sqlite:3= - X? ( - x11-libs/libX11 - x11-libs/libxcb - ) -" -RDEPEND="${DEPEND}" -BDEPEND=" - >=virtual/rust-1.79.0 - virtual/pkgconfig -" - -RESTRICT+=" test" - -QA_FLAGS_IGNORED="usr/bin/nu.*" - -src_prepare() { - use plugins || eapply "${FILESDIR/${PN}-dont-build-plugins.patch}" - default -} - -src_configure() { - # high magic to allow system-libs - export OPENSSL_NO_VENDOR=true - export RUSTONIG_SYSTEM_LIBONIG=1 - export LIBGIT2_SYS_USE_PKG_CONFIG=1 - export LIBSSH2_SYS_USE_PKG_CONFIG=1 - export PKG_CONFIG_ALLOW_CROSS=1 - - cargo_src_configure -} - -src_compile() { - cargo_src_compile --workspace -} - -src_install() { - cargo_src_install - if use plugins ; then - cargo_src_install --path crates/nu_plugin_custom_values - cargo_src_install --path crates/nu_plugin_example - cargo_src_install --path crates/nu_plugin_formats - cargo_src_install --path crates/nu_plugin_gstat - cargo_src_install --path crates/nu_plugin_inc - cargo_src_install --path crates/nu_plugin_polars - cargo_src_install --path crates/nu_plugin_query - cargo_src_install --path crates/nu_plugin_stress_internals - fi - local DOCS=( README.md ) - einstalldocs -} - -pkg_postinst() { - if use plugins ; then - einfo "The plugins are installed alongside the main 'nu' binary." - einfo "Visit https://www.nushell.sh/book/plugins.html#adding-a-plugin" - einfo "for more information on how to use plugins." - fi -} diff --git a/app-shells/starship/starship-1.19.0-r1.ebuild b/app-shells/starship/starship-1.19.0-r1.ebuild new file mode 100644 index 000000000000..ccaa9e9dcd64 --- /dev/null +++ b/app-shells/starship/starship-1.19.0-r1.ebuild @@ -0,0 +1,58 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES="" + +RUST_MIN_VER="1.74.1" +inherit cargo + +DESCRIPTION="The minimal, blazing-fast, and infinitely customizable prompt for any shell" +HOMEPAGE="https://starship.rs/" +SRC_URI=" + https://github.com/starship/starship/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" +SRC_URI+="https://dev.gentoo.org/~arthurzam/distfiles/app-shells/${PN}/${P}-crates.tar.xz" + +LICENSE="ISC" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense + WTFPL-2 ZLIB +" + +SLOT="0" +KEYWORDS="amd64 arm64" + +BDEPEND=" + dev-build/cmake +" + +QA_FLAGS_IGNORED="usr/bin/starship" + +src_prepare() { + sed -e '/strip/s/true/false/' -i Cargo.toml || die # bug 866133 + default +} + +src_configure() { + export PKG_CONFIG_ALLOW_CROSS=1 + export OPENSSL_NO_VENDOR=true + + cargo_src_configure +} + +src_install() { + cargo_src_install + dodoc README.md CHANGELOG.md +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt "1.9.0"; then + einfo "Note that vicmd_symbol config option was renamed to vimcmd_symbol in version 1.9" + fi + done +} diff --git a/app-shells/starship/starship-1.19.0.ebuild b/app-shells/starship/starship-1.19.0.ebuild deleted file mode 100644 index c44e5bb3dec5..000000000000 --- a/app-shells/starship/starship-1.19.0.ebuild +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES="" - -inherit cargo - -DESCRIPTION="The minimal, blazing-fast, and infinitely customizable prompt for any shell" -HOMEPAGE="https://starship.rs/" -SRC_URI=" - https://github.com/starship/starship/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" -SRC_URI+="https://dev.gentoo.org/~arthurzam/distfiles/app-shells/${PN}/${P}-crates.tar.xz" - -LICENSE="ISC" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense - WTFPL-2 ZLIB -" - -SLOT="0" -KEYWORDS="amd64 arm64" - -BDEPEND=" - dev-build/cmake - >=virtual/rust-1.74.1 -" - -QA_FLAGS_IGNORED="usr/bin/starship" - -src_prepare() { - sed -e '/strip/s/true/false/' -i Cargo.toml || die # bug 866133 - default -} - -src_configure() { - export PKG_CONFIG_ALLOW_CROSS=1 - export OPENSSL_NO_VENDOR=true - - cargo_src_configure -} - -src_install() { - cargo_src_install - dodoc README.md CHANGELOG.md -} - -pkg_postinst() { - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${v}" -lt "1.9.0"; then - einfo "Note that vicmd_symbol config option was renamed to vimcmd_symbol in version 1.9" - fi - done -} diff --git a/app-shells/starship/starship-1.20.1-r1.ebuild b/app-shells/starship/starship-1.20.1-r1.ebuild new file mode 100644 index 000000000000..6080429d8bc4 --- /dev/null +++ b/app-shells/starship/starship-1.20.1-r1.ebuild @@ -0,0 +1,446 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.1.0 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.86 + arc-swap@1.7.1 + arraydeque@0.5.1 + arrayvec@0.7.4 + async-broadcast@0.7.1 + async-channel@2.3.1 + async-executor@1.13.0 + async-fs@2.1.2 + async-io@2.3.3 + async-lock@3.4.0 + async-process@2.2.3 + async-recursion@1.1.1 + async-signal@0.2.9 + async-task@4.7.1 + async-trait@0.1.81 + atomic-waker@1.1.2 + autocfg@1.3.0 + base64@0.13.1 + base64@0.22.1 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + block-buffer@0.9.0 + block@0.1.6 + blocking@1.6.1 + bstr@1.9.1 + bumpalo@3.16.0 + bytesize@1.3.0 + cc@1.1.6 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + chrono@0.4.38 + clap@4.5.11 + clap_builder@4.5.11 + clap_complete@4.5.11 + clap_derive@4.5.11 + clap_lex@0.7.1 + clru@0.6.2 + cmake@0.1.50 + colorchoice@1.0.1 + concurrent-queue@2.5.0 + const-random-macro@0.1.16 + const-random@0.1.18 + const_format@0.2.32 + const_format_proc_macros@0.2.32 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-common@0.1.6 + deelevate@0.2.0 + deranged@0.3.11 + digest@0.10.7 + digest@0.9.0 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dirs-sys@0.3.7 + dirs-sys@0.4.1 + dirs@4.0.0 + dirs@5.0.1 + dlv-list@0.5.2 + downcast@0.11.0 + dunce@1.0.4 + dyn-clone@1.0.17 + either@1.13.0 + encoding_rs@0.8.34 + endi@1.1.0 + enumflags2@0.7.10 + enumflags2_derive@0.7.10 + equivalent@1.0.1 + errno-dragonfly@0.1.2 + errno@0.2.8 + errno@0.3.9 + event-listener-strategy@0.5.2 + event-listener@5.3.1 + faster-hex@0.9.0 + fastrand@2.1.0 + filedescriptor@0.8.2 + filetime@0.2.23 + flate2@1.0.30 + fnv@1.0.7 + form_urlencoded@1.2.1 + fragile@2.0.0 + futures-core@0.3.30 + futures-io@0.3.30 + futures-lite@2.3.0 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + generic-array@0.14.7 + gethostname@0.5.0 + getrandom@0.2.15 + gix-actor@0.31.5 + gix-bitmap@0.2.11 + gix-chunk@0.4.8 + gix-commitgraph@0.24.3 + gix-config-value@0.14.7 + gix-config@0.38.0 + gix-date@0.8.7 + gix-diff@0.44.1 + gix-discover@0.33.0 + gix-features@0.38.2 + gix-fs@0.11.2 + gix-glob@0.16.4 + gix-hash@0.14.2 + gix-hashtable@0.5.2 + gix-index@0.33.1 + gix-lock@14.0.0 + gix-macros@0.1.5 + gix-object@0.42.3 + gix-odb@0.61.1 + gix-pack@0.51.1 + gix-path@0.10.9 + gix-quote@0.4.12 + gix-ref@0.45.0 + gix-refspec@0.23.1 + gix-revision@0.27.2 + gix-revwalk@0.13.2 + gix-sec@0.10.7 + gix-tempfile@14.0.1 + gix-trace@0.1.9 + gix-traverse@0.39.2 + gix-url@0.27.4 + gix-utils@0.1.12 + gix-validate@0.8.5 + gix@0.64.0 + guess_host_triple@0.1.3 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.8.4 + heck@0.5.0 + hermit-abi@0.4.0 + hex@0.4.3 + home@0.5.9 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + idna@0.5.0 + indexmap@1.9.3 + indexmap@2.2.6 + is-docker@0.2.0 + is-wsl@0.4.0 + is_debug@1.0.1 + is_terminal_polyfill@1.70.0 + itertools@0.13.0 + itoa@1.0.11 + js-sys@0.3.69 + jwalk@0.8.1 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.155 + libredox@0.1.3 + libz-ng-sys@1.1.15 + libz-sys@1.1.18 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + mac-notification-sys@0.6.1 + mach2@0.4.2 + malloc_buf@0.0.6 + memchr@2.7.4 + memmap2@0.9.4 + memmem@0.1.1 + memoffset@0.9.1 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + mockall@0.13.0 + mockall_derive@0.13.0 + nix@0.29.0 + nom@5.1.3 + nom@7.1.3 + notify-rust@4.11.0 + nu-ansi-term@0.50.1 + num-conv@0.1.0 + num-derive@0.3.3 + num-traits@0.2.19 + num_threads@0.1.7 + objc-foundation@0.1.1 + objc@0.2.7 + objc_id@0.1.1 + once_cell@1.19.0 + opaque-debug@0.3.1 + open@5.3.0 + option-ext@0.2.0 + ordered-float@2.10.1 + ordered-multimap@0.7.3 + ordered-stream@0.2.0 + os_info@3.8.2 + parking@2.2.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + path-slash@0.2.1 + pathdiff@0.2.1 + pathsearch@0.2.0 + percent-encoding@2.3.1 + pest@2.7.11 + pest_derive@2.7.11 + pest_generator@2.7.11 + pest_meta@2.7.11 + phf@0.11.2 + phf_codegen@0.11.2 + phf_generator@0.11.2 + phf_shared@0.11.2 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + piper@0.2.3 + pkg-config@0.3.30 + plist@1.7.0 + polling@3.7.2 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + proc-macro-crate@3.1.0 + proc-macro2@1.0.86 + process_control@4.1.0 + prodash@28.0.0 + quick-xml@0.31.0 + quick-xml@0.32.0 + quick-xml@0.36.1 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.3 + redox_users@0.4.5 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + rust-ini@0.21.0 + rustix@0.38.34 + ryu@1.0.18 + same-file@1.0.6 + schemars@0.8.21 + schemars_derive@0.8.21 + scopeguard@1.2.0 + semver-parser@0.10.2 + semver@0.11.0 + semver@1.0.23 + serde@1.0.204 + serde_derive@1.0.204 + serde_derive_internals@0.29.1 + serde_json@1.0.120 + serde_repr@0.1.19 + serde_spanned@0.6.7 + sha1-asm@0.5.3 + sha1@0.10.6 + sha1_smol@1.0.1 + sha2@0.10.8 + sha2@0.9.9 + shadow-rs@0.30.0 + shared_library@0.1.9 + shell-words@1.1.0 + signal-hook-registry@1.4.2 + signal-hook@0.1.17 + signal-hook@0.3.17 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.13.2 + starship@1.20.1 + starship-battery@0.9.1 + static_assertions@1.1.0 + strsim@0.11.1 + syn@1.0.109 + syn@2.0.72 + systemstat@0.2.3 + tauri-winrt-notification@0.2.1 + tempfile@3.10.1 + terminal_size@0.3.0 + terminfo@0.7.5 + termios@0.3.3 + termtree@0.4.1 + termwiz@0.15.0 + thiserror-impl@1.0.63 + thiserror@1.0.63 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + toml@0.5.11 + toml@0.8.16 + toml_datetime@0.6.7 + toml_edit@0.21.1 + toml_edit@0.22.17 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + trim-in-place@0.1.7 + typenum@1.17.0 + ucd-trie@0.1.6 + uds_windows@1.1.0 + uluru@3.1.0 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-bom@2.0.3 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-segmentation@1.11.0 + unicode-width@0.1.13 + unicode-xid@0.2.4 + uom@0.36.0 + url@2.5.2 + urlencoding@2.1.3 + utf8parse@0.2.2 + vcpkg@0.2.15 + version_check@0.9.4 + versions@6.3.0 + vtparse@0.6.2 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + which@6.0.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-core@0.56.0 + windows-core@0.58.0 + windows-implement@0.56.0 + windows-implement@0.58.0 + windows-interface@0.56.0 + windows-interface@0.58.0 + windows-result@0.1.2 + windows-result@0.2.0 + windows-strings@0.1.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows-version@0.1.1 + windows@0.56.0 + windows@0.58.0 + 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 + winnow@0.5.40 + winnow@0.6.15 + winres@0.1.12 + winsafe@0.0.19 + xdg-home@1.2.0 + yaml-rust2@0.8.1 + zbus@4.4.0 + zbus_macros@4.4.0 + zbus_names@3.0.0 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zvariant@4.2.0 + zvariant_derive@4.2.0 + 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" +HOMEPAGE="https://starship.rs/" +SRC_URI=" + ${CARGO_CRATE_URIS}" + +LICENSE="ISC" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense + WTFPL-2 ZLIB +" + +SLOT="0" +KEYWORDS="amd64 arm64" + +BDEPEND=" + dev-build/cmake +" + +QA_FLAGS_IGNORED="usr/bin/starship" + +src_prepare() { + sed -e '/strip/s/true/false/' -i Cargo.toml || die # bug 866133 + default +} + +src_configure() { + export PKG_CONFIG_ALLOW_CROSS=1 + export OPENSSL_NO_VENDOR=true + + cargo_src_configure +} + +src_install() { + cargo_src_install + dodoc README.md +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt "1.9.0"; then + einfo "Note that vicmd_symbol config option was renamed to vimcmd_symbol in version 1.9" + fi + done +} diff --git a/app-shells/starship/starship-1.20.1.ebuild b/app-shells/starship/starship-1.20.1.ebuild deleted file mode 100644 index a6607e763860..000000000000 --- a/app-shells/starship/starship-1.20.1.ebuild +++ /dev/null @@ -1,446 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.1.0 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - anyhow@1.0.86 - arc-swap@1.7.1 - arraydeque@0.5.1 - arrayvec@0.7.4 - async-broadcast@0.7.1 - async-channel@2.3.1 - async-executor@1.13.0 - async-fs@2.1.2 - async-io@2.3.3 - async-lock@3.4.0 - async-process@2.2.3 - async-recursion@1.1.1 - async-signal@0.2.9 - async-task@4.7.1 - async-trait@0.1.81 - atomic-waker@1.1.2 - autocfg@1.3.0 - base64@0.13.1 - base64@0.22.1 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - block-buffer@0.9.0 - block@0.1.6 - blocking@1.6.1 - bstr@1.9.1 - bumpalo@3.16.0 - bytesize@1.3.0 - cc@1.1.6 - cfg-if@1.0.0 - cfg_aliases@0.2.1 - chrono@0.4.38 - clap@4.5.11 - clap_builder@4.5.11 - clap_complete@4.5.11 - clap_derive@4.5.11 - clap_lex@0.7.1 - clru@0.6.2 - cmake@0.1.50 - colorchoice@1.0.1 - concurrent-queue@2.5.0 - const-random-macro@0.1.16 - const-random@0.1.18 - const_format@0.2.32 - const_format_proc_macros@0.2.32 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crossbeam@0.8.4 - crunchy@0.2.2 - crypto-common@0.1.6 - deelevate@0.2.0 - deranged@0.3.11 - digest@0.10.7 - digest@0.9.0 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - dirs-sys@0.3.7 - dirs-sys@0.4.1 - dirs@4.0.0 - dirs@5.0.1 - dlv-list@0.5.2 - downcast@0.11.0 - dunce@1.0.4 - dyn-clone@1.0.17 - either@1.13.0 - encoding_rs@0.8.34 - endi@1.1.0 - enumflags2@0.7.10 - enumflags2_derive@0.7.10 - equivalent@1.0.1 - errno-dragonfly@0.1.2 - errno@0.2.8 - errno@0.3.9 - event-listener-strategy@0.5.2 - event-listener@5.3.1 - faster-hex@0.9.0 - fastrand@2.1.0 - filedescriptor@0.8.2 - filetime@0.2.23 - flate2@1.0.30 - fnv@1.0.7 - form_urlencoded@1.2.1 - fragile@2.0.0 - futures-core@0.3.30 - futures-io@0.3.30 - futures-lite@2.3.0 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - generic-array@0.14.7 - gethostname@0.5.0 - getrandom@0.2.15 - gix-actor@0.31.5 - gix-bitmap@0.2.11 - gix-chunk@0.4.8 - gix-commitgraph@0.24.3 - gix-config-value@0.14.7 - gix-config@0.38.0 - gix-date@0.8.7 - gix-diff@0.44.1 - gix-discover@0.33.0 - gix-features@0.38.2 - gix-fs@0.11.2 - gix-glob@0.16.4 - gix-hash@0.14.2 - gix-hashtable@0.5.2 - gix-index@0.33.1 - gix-lock@14.0.0 - gix-macros@0.1.5 - gix-object@0.42.3 - gix-odb@0.61.1 - gix-pack@0.51.1 - gix-path@0.10.9 - gix-quote@0.4.12 - gix-ref@0.45.0 - gix-refspec@0.23.1 - gix-revision@0.27.2 - gix-revwalk@0.13.2 - gix-sec@0.10.7 - gix-tempfile@14.0.1 - gix-trace@0.1.9 - gix-traverse@0.39.2 - gix-url@0.27.4 - gix-utils@0.1.12 - gix-validate@0.8.5 - gix@0.64.0 - guess_host_triple@0.1.3 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashlink@0.8.4 - heck@0.5.0 - hermit-abi@0.4.0 - hex@0.4.3 - home@0.5.9 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - idna@0.5.0 - indexmap@1.9.3 - indexmap@2.2.6 - is-docker@0.2.0 - is-wsl@0.4.0 - is_debug@1.0.1 - is_terminal_polyfill@1.70.0 - itertools@0.13.0 - itoa@1.0.11 - js-sys@0.3.69 - jwalk@0.8.1 - lazy_static@1.5.0 - lazycell@1.3.0 - libc@0.2.155 - libredox@0.1.3 - libz-ng-sys@1.1.15 - libz-sys@1.1.18 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - mac-notification-sys@0.6.1 - mach2@0.4.2 - malloc_buf@0.0.6 - memchr@2.7.4 - memmap2@0.9.4 - memmem@0.1.1 - memoffset@0.9.1 - minimal-lexical@0.2.1 - miniz_oxide@0.7.4 - mockall@0.13.0 - mockall_derive@0.13.0 - nix@0.29.0 - nom@5.1.3 - nom@7.1.3 - notify-rust@4.11.0 - nu-ansi-term@0.50.1 - num-conv@0.1.0 - num-derive@0.3.3 - num-traits@0.2.19 - num_threads@0.1.7 - objc-foundation@0.1.1 - objc@0.2.7 - objc_id@0.1.1 - once_cell@1.19.0 - opaque-debug@0.3.1 - open@5.3.0 - option-ext@0.2.0 - ordered-float@2.10.1 - ordered-multimap@0.7.3 - ordered-stream@0.2.0 - os_info@3.8.2 - parking@2.2.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - path-slash@0.2.1 - pathdiff@0.2.1 - pathsearch@0.2.0 - percent-encoding@2.3.1 - pest@2.7.11 - pest_derive@2.7.11 - pest_generator@2.7.11 - pest_meta@2.7.11 - phf@0.11.2 - phf_codegen@0.11.2 - phf_generator@0.11.2 - phf_shared@0.11.2 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - piper@0.2.3 - pkg-config@0.3.30 - plist@1.7.0 - polling@3.7.2 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - proc-macro-crate@3.1.0 - proc-macro2@1.0.86 - process_control@4.1.0 - prodash@28.0.0 - quick-xml@0.31.0 - quick-xml@0.32.0 - quick-xml@0.36.1 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.3 - redox_users@0.4.5 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.5 - rust-ini@0.21.0 - rustix@0.38.34 - ryu@1.0.18 - same-file@1.0.6 - schemars@0.8.21 - schemars_derive@0.8.21 - scopeguard@1.2.0 - semver-parser@0.10.2 - semver@0.11.0 - semver@1.0.23 - serde@1.0.204 - serde_derive@1.0.204 - serde_derive_internals@0.29.1 - serde_json@1.0.120 - serde_repr@0.1.19 - serde_spanned@0.6.7 - sha1-asm@0.5.3 - sha1@0.10.6 - sha1_smol@1.0.1 - sha2@0.10.8 - sha2@0.9.9 - shadow-rs@0.30.0 - shared_library@0.1.9 - shell-words@1.1.0 - signal-hook-registry@1.4.2 - signal-hook@0.1.17 - signal-hook@0.3.17 - siphasher@0.3.11 - slab@0.4.9 - smallvec@1.13.2 - starship@1.20.1 - starship-battery@0.9.1 - static_assertions@1.1.0 - strsim@0.11.1 - syn@1.0.109 - syn@2.0.72 - systemstat@0.2.3 - tauri-winrt-notification@0.2.1 - tempfile@3.10.1 - terminal_size@0.3.0 - terminfo@0.7.5 - termios@0.3.3 - termtree@0.4.1 - termwiz@0.15.0 - thiserror-impl@1.0.63 - thiserror@1.0.63 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - toml@0.5.11 - toml@0.8.16 - toml_datetime@0.6.7 - toml_edit@0.21.1 - toml_edit@0.22.17 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - trim-in-place@0.1.7 - typenum@1.17.0 - ucd-trie@0.1.6 - uds_windows@1.1.0 - uluru@3.1.0 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-bom@2.0.3 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-segmentation@1.11.0 - unicode-width@0.1.13 - unicode-xid@0.2.4 - uom@0.36.0 - url@2.5.2 - urlencoding@2.1.3 - utf8parse@0.2.2 - vcpkg@0.2.15 - version_check@0.9.4 - versions@6.3.0 - vtparse@0.6.2 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - which@6.0.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-core@0.56.0 - windows-core@0.58.0 - windows-implement@0.56.0 - windows-implement@0.58.0 - windows-interface@0.56.0 - windows-interface@0.58.0 - windows-result@0.1.2 - windows-result@0.2.0 - windows-strings@0.1.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.6 - windows-version@0.1.1 - windows@0.56.0 - windows@0.58.0 - 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 - winnow@0.5.40 - winnow@0.6.15 - winres@0.1.12 - winsafe@0.0.19 - xdg-home@1.2.0 - yaml-rust2@0.8.1 - zbus@4.4.0 - zbus_macros@4.4.0 - zbus_names@3.0.0 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zvariant@4.2.0 - zvariant_derive@4.2.0 - zvariant_utils@2.1.0 -" - -inherit cargo - -DESCRIPTION="The minimal, blazing-fast, and infinitely customizable prompt for any shell" -HOMEPAGE="https://starship.rs/" -SRC_URI=" - ${CARGO_CRATE_URIS}" - -LICENSE="ISC" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense - WTFPL-2 ZLIB -" - -SLOT="0" -KEYWORDS="amd64 arm64" - -BDEPEND=" - dev-build/cmake - >=virtual/rust-1.74.1 -" - -QA_FLAGS_IGNORED="usr/bin/starship" - -src_prepare() { - sed -e '/strip/s/true/false/' -i Cargo.toml || die # bug 866133 - default -} - -src_configure() { - export PKG_CONFIG_ALLOW_CROSS=1 - export OPENSSL_NO_VENDOR=true - - cargo_src_configure -} - -src_install() { - cargo_src_install - dodoc README.md -} - -pkg_postinst() { - local v - for v in ${REPLACING_VERSIONS}; do - if ver_test "${v}" -lt "1.9.0"; then - einfo "Note that vicmd_symbol config option was renamed to vimcmd_symbol in version 1.9" - fi - done -} diff --git a/app-shells/zoxide/zoxide-0.9.4-r1.ebuild b/app-shells/zoxide/zoxide-0.9.4-r1.ebuild new file mode 100644 index 000000000000..000e4b303a2d --- /dev/null +++ b/app-shells/zoxide/zoxide-0.9.4-r1.ebuild @@ -0,0 +1,160 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.10 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.2 + aliasable@0.1.3 + anstream@0.6.12 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + anyhow@1.0.80 + askama@0.12.1 + askama_derive@0.12.5 + askama_escape@0.10.3 + askama_parser@0.2.1 + assert_cmd@2.0.14 + bincode@1.3.3 + bitflags@1.3.2 + bitflags@2.4.2 + bstr@1.9.0 + cfg-if@1.0.0 + clap@4.5.1 + clap_builder@4.5.1 + clap_complete@4.5.1 + clap_complete_fig@4.5.0 + clap_derive@4.5.0 + clap_lex@0.7.0 + color-print-proc-macro@0.3.5 + color-print@0.3.5 + colorchoice@1.0.0 + difflib@0.4.0 + dirs-sys@0.4.1 + dirs@5.0.1 + doc-comment@0.3.3 + dunce@1.0.4 + either@1.10.0 + errno@0.3.8 + fastrand@2.0.1 + getrandom@0.2.12 + glob@0.3.1 + heck@0.4.1 + home@0.5.9 + itertools@0.12.1 + libc@0.2.153 + libredox@0.0.1 + linux-raw-sys@0.4.13 + memchr@2.7.1 + mime@0.3.17 + mime_guess@2.0.4 + minimal-lexical@0.2.1 + nix@0.27.1 + nom@7.1.3 + once_cell@1.19.0 + option-ext@0.2.0 + ouroboros@0.18.3 + ouroboros_macro@0.18.3 + ppv-lite86@0.2.17 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + proc-macro2-diagnostics@0.10.1 + proc-macro2@1.0.78 + quote@1.0.35 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.4.1 + redox_users@0.4.4 + regex-automata@0.4.5 + regex-syntax@0.8.2 + regex@1.10.3 + relative-path@1.9.2 + rstest@0.18.2 + rstest_macros@0.18.2 + rstest_reuse@0.6.0 + rustc_version@0.4.0 + rustix@0.38.31 + semver@1.0.22 + serde@1.0.197 + serde_derive@1.0.197 + static_assertions@1.1.0 + strsim@0.11.0 + syn@1.0.109 + syn@2.0.50 + tempfile@3.10.0 + termtree@0.4.1 + thiserror-impl@1.0.57 + thiserror@1.0.57 + unicase@2.7.0 + unicode-ident@1.0.12 + utf8parse@0.2.1 + version_check@0.9.4 + wait-timeout@0.2.0 + wasi@0.11.0+wasi-snapshot-preview1 + which@6.0.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 + yansi@1.0.0-rc.1 +" + +inherit cargo shell-completion + +DESCRIPTION="A smarter cd command for your terminal" +HOMEPAGE="https://github.com/ajeetdsouza/zoxide" +SRC_URI=" + https://github.com/ajeetdsouza/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + MIT MPL-2.0 Unicode-DFS-2016 + || ( Apache-2.0 CC0-1.0 MIT-0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +QA_FLAGS_IGNORED="usr/bin/zoxide" + +src_prepare() { + sed -i 's:strip = true:strip = false:g' Cargo.toml || die + default +} + +src_install() { + cargo_src_install + + doman man/man1/* + dodoc README.md CHANGELOG.md + + newbashcomp contrib/completions/"${PN}".bash "${PN}" + dozshcomp contrib/completions/_"${PN}" + dofishcomp contrib/completions/"${PN}".fish + + insinto /usr/share/"${PN}" + doins init.fish + doins zoxide.plugin.zsh +} diff --git a/app-shells/zoxide/zoxide-0.9.4.ebuild b/app-shells/zoxide/zoxide-0.9.4.ebuild deleted file mode 100644 index 000e4b303a2d..000000000000 --- a/app-shells/zoxide/zoxide-0.9.4.ebuild +++ /dev/null @@ -1,160 +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=" - aho-corasick@1.1.2 - aliasable@0.1.3 - anstream@0.6.12 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - anyhow@1.0.80 - askama@0.12.1 - askama_derive@0.12.5 - askama_escape@0.10.3 - askama_parser@0.2.1 - assert_cmd@2.0.14 - bincode@1.3.3 - bitflags@1.3.2 - bitflags@2.4.2 - bstr@1.9.0 - cfg-if@1.0.0 - clap@4.5.1 - clap_builder@4.5.1 - clap_complete@4.5.1 - clap_complete_fig@4.5.0 - clap_derive@4.5.0 - clap_lex@0.7.0 - color-print-proc-macro@0.3.5 - color-print@0.3.5 - colorchoice@1.0.0 - difflib@0.4.0 - dirs-sys@0.4.1 - dirs@5.0.1 - doc-comment@0.3.3 - dunce@1.0.4 - either@1.10.0 - errno@0.3.8 - fastrand@2.0.1 - getrandom@0.2.12 - glob@0.3.1 - heck@0.4.1 - home@0.5.9 - itertools@0.12.1 - libc@0.2.153 - libredox@0.0.1 - linux-raw-sys@0.4.13 - memchr@2.7.1 - mime@0.3.17 - mime_guess@2.0.4 - minimal-lexical@0.2.1 - nix@0.27.1 - nom@7.1.3 - once_cell@1.19.0 - option-ext@0.2.0 - ouroboros@0.18.3 - ouroboros_macro@0.18.3 - ppv-lite86@0.2.17 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - proc-macro2-diagnostics@0.10.1 - proc-macro2@1.0.78 - quote@1.0.35 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redox_syscall@0.4.1 - redox_users@0.4.4 - regex-automata@0.4.5 - regex-syntax@0.8.2 - regex@1.10.3 - relative-path@1.9.2 - rstest@0.18.2 - rstest_macros@0.18.2 - rstest_reuse@0.6.0 - rustc_version@0.4.0 - rustix@0.38.31 - semver@1.0.22 - serde@1.0.197 - serde_derive@1.0.197 - static_assertions@1.1.0 - strsim@0.11.0 - syn@1.0.109 - syn@2.0.50 - tempfile@3.10.0 - termtree@0.4.1 - thiserror-impl@1.0.57 - thiserror@1.0.57 - unicase@2.7.0 - unicode-ident@1.0.12 - utf8parse@0.2.1 - version_check@0.9.4 - wait-timeout@0.2.0 - wasi@0.11.0+wasi-snapshot-preview1 - which@6.0.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 - yansi@1.0.0-rc.1 -" - -inherit cargo shell-completion - -DESCRIPTION="A smarter cd command for your terminal" -HOMEPAGE="https://github.com/ajeetdsouza/zoxide" -SRC_URI=" - https://github.com/ajeetdsouza/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - MIT MPL-2.0 Unicode-DFS-2016 - || ( Apache-2.0 CC0-1.0 MIT-0 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -QA_FLAGS_IGNORED="usr/bin/zoxide" - -src_prepare() { - sed -i 's:strip = true:strip = false:g' Cargo.toml || die - default -} - -src_install() { - cargo_src_install - - doman man/man1/* - dodoc README.md CHANGELOG.md - - newbashcomp contrib/completions/"${PN}".bash "${PN}" - dozshcomp contrib/completions/_"${PN}" - dofishcomp contrib/completions/"${PN}".fish - - insinto /usr/share/"${PN}" - doins init.fish - doins zoxide.plugin.zsh -} diff --git a/app-shells/zoxide/zoxide-0.9.6-r1.ebuild b/app-shells/zoxide/zoxide-0.9.6-r1.ebuild new file mode 100644 index 000000000000..ebabae35a6f2 --- /dev/null +++ b/app-shells/zoxide/zoxide-0.9.6-r1.ebuild @@ -0,0 +1,174 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.10 + +EAPI=8 + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.2 + aliasable@0.1.3 + anstream@0.6.12 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + anyhow@1.0.80 + assert_cmd@2.0.14 + autocfg@1.3.0 + bincode@1.3.3 + bitflags@1.3.2 + bitflags@2.4.2 + bstr@1.9.0 + cfg-if@1.0.0 + clap@4.5.1 + clap_builder@4.5.1 + clap_complete@4.5.1 + clap_complete_fig@4.5.0 + clap_derive@4.5.0 + clap_lex@0.7.0 + color-print-proc-macro@0.3.5 + color-print@0.3.5 + colorchoice@1.0.0 + difflib@0.4.0 + dirs-sys@0.4.1 + dirs@5.0.1 + doc-comment@0.3.3 + dunce@1.0.4 + either@1.10.0 + errno@0.3.8 + fastrand@2.0.1 + getrandom@0.2.12 + glob@0.3.1 + hashbrown@0.14.5 + heck@0.4.1 + itoa@1.0.11 + home@0.5.9 + itertools@0.12.1 + libc@0.2.154 + libredox@0.0.1 + linux-raw-sys@0.4.13 + lock_api@0.4.12 + memchr@2.7.1 + mime@0.3.17 + mime_guess@2.0.4 + minimal-lexical@0.2.1 + nix@0.27.1 + nom@7.1.3 + once_cell@1.19.0 + once_map@0.4.19 + option-ext@0.2.0 + ouroboros@0.18.3 + ouroboros_macro@0.18.3 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + ppv-lite86@0.2.17 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + proc-macro2-diagnostics@0.10.1 + proc-macro2@1.0.78 + quote@1.0.35 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.4.1 + redox_syscall@0.5.3 + redox_users@0.4.4 + regex-automata@0.4.5 + regex-syntax@0.8.2 + regex@1.10.3 + relative-path@1.9.2 + rinja@0.3.2 + rinja_derive@0.3.2 + rinja_parser@0.3.2 + rstest@0.18.2 + rstest_macros@0.18.2 + rstest_reuse@0.6.0 + rustc-hash@2.0.0 + rustc_version@0.4.0 + rustix@0.38.31 + scopeguard@1.2.0 + semver@1.0.22 + serde@1.0.197 + serde_derive@1.0.197 + smallvec@1.13.2 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strsim@0.11.0 + syn@1.0.109 + syn@2.0.50 + tempfile@3.10.0 + termtree@0.4.1 + thiserror-impl@1.0.57 + thiserror@1.0.57 + unicase@2.7.0 + unicode-ident@1.0.12 + utf8parse@0.2.1 + version_check@0.9.4 + wait-timeout@0.2.0 + wasi@0.11.0+wasi-snapshot-preview1 + which@6.0.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 + yansi@1.0.0-rc.1 + zerocopy@0.7.35 + zerocopy-derive@0.7.35 +" + +inherit cargo shell-completion + +DESCRIPTION="A smarter cd command for your terminal" +HOMEPAGE="https://github.com/ajeetdsouza/zoxide" +SRC_URI=" + https://github.com/ajeetdsouza/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + MIT MPL-2.0 Unicode-DFS-2016 + || ( Apache-2.0 CC0-1.0 MIT-0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +QA_FLAGS_IGNORED="usr/bin/zoxide" + +src_prepare() { + sed -i 's:strip = true:strip = false:g' Cargo.toml || die + default +} + +src_install() { + cargo_src_install + + doman man/man1/* + dodoc README.md CHANGELOG.md + + newbashcomp contrib/completions/"${PN}".bash "${PN}" + dozshcomp contrib/completions/_"${PN}" + dofishcomp contrib/completions/"${PN}".fish + + insinto /usr/share/"${PN}" + doins init.fish + doins zoxide.plugin.zsh +} diff --git a/app-shells/zoxide/zoxide-0.9.6.ebuild b/app-shells/zoxide/zoxide-0.9.6.ebuild deleted file mode 100644 index ebabae35a6f2..000000000000 --- a/app-shells/zoxide/zoxide-0.9.6.ebuild +++ /dev/null @@ -1,174 +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=" - ahash@0.8.11 - aho-corasick@1.1.2 - aliasable@0.1.3 - anstream@0.6.12 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - anyhow@1.0.80 - assert_cmd@2.0.14 - autocfg@1.3.0 - bincode@1.3.3 - bitflags@1.3.2 - bitflags@2.4.2 - bstr@1.9.0 - cfg-if@1.0.0 - clap@4.5.1 - clap_builder@4.5.1 - clap_complete@4.5.1 - clap_complete_fig@4.5.0 - clap_derive@4.5.0 - clap_lex@0.7.0 - color-print-proc-macro@0.3.5 - color-print@0.3.5 - colorchoice@1.0.0 - difflib@0.4.0 - dirs-sys@0.4.1 - dirs@5.0.1 - doc-comment@0.3.3 - dunce@1.0.4 - either@1.10.0 - errno@0.3.8 - fastrand@2.0.1 - getrandom@0.2.12 - glob@0.3.1 - hashbrown@0.14.5 - heck@0.4.1 - itoa@1.0.11 - home@0.5.9 - itertools@0.12.1 - libc@0.2.154 - libredox@0.0.1 - linux-raw-sys@0.4.13 - lock_api@0.4.12 - memchr@2.7.1 - mime@0.3.17 - mime_guess@2.0.4 - minimal-lexical@0.2.1 - nix@0.27.1 - nom@7.1.3 - once_cell@1.19.0 - once_map@0.4.19 - option-ext@0.2.0 - ouroboros@0.18.3 - ouroboros_macro@0.18.3 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - ppv-lite86@0.2.17 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - proc-macro2-diagnostics@0.10.1 - proc-macro2@1.0.78 - quote@1.0.35 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redox_syscall@0.4.1 - redox_syscall@0.5.3 - redox_users@0.4.4 - regex-automata@0.4.5 - regex-syntax@0.8.2 - regex@1.10.3 - relative-path@1.9.2 - rinja@0.3.2 - rinja_derive@0.3.2 - rinja_parser@0.3.2 - rstest@0.18.2 - rstest_macros@0.18.2 - rstest_reuse@0.6.0 - rustc-hash@2.0.0 - rustc_version@0.4.0 - rustix@0.38.31 - scopeguard@1.2.0 - semver@1.0.22 - serde@1.0.197 - serde_derive@1.0.197 - smallvec@1.13.2 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - strsim@0.11.0 - syn@1.0.109 - syn@2.0.50 - tempfile@3.10.0 - termtree@0.4.1 - thiserror-impl@1.0.57 - thiserror@1.0.57 - unicase@2.7.0 - unicode-ident@1.0.12 - utf8parse@0.2.1 - version_check@0.9.4 - wait-timeout@0.2.0 - wasi@0.11.0+wasi-snapshot-preview1 - which@6.0.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 - yansi@1.0.0-rc.1 - zerocopy@0.7.35 - zerocopy-derive@0.7.35 -" - -inherit cargo shell-completion - -DESCRIPTION="A smarter cd command for your terminal" -HOMEPAGE="https://github.com/ajeetdsouza/zoxide" -SRC_URI=" - https://github.com/ajeetdsouza/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - MIT MPL-2.0 Unicode-DFS-2016 - || ( Apache-2.0 CC0-1.0 MIT-0 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -QA_FLAGS_IGNORED="usr/bin/zoxide" - -src_prepare() { - sed -i 's:strip = true:strip = false:g' Cargo.toml || die - default -} - -src_install() { - cargo_src_install - - doman man/man1/* - dodoc README.md CHANGELOG.md - - newbashcomp contrib/completions/"${PN}".bash "${PN}" - dozshcomp contrib/completions/_"${PN}" - dofishcomp contrib/completions/"${PN}".fish - - insinto /usr/share/"${PN}" - doins init.fish - doins zoxide.plugin.zsh -} diff --git a/app-text/fblog/fblog-4.10.0-r1.ebuild b/app-text/fblog/fblog-4.10.0-r1.ebuild new file mode 100644 index 000000000000..19cb0922d9dc --- /dev/null +++ b/app-text/fblog/fblog-4.10.0-r1.ebuild @@ -0,0 +1,156 @@ +# Copyright 2019-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.14 + anstyle@1.0.7 + anstyle-parse@0.2.4 + anstyle-query@1.1.0 + anstyle-wincon@3.0.3 + autocfg@1.3.0 + bitflags@2.5.0 + block-buffer@0.10.4 + bstr@1.9.1 + bumpalo@3.16.0 + cc@1.0.99 + cfg-if@1.0.0 + chrono@0.4.38 + clap@4.5.6 + clap_builder@4.5.6 + clap_complete@4.5.4 + clap_derive@4.5.5 + clap_lex@0.7.1 + colorchoice@1.0.1 + core-foundation-sys@0.8.6 + cpufeatures@0.2.12 + crypto-common@0.1.6 + digest@0.10.7 + dirs@5.0.1 + dirs-sys@0.4.1 + either@1.12.0 + equivalent@1.0.1 + errno@0.3.9 + generic-array@0.14.7 + getrandom@0.2.15 + handlebars@5.1.2 + hashbrown@0.14.5 + heck@0.5.0 + home@0.5.9 + iana-time-zone@0.1.60 + iana-time-zone-haiku@0.1.2 + indexmap@2.2.6 + is_terminal_polyfill@1.70.0 + itoa@1.0.11 + js-sys@0.3.69 + lazy_static@1.4.0 + libc@0.2.155 + libredox@0.1.3 + linux-raw-sys@0.4.14 + log@0.4.21 + lua-src@546.0.2 + luajit-src@210.5.8+5790d25 + memchr@2.7.2 + mlua@0.9.8 + mlua-sys@0.6.0 + num-traits@0.2.19 + once_cell@1.19.0 + option-ext@0.2.0 + pest@2.7.10 + pest_derive@2.7.10 + pest_generator@2.7.10 + pest_meta@2.7.10 + pkg-config@0.3.30 + proc-macro2@1.0.85 + quote@1.0.36 + redox_users@0.4.5 + regex@1.10.4 + regex-automata@0.4.6 + regex-syntax@0.8.3 + rustc-hash@1.1.0 + rustix@0.38.34 + ryu@1.0.18 + serde@1.0.203 + serde_derive@1.0.203 + serde_json@1.0.117 + serde_spanned@0.6.6 + sha2@0.10.8 + strsim@0.11.1 + syn@2.0.66 + thiserror@1.0.61 + thiserror-impl@1.0.61 + toml@0.8.14 + toml_datetime@0.6.6 + toml_edit@0.22.14 + typenum@1.17.0 + ucd-trie@0.1.6 + unicode-ident@1.0.12 + utf8parse@0.2.1 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen@0.2.92 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-shared@0.2.92 + which@6.0.1 + windows-core@0.52.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winnow@0.6.13 + winsafe@0.0.19 + yansi@1.0.1 +" + +inherit cargo + +DESCRIPTION="Small command-line JSON Log viewer" +HOMEPAGE="https://github.com/brocode/fblog" +SRC_URI=" + https://github.com/brocode/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions Boost-1.0 MIT MPL-2.0 unicode Unlicense WTFPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc64" + +DOCS=( + README.md + default_config.toml + sample_{context,elastic}.log + sample{,_nested,_numbered}.json.log +) + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + default + rm Cargo.lock || die +} + +src_install() { + cargo_src_install + einstalldocs +} diff --git a/app-text/fblog/fblog-4.10.0.ebuild b/app-text/fblog/fblog-4.10.0.ebuild deleted file mode 100644 index 19cb0922d9dc..000000000000 --- a/app-text/fblog/fblog-4.10.0.ebuild +++ /dev/null @@ -1,156 +0,0 @@ -# Copyright 2019-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick@1.1.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.14 - anstyle@1.0.7 - anstyle-parse@0.2.4 - anstyle-query@1.1.0 - anstyle-wincon@3.0.3 - autocfg@1.3.0 - bitflags@2.5.0 - block-buffer@0.10.4 - bstr@1.9.1 - bumpalo@3.16.0 - cc@1.0.99 - cfg-if@1.0.0 - chrono@0.4.38 - clap@4.5.6 - clap_builder@4.5.6 - clap_complete@4.5.4 - clap_derive@4.5.5 - clap_lex@0.7.1 - colorchoice@1.0.1 - core-foundation-sys@0.8.6 - cpufeatures@0.2.12 - crypto-common@0.1.6 - digest@0.10.7 - dirs@5.0.1 - dirs-sys@0.4.1 - either@1.12.0 - equivalent@1.0.1 - errno@0.3.9 - generic-array@0.14.7 - getrandom@0.2.15 - handlebars@5.1.2 - hashbrown@0.14.5 - heck@0.5.0 - home@0.5.9 - iana-time-zone@0.1.60 - iana-time-zone-haiku@0.1.2 - indexmap@2.2.6 - is_terminal_polyfill@1.70.0 - itoa@1.0.11 - js-sys@0.3.69 - lazy_static@1.4.0 - libc@0.2.155 - libredox@0.1.3 - linux-raw-sys@0.4.14 - log@0.4.21 - lua-src@546.0.2 - luajit-src@210.5.8+5790d25 - memchr@2.7.2 - mlua@0.9.8 - mlua-sys@0.6.0 - num-traits@0.2.19 - once_cell@1.19.0 - option-ext@0.2.0 - pest@2.7.10 - pest_derive@2.7.10 - pest_generator@2.7.10 - pest_meta@2.7.10 - pkg-config@0.3.30 - proc-macro2@1.0.85 - quote@1.0.36 - redox_users@0.4.5 - regex@1.10.4 - regex-automata@0.4.6 - regex-syntax@0.8.3 - rustc-hash@1.1.0 - rustix@0.38.34 - ryu@1.0.18 - serde@1.0.203 - serde_derive@1.0.203 - serde_json@1.0.117 - serde_spanned@0.6.6 - sha2@0.10.8 - strsim@0.11.1 - syn@2.0.66 - thiserror@1.0.61 - thiserror-impl@1.0.61 - toml@0.8.14 - toml_datetime@0.6.6 - toml_edit@0.22.14 - typenum@1.17.0 - ucd-trie@0.1.6 - unicode-ident@1.0.12 - utf8parse@0.2.1 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen@0.2.92 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-shared@0.2.92 - which@6.0.1 - windows-core@0.52.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winnow@0.6.13 - winsafe@0.0.19 - yansi@1.0.1 -" - -inherit cargo - -DESCRIPTION="Small command-line JSON Log viewer" -HOMEPAGE="https://github.com/brocode/fblog" -SRC_URI=" - https://github.com/brocode/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions Boost-1.0 MIT MPL-2.0 unicode Unlicense WTFPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc64" - -DOCS=( - README.md - default_config.toml - sample_{context,elastic}.log - sample{,_nested,_numbered}.json.log -) - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_prepare() { - default - rm Cargo.lock || die -} - -src_install() { - cargo_src_install - einstalldocs -} diff --git a/app-text/mdbook/mdbook-0.4.40-r1.ebuild b/app-text/mdbook/mdbook-0.4.40-r1.ebuild new file mode 100644 index 000000000000..bf8098720bf5 --- /dev/null +++ b/app-text/mdbook/mdbook-0.4.40-r1.ebuild @@ -0,0 +1,302 @@ +# Copyright 2021-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.1.3 + ammonia@4.0.0 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.0.3 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.83 + assert_cmd@2.0.14 + autocfg@1.3.0 + backtrace@0.3.71 + base64@0.21.7 + bitflags@1.3.2 + bitflags@2.5.0 + bit-set@0.5.3 + bit-vec@0.6.3 + block-buffer@0.10.4 + bstr@1.9.1 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.6.0 + cc@1.0.97 + cfg-if@1.0.0 + chrono@0.4.38 + clap@4.5.4 + clap_builder@4.5.2 + clap_complete@4.5.2 + clap_lex@0.7.0 + colorchoice@1.0.1 + core-foundation-sys@0.8.6 + cpufeatures@0.2.12 + crossbeam-channel@0.5.12 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.19 + crypto-common@0.1.6 + data-encoding@2.6.0 + dbus@0.9.7 + difflib@0.4.0 + diff@0.1.13 + digest@0.10.7 + doc-comment@0.3.3 + elasticlunr-rs@3.0.2 + env_filter@0.1.0 + env_logger@0.11.3 + equivalent@1.0.1 + errno@0.3.9 + fastrand@2.1.0 + filetime@0.2.23 + float-cmp@0.9.0 + fnv@1.0.7 + form_urlencoded@1.2.1 + fsevent-sys@4.1.0 + futf@0.1.5 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + generic-array@0.14.7 + getrandom@0.2.15 + gimli@0.28.1 + globset@0.4.14 + h2@0.3.26 + handlebars@5.1.2 + hashbrown@0.14.5 + headers-core@0.2.0 + headers@0.3.9 + hermit-abi@0.3.9 + html5ever@0.26.0 + html5ever@0.27.0 + httparse@1.8.0 + httpdate@1.0.3 + http-body@0.4.6 + http@0.2.12 + http@1.1.0 + humantime@2.1.0 + hyper@0.14.28 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + idna@0.5.0 + ignore@0.4.22 + indexmap@2.2.6 + inotify-sys@0.1.5 + inotify@0.9.6 + is_terminal_polyfill@1.70.0 + itoa@1.0.11 + js-sys@0.3.69 + kqueue-sys@1.0.4 + kqueue@1.0.8 + libc@0.2.154 + libdbus-sys@0.2.5 + linux-raw-sys@0.4.13 + lock_api@0.4.12 + log@0.4.21 + mac@0.1.1 + maplit@1.0.2 + markup5ever@0.11.0 + markup5ever@0.12.1 + markup5ever_rcdom@0.2.0 + memchr@2.7.2 + mime@0.3.17 + mime_guess@2.0.4 + miniz_oxide@0.7.2 + mio@0.8.11 + new_debug_unreachable@1.0.6 + normalize-line-endings@0.3.0 + normpath@1.2.0 + notify-debouncer-mini@0.4.1 + notify@6.1.1 + num-traits@0.2.19 + num_cpus@1.16.0 + object@0.32.2 + once_cell@1.19.0 + opener@0.7.0 + parking_lot@0.12.2 + parking_lot_core@0.9.10 + pathdiff@0.2.1 + percent-encoding@2.3.1 + pest@2.7.10 + pest_derive@2.7.10 + pest_generator@2.7.10 + pest_meta@2.7.10 + phf@0.10.1 + phf@0.11.2 + phf_codegen@0.10.0 + phf_codegen@0.11.2 + phf_generator@0.10.0 + phf_generator@0.11.2 + phf_shared@0.10.0 + phf_shared@0.11.2 + pin-project-internal@1.1.5 + pin-project-lite@0.2.14 + pin-project@1.1.5 + pin-utils@0.1.0 + pkg-config@0.3.30 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + pretty_assertions@1.4.0 + proc-macro2@1.0.82 + pulldown-cmark-escape@0.10.1 + pulldown-cmark@0.10.3 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.4.1 + redox_syscall@0.5.1 + regex-automata@0.4.6 + regex-syntax@0.8.3 + regex@1.10.4 + rustc-demangle@0.1.24 + rustix@0.38.34 + ryu@1.0.18 + same-file@1.0.6 + scoped-tls@1.0.1 + scopeguard@1.2.0 + select@0.6.0 + semver@1.0.23 + serde@1.0.201 + serde_derive@1.0.201 + serde_json@1.0.117 + serde_urlencoded@0.7.1 + sha1@0.10.6 + sha2@0.10.8 + shlex@1.3.0 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + string_cache@0.8.7 + string_cache_codegen@0.5.2 + strsim@0.11.1 + syn@1.0.109 + syn@2.0.63 + tempfile@3.10.1 + tendril@0.4.3 + terminal_size@0.3.0 + termtree@0.4.1 + thiserror-impl@1.0.60 + thiserror@1.0.60 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio-macros@2.2.0 + tokio-tungstenite@0.21.0 + tokio-util@0.7.11 + tokio@1.37.0 + toml@0.5.11 + topological-sort@0.2.2 + tower-service@0.3.2 + tracing-core@0.1.32 + tracing@0.1.40 + try-lock@0.2.5 + tungstenite@0.21.0 + typenum@1.17.0 + ucd-trie@0.1.6 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + url@2.5.0 + utf8parse@0.2.1 + utf-8@0.7.6 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.5.0 + want@0.3.1 + warp@0.3.7 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + 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-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + xml5ever@0.17.0 + yansi@0.5.1 +" +inherit cargo toolchain-funcs + +DESCRIPTION="Create a book from markdown files" +HOMEPAGE="https://rust-lang.github.io/mdBook/" +SRC_URI=" + https://github.com/rust-lang/mdBook/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/${P/b/B}" + +# CC-BY-4.0/OFL-1.1: embeds fonts inside the executable +LICENSE="MPL-2.0 CC-BY-4.0 OFL-1.1" +LICENSE+=" Apache-2.0 CC0-1.0 ISC MIT Unicode-DFS-2016" # crates +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="doc" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_compile() { + cargo_src_compile + + if use doc; then + if tc-is-cross-compiler; then + ewarn "html docs were skipped due to cross-compilation" + else + "$(cargo_target_dir)"/${PN} build -d html guide || die + fi + fi +} + +src_test() { + local skip=( + # fails with usersandbox + --skip test_ignore_canonical + ) + + cargo_src_test -- "${skip[@]}" +} + +src_install() { + cargo_src_install + + dodoc CHANGELOG.md README.md + use doc && ! tc-is-cross-compiler && dodoc -r guide/html +} diff --git a/app-text/mdbook/mdbook-0.4.40.ebuild b/app-text/mdbook/mdbook-0.4.40.ebuild deleted file mode 100644 index bf8098720bf5..000000000000 --- a/app-text/mdbook/mdbook-0.4.40.ebuild +++ /dev/null @@ -1,302 +0,0 @@ -# Copyright 2021-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.1.3 - ammonia@4.0.0 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.0.3 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - anyhow@1.0.83 - assert_cmd@2.0.14 - autocfg@1.3.0 - backtrace@0.3.71 - base64@0.21.7 - bitflags@1.3.2 - bitflags@2.5.0 - bit-set@0.5.3 - bit-vec@0.6.3 - block-buffer@0.10.4 - bstr@1.9.1 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.6.0 - cc@1.0.97 - cfg-if@1.0.0 - chrono@0.4.38 - clap@4.5.4 - clap_builder@4.5.2 - clap_complete@4.5.2 - clap_lex@0.7.0 - colorchoice@1.0.1 - core-foundation-sys@0.8.6 - cpufeatures@0.2.12 - crossbeam-channel@0.5.12 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.19 - crypto-common@0.1.6 - data-encoding@2.6.0 - dbus@0.9.7 - difflib@0.4.0 - diff@0.1.13 - digest@0.10.7 - doc-comment@0.3.3 - elasticlunr-rs@3.0.2 - env_filter@0.1.0 - env_logger@0.11.3 - equivalent@1.0.1 - errno@0.3.9 - fastrand@2.1.0 - filetime@0.2.23 - float-cmp@0.9.0 - fnv@1.0.7 - form_urlencoded@1.2.1 - fsevent-sys@4.1.0 - futf@0.1.5 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - generic-array@0.14.7 - getrandom@0.2.15 - gimli@0.28.1 - globset@0.4.14 - h2@0.3.26 - handlebars@5.1.2 - hashbrown@0.14.5 - headers-core@0.2.0 - headers@0.3.9 - hermit-abi@0.3.9 - html5ever@0.26.0 - html5ever@0.27.0 - httparse@1.8.0 - httpdate@1.0.3 - http-body@0.4.6 - http@0.2.12 - http@1.1.0 - humantime@2.1.0 - hyper@0.14.28 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - idna@0.5.0 - ignore@0.4.22 - indexmap@2.2.6 - inotify-sys@0.1.5 - inotify@0.9.6 - is_terminal_polyfill@1.70.0 - itoa@1.0.11 - js-sys@0.3.69 - kqueue-sys@1.0.4 - kqueue@1.0.8 - libc@0.2.154 - libdbus-sys@0.2.5 - linux-raw-sys@0.4.13 - lock_api@0.4.12 - log@0.4.21 - mac@0.1.1 - maplit@1.0.2 - markup5ever@0.11.0 - markup5ever@0.12.1 - markup5ever_rcdom@0.2.0 - memchr@2.7.2 - mime@0.3.17 - mime_guess@2.0.4 - miniz_oxide@0.7.2 - mio@0.8.11 - new_debug_unreachable@1.0.6 - normalize-line-endings@0.3.0 - normpath@1.2.0 - notify-debouncer-mini@0.4.1 - notify@6.1.1 - num-traits@0.2.19 - num_cpus@1.16.0 - object@0.32.2 - once_cell@1.19.0 - opener@0.7.0 - parking_lot@0.12.2 - parking_lot_core@0.9.10 - pathdiff@0.2.1 - percent-encoding@2.3.1 - pest@2.7.10 - pest_derive@2.7.10 - pest_generator@2.7.10 - pest_meta@2.7.10 - phf@0.10.1 - phf@0.11.2 - phf_codegen@0.10.0 - phf_codegen@0.11.2 - phf_generator@0.10.0 - phf_generator@0.11.2 - phf_shared@0.10.0 - phf_shared@0.11.2 - pin-project-internal@1.1.5 - pin-project-lite@0.2.14 - pin-project@1.1.5 - pin-utils@0.1.0 - pkg-config@0.3.30 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - pretty_assertions@1.4.0 - proc-macro2@1.0.82 - pulldown-cmark-escape@0.10.1 - pulldown-cmark@0.10.3 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redox_syscall@0.4.1 - redox_syscall@0.5.1 - regex-automata@0.4.6 - regex-syntax@0.8.3 - regex@1.10.4 - rustc-demangle@0.1.24 - rustix@0.38.34 - ryu@1.0.18 - same-file@1.0.6 - scoped-tls@1.0.1 - scopeguard@1.2.0 - select@0.6.0 - semver@1.0.23 - serde@1.0.201 - serde_derive@1.0.201 - serde_json@1.0.117 - serde_urlencoded@0.7.1 - sha1@0.10.6 - sha2@0.10.8 - shlex@1.3.0 - siphasher@0.3.11 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.5.7 - string_cache@0.8.7 - string_cache_codegen@0.5.2 - strsim@0.11.1 - syn@1.0.109 - syn@2.0.63 - tempfile@3.10.1 - tendril@0.4.3 - terminal_size@0.3.0 - termtree@0.4.1 - thiserror-impl@1.0.60 - thiserror@1.0.60 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tokio-macros@2.2.0 - tokio-tungstenite@0.21.0 - tokio-util@0.7.11 - tokio@1.37.0 - toml@0.5.11 - topological-sort@0.2.2 - tower-service@0.3.2 - tracing-core@0.1.32 - tracing@0.1.40 - try-lock@0.2.5 - tungstenite@0.21.0 - typenum@1.17.0 - ucd-trie@0.1.6 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - url@2.5.0 - utf8parse@0.2.1 - utf-8@0.7.6 - version_check@0.9.4 - wait-timeout@0.2.0 - walkdir@2.5.0 - want@0.3.1 - warp@0.3.7 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - 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-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - xml5ever@0.17.0 - yansi@0.5.1 -" -inherit cargo toolchain-funcs - -DESCRIPTION="Create a book from markdown files" -HOMEPAGE="https://rust-lang.github.io/mdBook/" -SRC_URI=" - https://github.com/rust-lang/mdBook/archive/refs/tags/v${PV}.tar.gz - -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}/${P/b/B}" - -# CC-BY-4.0/OFL-1.1: embeds fonts inside the executable -LICENSE="MPL-2.0 CC-BY-4.0 OFL-1.1" -LICENSE+=" Apache-2.0 CC0-1.0 ISC MIT Unicode-DFS-2016" # crates -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="doc" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_compile() { - cargo_src_compile - - if use doc; then - if tc-is-cross-compiler; then - ewarn "html docs were skipped due to cross-compilation" - else - "$(cargo_target_dir)"/${PN} build -d html guide || die - fi - fi -} - -src_test() { - local skip=( - # fails with usersandbox - --skip test_ignore_canonical - ) - - cargo_src_test -- "${skip[@]}" -} - -src_install() { - cargo_src_install - - dodoc CHANGELOG.md README.md - use doc && ! tc-is-cross-compiler && dodoc -r guide/html -} diff --git a/dev-db/influxdb/influxdb-2.7.10-r1.ebuild b/dev-db/influxdb/influxdb-2.7.10-r1.ebuild new file mode 100644 index 000000000000..60339b24dc5b --- /dev/null +++ b/dev-db/influxdb/influxdb-2.7.10-r1.ebuild @@ -0,0 +1,285 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler32@1.2.0 + ahash@0.7.6 + aho-corasick@0.7.20 + android_system_properties@0.1.5 + ansi_term@0.12.1 + anyhow@1.0.70 + arrayvec@0.5.2 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.0.2 + bumpalo@3.12.0 + cast@0.3.0 + cc@1.0.79 + cfg-if@1.0.0 + chrono@0.4.24 + clap@2.34.0 + codespan-reporting@0.11.1 + colored@2.0.0 + core-foundation-sys@0.8.4 + crc32fast@1.3.2 + criterion-plot@0.4.5 + criterion@0.3.6 + crossbeam-channel@0.5.7 + crossbeam-deque@0.8.3 + crossbeam-epoch@0.9.14 + crossbeam-utils@0.8.15 + csv-core@0.1.10 + csv@1.2.1 + ctor@0.1.26 + cxx-build@1.0.94 + cxx@1.0.94 + cxxbridge-flags@1.0.94 + cxxbridge-macro@1.0.94 + derivative@2.2.0 + derive_more@0.99.17 + diff@0.1.13 + dissimilar@1.0.6 + either@1.8.1 + ena@0.14.2 + env_logger@0.9.3 + errno-dragonfly@0.1.2 + errno@0.3.0 + expect-test@1.4.1 + fallible-iterator@0.2.0 + fallible-streaming-iterator@0.1.9 + fastrand@1.9.0 + flatbuffers@22.12.6 + fnv@1.0.7 + form_urlencoded@1.1.0 + getrandom@0.2.8 + half@1.8.2 + hashbrown@0.12.3 + hashlink@0.8.1 + heck@0.3.3 + hermit-abi@0.1.19 + hermit-abi@0.2.6 + hermit-abi@0.3.1 + humantime@2.1.0 + iana-time-zone-haiku@0.1.1 + iana-time-zone@0.1.56 + idna@0.3.0 + indexmap@1.9.3 + instant@0.1.12 + io-lifetimes@1.0.10 + itertools@0.10.5 + itoa@1.0.6 + js-sys@0.3.61 + lazy_static@1.4.0 + libc@0.2.141 + libflate@1.3.0 + libflate_lz77@1.2.0 + libsqlite3-sys@0.26.0 + link-cplusplus@1.0.8 + linux-raw-sys@0.3.1 + lock_api@0.4.9 + log@0.4.17 + lsp-types@0.91.1 + maplit@1.0.2 + memchr@2.5.0 + memoffset@0.8.0 + num-integer@0.1.45 + num-traits@0.2.15 + num_cpus@1.15.0 + once_cell@1.17.1 + oorandom@11.1.3 + ordered-float@3.6.0 + output_vt100@0.1.3 + pad@0.1.6 + parking_lot@0.11.2 + parking_lot_core@0.8.6 + percent-encoding@2.2.0 + pkg-config@0.3.26 + plotters-backend@0.3.4 + plotters-svg@0.3.3 + plotters@0.3.4 + pretty@0.11.3 + pretty_assertions@1.3.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.56 + pulldown-cmark@0.9.2 + quote@1.0.26 + rayon-core@1.11.0 + rayon@1.7.0 + redox_syscall@0.2.16 + redox_syscall@0.3.5 + regex-syntax@0.6.29 + regex@1.7.3 + rle-decode-fast@1.0.3 + rusqlite@0.29.0 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.37.7 + ryu@1.0.13 + salsa-macros@0.17.0-pre.2 + salsa@0.17.0-pre.2 + same-file@1.0.6 + scopeguard@1.1.0 + scratch@1.0.5 + semver@1.0.17 + serde@1.0.159 + serde_cbor@0.11.2 + serde_derive@1.0.159 + serde_json@1.0.95 + serde_repr@0.1.12 + smallvec@1.10.0 + strsim@0.8.0 + structopt-derive@0.4.18 + structopt@0.3.26 + syn@1.0.109 + syn@2.0.13 + tempfile@3.5.0 + termcolor@1.2.0 + textwrap@0.11.0 + thiserror-impl@1.0.40 + thiserror@1.0.40 + tinytemplate@1.2.1 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + typed-arena@2.0.2 + unicase@2.6.0 + unicode-bidi@0.3.13 + unicode-ident@1.0.8 + unicode-normalization@0.1.22 + unicode-segmentation@1.10.1 + unicode-width@0.1.10 + url@2.3.1 + vcpkg@0.2.15 + vec_map@0.8.2 + version_check@0.9.4 + walkdir@2.3.3 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.84 + wasm-bindgen-macro-support@0.2.84 + wasm-bindgen-macro@0.2.84 + wasm-bindgen-shared@0.2.84 + wasm-bindgen@0.2.84 + web-sys@0.3.61 + 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 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-targets@0.42.2 + windows-targets@0.48.0 + windows@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 + yansi@0.5.1 +" + +inherit cargo go-module systemd + +DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics" +HOMEPAGE="https://www.influxdata.com" + +FLUX_PV="0.195.2" + +SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://github.com/influxdata/ui/releases/download/OSS-v2.7.9/build.tar.gz -> ${P}-assets.tar.gz" +# Generate go-mod of base dir. Then cd go-mod/github.com/influxdata/pkg-config@v0.2.11 and generate go-mod of it +SRC_URI+=" https://gentoo.kropotkin.rocks/go-pkgs/${P}-deps.tar.xz" +SRC_URI+=" ${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 BSD BSD-2 EPL-2.0 ISC MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND="virtual/pkgconfig" + +DEPEND=" + acct-group/influxdb + acct-user/influxdb +" +RDEPEND="${DEPEND}" + +src_unpack() { + cargo_src_unpack +} + +src_prepare() { + default + + local data_dir + data_dir="${S}/static/data" + mkdir "${data_dir}" || die + mv "${WORKDIR}/build" "${data_dir}" || die +} + +src_compile() { + mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp" || die + mv "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11/go-mod" "${WORKDIR}/go-mod" || die + cd "${WORKDIR}"/go-mod-tmp/github.com/influxdata/pkg-config* || die + ego build . + mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11" || die + mv "${WORKDIR}/go-mod-tmp" "${WORKDIR}/go-mod" || die + + cd "${WORKDIR}/go-mod/github.com/influxdata/flux@v${FLUX_PV}/libflux" || die + cargo_src_compile + + cd "${S}" || die + + export PKG_CONFIG="${WORKDIR}/go-mod/github.com/influxdata/pkg-config@v0.2.11/pkg-config" + ego generate ./static + GOBIN="${S}/bin" \ + ego install \ + -tags 'assets,noasm,sqlite_json,sqlite_foreign_keys' \ + -ldflags="-X main.version=${PV}" \ + ./... +} + +src_test() { + ego test ./tests +} + +src_install() { + dobin bin/influx* + dodoc *.md + cd .circleci/scripts/package/influxdb2/fs || die + systemd_dounit usr/lib/influxdb/scripts/influxdb.service + exeinto /usr/lib/influxdb/scripts + doexe usr/lib/influxdb/scripts/influxd-systemd-start.sh + exeinto /usr/share/influxdb + doexe usr/share/influxdb/influxdb2-upgrade.sh + newconfd "${FILESDIR}"/influxdb.confd-r1 influxdb + newinitd "${FILESDIR}"/influxdb.initd-r1 influxdb + keepdir /var/log/influxdb + fowners influxdb:influxdb /var/log/influxdb + + newenvd - "99${PN}" <<-_EOF_ + INFLUXD_CONFIG_PATH="/etc/influxdb" + _EOF_ +} + +pkg_postinst() { + elog "Upgrading from InfluxDB1.x requires migration of time series data." + elog "See https://docs.influxdata.com/influxdb/v2.7/upgrade/v1-to-v2/" + elog "Keep in mind that some applications not compatible with InfluxDB 2.x" + elog "may stop working." + + ewarn "The InfluxDB command line client has been moved to dev-db/influx-cli" + ewarn "You will need to install it separately" +} diff --git a/dev-db/influxdb/influxdb-2.7.10.ebuild b/dev-db/influxdb/influxdb-2.7.10.ebuild deleted file mode 100644 index 60339b24dc5b..000000000000 --- a/dev-db/influxdb/influxdb-2.7.10.ebuild +++ /dev/null @@ -1,285 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler32@1.2.0 - ahash@0.7.6 - aho-corasick@0.7.20 - android_system_properties@0.1.5 - ansi_term@0.12.1 - anyhow@1.0.70 - arrayvec@0.5.2 - atty@0.2.14 - autocfg@1.1.0 - bitflags@1.3.2 - bitflags@2.0.2 - bumpalo@3.12.0 - cast@0.3.0 - cc@1.0.79 - cfg-if@1.0.0 - chrono@0.4.24 - clap@2.34.0 - codespan-reporting@0.11.1 - colored@2.0.0 - core-foundation-sys@0.8.4 - crc32fast@1.3.2 - criterion-plot@0.4.5 - criterion@0.3.6 - crossbeam-channel@0.5.7 - crossbeam-deque@0.8.3 - crossbeam-epoch@0.9.14 - crossbeam-utils@0.8.15 - csv-core@0.1.10 - csv@1.2.1 - ctor@0.1.26 - cxx-build@1.0.94 - cxx@1.0.94 - cxxbridge-flags@1.0.94 - cxxbridge-macro@1.0.94 - derivative@2.2.0 - derive_more@0.99.17 - diff@0.1.13 - dissimilar@1.0.6 - either@1.8.1 - ena@0.14.2 - env_logger@0.9.3 - errno-dragonfly@0.1.2 - errno@0.3.0 - expect-test@1.4.1 - fallible-iterator@0.2.0 - fallible-streaming-iterator@0.1.9 - fastrand@1.9.0 - flatbuffers@22.12.6 - fnv@1.0.7 - form_urlencoded@1.1.0 - getrandom@0.2.8 - half@1.8.2 - hashbrown@0.12.3 - hashlink@0.8.1 - heck@0.3.3 - hermit-abi@0.1.19 - hermit-abi@0.2.6 - hermit-abi@0.3.1 - humantime@2.1.0 - iana-time-zone-haiku@0.1.1 - iana-time-zone@0.1.56 - idna@0.3.0 - indexmap@1.9.3 - instant@0.1.12 - io-lifetimes@1.0.10 - itertools@0.10.5 - itoa@1.0.6 - js-sys@0.3.61 - lazy_static@1.4.0 - libc@0.2.141 - libflate@1.3.0 - libflate_lz77@1.2.0 - libsqlite3-sys@0.26.0 - link-cplusplus@1.0.8 - linux-raw-sys@0.3.1 - lock_api@0.4.9 - log@0.4.17 - lsp-types@0.91.1 - maplit@1.0.2 - memchr@2.5.0 - memoffset@0.8.0 - num-integer@0.1.45 - num-traits@0.2.15 - num_cpus@1.15.0 - once_cell@1.17.1 - oorandom@11.1.3 - ordered-float@3.6.0 - output_vt100@0.1.3 - pad@0.1.6 - parking_lot@0.11.2 - parking_lot_core@0.8.6 - percent-encoding@2.2.0 - pkg-config@0.3.26 - plotters-backend@0.3.4 - plotters-svg@0.3.3 - plotters@0.3.4 - pretty@0.11.3 - pretty_assertions@1.3.0 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.56 - pulldown-cmark@0.9.2 - quote@1.0.26 - rayon-core@1.11.0 - rayon@1.7.0 - redox_syscall@0.2.16 - redox_syscall@0.3.5 - regex-syntax@0.6.29 - regex@1.7.3 - rle-decode-fast@1.0.3 - rusqlite@0.29.0 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.37.7 - ryu@1.0.13 - salsa-macros@0.17.0-pre.2 - salsa@0.17.0-pre.2 - same-file@1.0.6 - scopeguard@1.1.0 - scratch@1.0.5 - semver@1.0.17 - serde@1.0.159 - serde_cbor@0.11.2 - serde_derive@1.0.159 - serde_json@1.0.95 - serde_repr@0.1.12 - smallvec@1.10.0 - strsim@0.8.0 - structopt-derive@0.4.18 - structopt@0.3.26 - syn@1.0.109 - syn@2.0.13 - tempfile@3.5.0 - termcolor@1.2.0 - textwrap@0.11.0 - thiserror-impl@1.0.40 - thiserror@1.0.40 - tinytemplate@1.2.1 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - typed-arena@2.0.2 - unicase@2.6.0 - unicode-bidi@0.3.13 - unicode-ident@1.0.8 - unicode-normalization@0.1.22 - unicode-segmentation@1.10.1 - unicode-width@0.1.10 - url@2.3.1 - vcpkg@0.2.15 - vec_map@0.8.2 - version_check@0.9.4 - walkdir@2.3.3 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.84 - wasm-bindgen-macro-support@0.2.84 - wasm-bindgen-macro@0.2.84 - wasm-bindgen-shared@0.2.84 - wasm-bindgen@0.2.84 - web-sys@0.3.61 - 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 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-targets@0.42.2 - windows-targets@0.48.0 - windows@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 - yansi@0.5.1 -" - -inherit cargo go-module systemd - -DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics" -HOMEPAGE="https://www.influxdata.com" - -FLUX_PV="0.195.2" - -SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz" -SRC_URI+=" https://github.com/influxdata/ui/releases/download/OSS-v2.7.9/build.tar.gz -> ${P}-assets.tar.gz" -# Generate go-mod of base dir. Then cd go-mod/github.com/influxdata/pkg-config@v0.2.11 and generate go-mod of it -SRC_URI+=" https://gentoo.kropotkin.rocks/go-pkgs/${P}-deps.tar.xz" -SRC_URI+=" ${CARGO_CRATE_URIS}" - -LICENSE="Apache-2.0 BSD BSD-2 EPL-2.0 ISC MIT MPL-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND="virtual/pkgconfig" - -DEPEND=" - acct-group/influxdb - acct-user/influxdb -" -RDEPEND="${DEPEND}" - -src_unpack() { - cargo_src_unpack -} - -src_prepare() { - default - - local data_dir - data_dir="${S}/static/data" - mkdir "${data_dir}" || die - mv "${WORKDIR}/build" "${data_dir}" || die -} - -src_compile() { - mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp" || die - mv "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11/go-mod" "${WORKDIR}/go-mod" || die - cd "${WORKDIR}"/go-mod-tmp/github.com/influxdata/pkg-config* || die - ego build . - mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11" || die - mv "${WORKDIR}/go-mod-tmp" "${WORKDIR}/go-mod" || die - - cd "${WORKDIR}/go-mod/github.com/influxdata/flux@v${FLUX_PV}/libflux" || die - cargo_src_compile - - cd "${S}" || die - - export PKG_CONFIG="${WORKDIR}/go-mod/github.com/influxdata/pkg-config@v0.2.11/pkg-config" - ego generate ./static - GOBIN="${S}/bin" \ - ego install \ - -tags 'assets,noasm,sqlite_json,sqlite_foreign_keys' \ - -ldflags="-X main.version=${PV}" \ - ./... -} - -src_test() { - ego test ./tests -} - -src_install() { - dobin bin/influx* - dodoc *.md - cd .circleci/scripts/package/influxdb2/fs || die - systemd_dounit usr/lib/influxdb/scripts/influxdb.service - exeinto /usr/lib/influxdb/scripts - doexe usr/lib/influxdb/scripts/influxd-systemd-start.sh - exeinto /usr/share/influxdb - doexe usr/share/influxdb/influxdb2-upgrade.sh - newconfd "${FILESDIR}"/influxdb.confd-r1 influxdb - newinitd "${FILESDIR}"/influxdb.initd-r1 influxdb - keepdir /var/log/influxdb - fowners influxdb:influxdb /var/log/influxdb - - newenvd - "99${PN}" <<-_EOF_ - INFLUXD_CONFIG_PATH="/etc/influxdb" - _EOF_ -} - -pkg_postinst() { - elog "Upgrading from InfluxDB1.x requires migration of time series data." - elog "See https://docs.influxdata.com/influxdb/v2.7/upgrade/v1-to-v2/" - elog "Keep in mind that some applications not compatible with InfluxDB 2.x" - elog "may stop working." - - ewarn "The InfluxDB command line client has been moved to dev-db/influx-cli" - ewarn "You will need to install it separately" -} diff --git a/dev-db/influxdb/influxdb-2.7.8-r1.ebuild b/dev-db/influxdb/influxdb-2.7.8-r1.ebuild new file mode 100644 index 000000000000..020930e8bf16 --- /dev/null +++ b/dev-db/influxdb/influxdb-2.7.8-r1.ebuild @@ -0,0 +1,290 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler32@1.2.0 + ahash@0.7.6 + aho-corasick@0.7.20 + android_system_properties@0.1.5 + ansi_term@0.12.1 + anyhow@1.0.70 + arrayvec@0.5.2 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.0.2 + bumpalo@3.12.0 + cast@0.3.0 + cc@1.0.79 + cfg-if@1.0.0 + chrono@0.4.24 + clap@2.34.0 + codespan-reporting@0.11.1 + colored@2.0.0 + core-foundation-sys@0.8.4 + crc32fast@1.3.2 + criterion-plot@0.4.5 + criterion@0.3.6 + crossbeam-channel@0.5.7 + crossbeam-deque@0.8.3 + crossbeam-epoch@0.9.14 + crossbeam-utils@0.8.15 + csv-core@0.1.10 + csv@1.2.1 + ctor@0.1.26 + cxx-build@1.0.94 + cxx@1.0.94 + cxxbridge-flags@1.0.94 + cxxbridge-macro@1.0.94 + derivative@2.2.0 + derive_more@0.99.17 + diff@0.1.13 + dissimilar@1.0.6 + either@1.8.1 + ena@0.14.2 + env_logger@0.9.3 + errno-dragonfly@0.1.2 + errno@0.3.0 + expect-test@1.4.1 + fallible-iterator@0.2.0 + fallible-streaming-iterator@0.1.9 + fastrand@1.9.0 + flatbuffers@22.12.6 + fnv@1.0.7 + form_urlencoded@1.1.0 + getrandom@0.2.8 + half@1.8.2 + hashbrown@0.12.3 + hashlink@0.8.1 + heck@0.3.3 + hermit-abi@0.1.19 + hermit-abi@0.2.6 + hermit-abi@0.3.1 + humantime@2.1.0 + iana-time-zone-haiku@0.1.1 + iana-time-zone@0.1.56 + idna@0.3.0 + indexmap@1.9.3 + instant@0.1.12 + io-lifetimes@1.0.10 + itertools@0.10.5 + itoa@1.0.6 + js-sys@0.3.61 + lazy_static@1.4.0 + libc@0.2.141 + libflate@1.3.0 + libflate_lz77@1.2.0 + libsqlite3-sys@0.26.0 + link-cplusplus@1.0.8 + linux-raw-sys@0.3.1 + lock_api@0.4.9 + log@0.4.17 + lsp-types@0.91.1 + maplit@1.0.2 + memchr@2.5.0 + memoffset@0.8.0 + num-integer@0.1.45 + num-traits@0.2.15 + num_cpus@1.15.0 + once_cell@1.17.1 + oorandom@11.1.3 + ordered-float@3.6.0 + output_vt100@0.1.3 + pad@0.1.6 + parking_lot@0.11.2 + parking_lot_core@0.8.6 + percent-encoding@2.2.0 + pkg-config@0.3.26 + plotters-backend@0.3.4 + plotters-svg@0.3.3 + plotters@0.3.4 + pretty@0.11.3 + pretty_assertions@1.3.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.56 + pulldown-cmark@0.9.2 + quote@1.0.26 + rayon-core@1.11.0 + rayon@1.7.0 + redox_syscall@0.2.16 + redox_syscall@0.3.5 + regex-syntax@0.6.29 + regex@1.7.3 + rle-decode-fast@1.0.3 + rusqlite@0.29.0 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.37.7 + ryu@1.0.13 + salsa-macros@0.17.0-pre.2 + salsa@0.17.0-pre.2 + same-file@1.0.6 + scopeguard@1.1.0 + scratch@1.0.5 + semver@1.0.17 + serde@1.0.159 + serde_cbor@0.11.2 + serde_derive@1.0.159 + serde_json@1.0.95 + serde_repr@0.1.12 + smallvec@1.10.0 + strsim@0.8.0 + structopt-derive@0.4.18 + structopt@0.3.26 + syn@1.0.109 + syn@2.0.13 + tempfile@3.5.0 + termcolor@1.2.0 + textwrap@0.11.0 + thiserror-impl@1.0.40 + thiserror@1.0.40 + tinytemplate@1.2.1 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + typed-arena@2.0.2 + unicase@2.6.0 + unicode-bidi@0.3.13 + unicode-ident@1.0.8 + unicode-normalization@0.1.22 + unicode-segmentation@1.10.1 + unicode-width@0.1.10 + url@2.3.1 + vcpkg@0.2.15 + vec_map@0.8.2 + version_check@0.9.4 + walkdir@2.3.3 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.84 + wasm-bindgen-macro-support@0.2.84 + wasm-bindgen-macro@0.2.84 + wasm-bindgen-shared@0.2.84 + wasm-bindgen@0.2.84 + web-sys@0.3.61 + 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 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-targets@0.42.2 + windows-targets@0.48.0 + windows@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 + yansi@0.5.1 +" + +inherit cargo go-module systemd + +DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics" +HOMEPAGE="https://www.influxdata.com" + +FLUX_PV="0.195.1" + +SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://github.com/influxdata/ui/releases/download/OSS-2.7.8/build.tar.gz -> ${P}-assets.tar.gz" +# Generate go-mod of base dir. Then cd go-mod/github.com/influxdata/pkg-config@v0.2.11 and generate go-mod of it +SRC_URI+=" https://gentoo.kropotkin.rocks/go-pkgs/${P}-deps.tar.xz" +SRC_URI+=" ${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 BSD BSD-2 EPL-2.0 ISC MIT MPL-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="test" +RESTRICT="!test? ( test )" + +BDEPEND="virtual/pkgconfig" + +DEPEND=" + acct-group/influxdb + acct-user/influxdb +" +RDEPEND="${DEPEND}" + +pkg_setup() { + go_pkg_setup + rust_pkg_setup +} + +src_unpack() { + cargo_src_unpack +} + +src_prepare() { + default + + local data_dir + data_dir="${S}/static/data" + mkdir "${data_dir}" || die + mv "${WORKDIR}/build" "${data_dir}" || die +} + +src_compile() { + mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp" || die + mv "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11/go-mod" "${WORKDIR}/go-mod" || die + cd "${WORKDIR}"/go-mod-tmp/github.com/influxdata/pkg-config* || die + ego build . + mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11" || die + mv "${WORKDIR}/go-mod-tmp" "${WORKDIR}/go-mod" || die + + cd "${WORKDIR}/go-mod/github.com/influxdata/flux@v${FLUX_PV}/libflux" || die + cargo_src_compile + + cd "${S}" || die + + export PKG_CONFIG="${WORKDIR}/go-mod/github.com/influxdata/pkg-config@v0.2.11/pkg-config" + ego generate ./static + GOBIN="${S}/bin" \ + ego install \ + -tags 'assets,noasm,sqlite_json,sqlite_foreign_keys' \ + -ldflags="-X main.version=${PV}" \ + ./... +} + +src_test() { + ego test ./tests +} + +src_install() { + dobin bin/influx* + dodoc *.md + cd .circleci/scripts/package/influxdb2/fs || die + systemd_dounit usr/lib/influxdb/scripts/influxdb.service + exeinto /usr/lib/influxdb/scripts + doexe usr/lib/influxdb/scripts/influxd-systemd-start.sh + exeinto /usr/share/influxdb + doexe usr/share/influxdb/influxdb2-upgrade.sh + newconfd "${FILESDIR}"/influxdb.confd-r1 influxdb + newinitd "${FILESDIR}"/influxdb.initd-r1 influxdb + keepdir /var/log/influxdb + fowners influxdb:influxdb /var/log/influxdb + + newenvd - "99${PN}" <<-_EOF_ + INFLUXD_CONFIG_PATH="/etc/influxdb" + _EOF_ +} + +pkg_postinst() { + elog "Upgrading from InfluxDB1.x requires migration of time series data." + elog "See https://docs.influxdata.com/influxdb/v2.7/upgrade/v1-to-v2/" + elog "Keep in mind that some applications not compatible with InfluxDB 2.x" + elog "may stop working." + + ewarn "The InfluxDB command line client has been moved to dev-db/influx-cli" + ewarn "You will need to install it separately" +} diff --git a/dev-db/influxdb/influxdb-2.7.8.ebuild b/dev-db/influxdb/influxdb-2.7.8.ebuild deleted file mode 100644 index 1baa0b00ed71..000000000000 --- a/dev-db/influxdb/influxdb-2.7.8.ebuild +++ /dev/null @@ -1,285 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler32@1.2.0 - ahash@0.7.6 - aho-corasick@0.7.20 - android_system_properties@0.1.5 - ansi_term@0.12.1 - anyhow@1.0.70 - arrayvec@0.5.2 - atty@0.2.14 - autocfg@1.1.0 - bitflags@1.3.2 - bitflags@2.0.2 - bumpalo@3.12.0 - cast@0.3.0 - cc@1.0.79 - cfg-if@1.0.0 - chrono@0.4.24 - clap@2.34.0 - codespan-reporting@0.11.1 - colored@2.0.0 - core-foundation-sys@0.8.4 - crc32fast@1.3.2 - criterion-plot@0.4.5 - criterion@0.3.6 - crossbeam-channel@0.5.7 - crossbeam-deque@0.8.3 - crossbeam-epoch@0.9.14 - crossbeam-utils@0.8.15 - csv-core@0.1.10 - csv@1.2.1 - ctor@0.1.26 - cxx-build@1.0.94 - cxx@1.0.94 - cxxbridge-flags@1.0.94 - cxxbridge-macro@1.0.94 - derivative@2.2.0 - derive_more@0.99.17 - diff@0.1.13 - dissimilar@1.0.6 - either@1.8.1 - ena@0.14.2 - env_logger@0.9.3 - errno-dragonfly@0.1.2 - errno@0.3.0 - expect-test@1.4.1 - fallible-iterator@0.2.0 - fallible-streaming-iterator@0.1.9 - fastrand@1.9.0 - flatbuffers@22.12.6 - fnv@1.0.7 - form_urlencoded@1.1.0 - getrandom@0.2.8 - half@1.8.2 - hashbrown@0.12.3 - hashlink@0.8.1 - heck@0.3.3 - hermit-abi@0.1.19 - hermit-abi@0.2.6 - hermit-abi@0.3.1 - humantime@2.1.0 - iana-time-zone-haiku@0.1.1 - iana-time-zone@0.1.56 - idna@0.3.0 - indexmap@1.9.3 - instant@0.1.12 - io-lifetimes@1.0.10 - itertools@0.10.5 - itoa@1.0.6 - js-sys@0.3.61 - lazy_static@1.4.0 - libc@0.2.141 - libflate@1.3.0 - libflate_lz77@1.2.0 - libsqlite3-sys@0.26.0 - link-cplusplus@1.0.8 - linux-raw-sys@0.3.1 - lock_api@0.4.9 - log@0.4.17 - lsp-types@0.91.1 - maplit@1.0.2 - memchr@2.5.0 - memoffset@0.8.0 - num-integer@0.1.45 - num-traits@0.2.15 - num_cpus@1.15.0 - once_cell@1.17.1 - oorandom@11.1.3 - ordered-float@3.6.0 - output_vt100@0.1.3 - pad@0.1.6 - parking_lot@0.11.2 - parking_lot_core@0.8.6 - percent-encoding@2.2.0 - pkg-config@0.3.26 - plotters-backend@0.3.4 - plotters-svg@0.3.3 - plotters@0.3.4 - pretty@0.11.3 - pretty_assertions@1.3.0 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.56 - pulldown-cmark@0.9.2 - quote@1.0.26 - rayon-core@1.11.0 - rayon@1.7.0 - redox_syscall@0.2.16 - redox_syscall@0.3.5 - regex-syntax@0.6.29 - regex@1.7.3 - rle-decode-fast@1.0.3 - rusqlite@0.29.0 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.37.7 - ryu@1.0.13 - salsa-macros@0.17.0-pre.2 - salsa@0.17.0-pre.2 - same-file@1.0.6 - scopeguard@1.1.0 - scratch@1.0.5 - semver@1.0.17 - serde@1.0.159 - serde_cbor@0.11.2 - serde_derive@1.0.159 - serde_json@1.0.95 - serde_repr@0.1.12 - smallvec@1.10.0 - strsim@0.8.0 - structopt-derive@0.4.18 - structopt@0.3.26 - syn@1.0.109 - syn@2.0.13 - tempfile@3.5.0 - termcolor@1.2.0 - textwrap@0.11.0 - thiserror-impl@1.0.40 - thiserror@1.0.40 - tinytemplate@1.2.1 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - typed-arena@2.0.2 - unicase@2.6.0 - unicode-bidi@0.3.13 - unicode-ident@1.0.8 - unicode-normalization@0.1.22 - unicode-segmentation@1.10.1 - unicode-width@0.1.10 - url@2.3.1 - vcpkg@0.2.15 - vec_map@0.8.2 - version_check@0.9.4 - walkdir@2.3.3 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.84 - wasm-bindgen-macro-support@0.2.84 - wasm-bindgen-macro@0.2.84 - wasm-bindgen-shared@0.2.84 - wasm-bindgen@0.2.84 - web-sys@0.3.61 - 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 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-targets@0.42.2 - windows-targets@0.48.0 - windows@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 - yansi@0.5.1 -" - -inherit cargo go-module systemd - -DESCRIPTION="Scalable datastore for metrics, events, and real-time analytics" -HOMEPAGE="https://www.influxdata.com" - -FLUX_PV="0.195.1" - -SRC_URI="https://github.com/influxdata/influxdb/archive/v${PV}.tar.gz -> ${P}.tar.gz" -SRC_URI+=" https://github.com/influxdata/ui/releases/download/OSS-2.7.8/build.tar.gz -> ${P}-assets.tar.gz" -# Generate go-mod of base dir. Then cd go-mod/github.com/influxdata/pkg-config@v0.2.11 and generate go-mod of it -SRC_URI+=" https://gentoo.kropotkin.rocks/go-pkgs/${P}-deps.tar.xz" -SRC_URI+=" ${CARGO_CRATE_URIS}" - -LICENSE="Apache-2.0 BSD BSD-2 EPL-2.0 ISC MIT MPL-2.0" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -IUSE="test" -RESTRICT="!test? ( test )" - -BDEPEND="virtual/pkgconfig" - -DEPEND=" - acct-group/influxdb - acct-user/influxdb -" -RDEPEND="${DEPEND}" - -src_unpack() { - cargo_src_unpack -} - -src_prepare() { - default - - local data_dir - data_dir="${S}/static/data" - mkdir "${data_dir}" || die - mv "${WORKDIR}/build" "${data_dir}" || die -} - -src_compile() { - mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp" || die - mv "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11/go-mod" "${WORKDIR}/go-mod" || die - cd "${WORKDIR}"/go-mod-tmp/github.com/influxdata/pkg-config* || die - ego build . - mv "${WORKDIR}/go-mod" "${WORKDIR}/go-mod-tmp/github.com/influxdata/pkg-config@v0.2.11" || die - mv "${WORKDIR}/go-mod-tmp" "${WORKDIR}/go-mod" || die - - cd "${WORKDIR}/go-mod/github.com/influxdata/flux@v${FLUX_PV}/libflux" || die - cargo_src_compile - - cd "${S}" || die - - export PKG_CONFIG="${WORKDIR}/go-mod/github.com/influxdata/pkg-config@v0.2.11/pkg-config" - ego generate ./static - GOBIN="${S}/bin" \ - ego install \ - -tags 'assets,noasm,sqlite_json,sqlite_foreign_keys' \ - -ldflags="-X main.version=${PV}" \ - ./... -} - -src_test() { - ego test ./tests -} - -src_install() { - dobin bin/influx* - dodoc *.md - cd .circleci/scripts/package/influxdb2/fs || die - systemd_dounit usr/lib/influxdb/scripts/influxdb.service - exeinto /usr/lib/influxdb/scripts - doexe usr/lib/influxdb/scripts/influxd-systemd-start.sh - exeinto /usr/share/influxdb - doexe usr/share/influxdb/influxdb2-upgrade.sh - newconfd "${FILESDIR}"/influxdb.confd-r1 influxdb - newinitd "${FILESDIR}"/influxdb.initd-r1 influxdb - keepdir /var/log/influxdb - fowners influxdb:influxdb /var/log/influxdb - - newenvd - "99${PN}" <<-_EOF_ - INFLUXD_CONFIG_PATH="/etc/influxdb" - _EOF_ -} - -pkg_postinst() { - elog "Upgrading from InfluxDB1.x requires migration of time series data." - elog "See https://docs.influxdata.com/influxdb/v2.7/upgrade/v1-to-v2/" - elog "Keep in mind that some applications not compatible with InfluxDB 2.x" - elog "may stop working." - - ewarn "The InfluxDB command line client has been moved to dev-db/influx-cli" - ewarn "You will need to install it separately" -} diff --git a/dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild b/dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild deleted file mode 100644 index 73754338cb33..000000000000 --- a/dev-java/icedtea-web/icedtea-web-1.8.8-r1.ebuild +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -README_GENTOO_SUFFIX="-r3" -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})" -LICENSE="GPL-2 GPL-2-with-linking-exception LGPL-2" -SLOT="0" -KEYWORDS="amd64 arm64 ppc64" -IUSE="doc" - -# tests require ton of java deps we don't have packaged/working -# but rust tests pass. -RESTRICT="test" - -BDEPEND=" - app-arch/zip - app-alternatives/bc - virtual/pkgconfig - virtual/rust - doc? ( app-alternatives/bc ) -" - -# Build within Portage using JDK 11+ (also presumably 9+) fails during -# src_configure: -# configure: error: sun.security.util.SecurityConstants not found. -# -# When upstream's build instructions are executed outside Portage using -# JDK 11+, ./configure also fails, though a different error pops up: -# configure: error: sun.applet.AppletImageRef not found. -# -# If even the upstream build instructions fail outside Portage with JDK 11+, -# then it is very unlikely that the build issue within Portage is fixable. -# The upstream has moved forward to development of 2.0.0 and 3.0.0 versions, -# so they might no longer be interested in fixing the legacy 1.x versions. -# -# The 'sun.applet.AppletImageRef not found' issue has been reported to -# FreeBSD , -# and some efforts there to fix the issue were unsuccessful. They seem -# to have ended up with restricting Java version to 8 -# . -# -# Thus, the build VM version is restricted to 1.8 here. -DEPEND=" - virtual/jdk:1.8 -" - -RDEPEND=" - >=app-eselect/eselect-java-0.2.0 - >=virtual/jre-1.8:* -" - -S="${WORKDIR}/IcedTea-Web-${P}" - -QA_FLAGS_IGNORED="usr/bin/.*" - -src_prepare() { - eapply_user - sed -i 's/JAVADOC_OPTS=/\0-Xdoclint:none /g' Makefile.am || die - eautoreconf - cargo_gen_config -} - -src_configure() { - xdg_environment_reset - # some functionality (tagsoup rhino) is disabled, because dev-java is - # unmaintained and a lot of things simply does not build anymore. - # native plugins also disabled, modern browsers no longer support it. - # modularjdk-file and the 'itw-modularjdk.args' file controlled by it - # are required to run this package's programs using JRE 9+. - local myconf=( - --disable-native-plugin - --program-transform-name='s/^javaws$/itweb-javaws/' - --with-jdk-home="$(java-config -O)" - --with-modularjdk-file="${EPREFIX}/usr/share/${PN}/" - --with-itw-libs=DISTRIBUTION - --without-rhino - --without-tagsoup - $(use_enable doc docs) - ) - unset _JAVA_OPTIONS - export bashcompdir="$(get_bashcompdir)" # defaults to /etc if not found in pkg-config - export CARGO_HOME="${ECARGO_HOME}" - CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myconf[@]}" -} - -src_compile() { - # races in makefile - emake -j1 #nowarn -} - -src_install() { - default - rename -v '.bash' '' "${ED}/usr/share/bash-completion/completions/"*.bash || die - rename -v 'javaws' 'itweb-javaws' "${ED}/usr/share/man/man1/"javaws.1* || die - mv -v "${ED}/usr/share/bash-completion/completions/"{javaws,itweb-javaws} || die - sed -i 's/javaws/itweb-javaws/g' \ - "${ED}/usr/share/bash-completion/completions/itweb-javaws" || die - - readme.gentoo_create_doc -} - -src_test() { - # we want to override cargo.eclass' src_test - : -} - -pkg_postinst() { - readme.gentoo_print_elog -} diff --git a/dev-java/icedtea-web/icedtea-web-1.8.8-r2.ebuild b/dev-java/icedtea-web/icedtea-web-1.8.8-r2.ebuild new file mode 100644 index 000000000000..ff395edab946 --- /dev/null +++ b/dev-java/icedtea-web/icedtea-web-1.8.8-r2.ebuild @@ -0,0 +1,122 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +README_GENTOO_SUFFIX="-r3" +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}" +S="${WORKDIR}/IcedTea-Web-${P}" + +LICENSE="GPL-2 GPL-2-with-linking-exception LGPL-2" +SLOT="0" +KEYWORDS="amd64 arm64 ppc64" +IUSE="doc" + +# tests require ton of java deps we don't have packaged/working +# but rust tests pass. +RESTRICT="test" + +BDEPEND=" + app-arch/zip + app-alternatives/bc + virtual/pkgconfig + doc? ( app-alternatives/bc ) +" + +# Build within Portage using JDK 11+ (also presumably 9+) fails during +# src_configure: +# configure: error: sun.security.util.SecurityConstants not found. +# +# When upstream's build instructions are executed outside Portage using +# JDK 11+, ./configure also fails, though a different error pops up: +# configure: error: sun.applet.AppletImageRef not found. +# +# If even the upstream build instructions fail outside Portage with JDK 11+, +# then it is very unlikely that the build issue within Portage is fixable. +# The upstream has moved forward to development of 2.0.0 and 3.0.0 versions, +# so they might no longer be interested in fixing the legacy 1.x versions. +# +# The 'sun.applet.AppletImageRef not found' issue has been reported to +# FreeBSD , +# and some efforts there to fix the issue were unsuccessful. They seem +# to have ended up with restricting Java version to 8 +# . +# +# Thus, the build VM version is restricted to 1.8 here. +DEPEND=" + virtual/jdk:1.8 +" + +RDEPEND=" + >=app-eselect/eselect-java-0.2.0 + >=virtual/jre-1.8:* +" + +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 + eautoreconf + cargo_gen_config +} + +src_configure() { + xdg_environment_reset + # some functionality (tagsoup rhino) is disabled, because dev-java is + # unmaintained and a lot of things simply does not build anymore. + # native plugins also disabled, modern browsers no longer support it. + # modularjdk-file and the 'itw-modularjdk.args' file controlled by it + # are required to run this package's programs using JRE 9+. + local myconf=( + --disable-native-plugin + --program-transform-name='s/^javaws$/itweb-javaws/' + --with-jdk-home="$(java-config -O)" + --with-modularjdk-file="${EPREFIX}/usr/share/${PN}/" + --with-itw-libs=DISTRIBUTION + --without-rhino + --without-tagsoup + $(use_enable doc docs) + ) + unset _JAVA_OPTIONS + export bashcompdir="$(get_bashcompdir)" # defaults to /etc if not found in pkg-config + export CARGO_HOME="${ECARGO_HOME}" + CONFIG_SHELL="${EPREFIX}/bin/bash" econf "${myconf[@]}" +} + +src_compile() { + # races in makefile + emake -j1 #nowarn +} + +src_install() { + default + rename -v '.bash' '' "${ED}/usr/share/bash-completion/completions/"*.bash || die + rename -v 'javaws' 'itweb-javaws' "${ED}/usr/share/man/man1/"javaws.1* || die + mv -v "${ED}/usr/share/bash-completion/completions/"{javaws,itweb-javaws} || die + sed -i 's/javaws/itweb-javaws/g' \ + "${ED}/usr/share/bash-completion/completions/itweb-javaws" || die + + readme.gentoo_create_doc +} + +src_test() { + # we want to override cargo.eclass' src_test + : +} + +pkg_postinst() { + readme.gentoo_print_elog +} 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-r1.ebuild b/dev-lang/gleam/gleam-1.4.1-r1.ebuild new file mode 100644 index 000000000000..7151240a5284 --- /dev/null +++ b/dev-lang/gleam/gleam-1.4.1-r1.ebuild @@ -0,0 +1,35 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cargo optfeature + +DESCRIPTION="A friendly language for building type-safe, scalable systems!" +HOMEPAGE="https://gleam.run https://github.com/gleam-lang/gleam" +SRC_URI=" + https://github.com/gleam-lang/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + https://dev.gentoo.org/~matthew/distfiles/${PN}-1.4.0-crates.tar.xz +" + +LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB openssl" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="dev-lang/erlang:*" + +PATCHES=( "${FILESDIR}"/${PN}-1.4.0-rust178-compat.patch ) + +# 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}" + +src_install() { + dodoc CHANGELOG.md + cargo_src_install --path compiler-cli +} + +pkg_postinst() { + optfeature "erlang package support" dev-util/rebar:3 + optfeature "javascript runtime" net-libs/nodejs +} diff --git a/dev-lang/gleam/gleam-1.4.1.ebuild b/dev-lang/gleam/gleam-1.4.1.ebuild deleted file mode 100644 index 7151240a5284..000000000000 --- a/dev-lang/gleam/gleam-1.4.1.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cargo optfeature - -DESCRIPTION="A friendly language for building type-safe, scalable systems!" -HOMEPAGE="https://gleam.run https://github.com/gleam-lang/gleam" -SRC_URI=" - https://github.com/gleam-lang/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - https://dev.gentoo.org/~matthew/distfiles/${PN}-1.4.0-crates.tar.xz -" - -LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB openssl" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND="dev-lang/erlang:*" - -PATCHES=( "${FILESDIR}"/${PN}-1.4.0-rust178-compat.patch ) - -# 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}" - -src_install() { - dodoc CHANGELOG.md - cargo_src_install --path compiler-cli -} - -pkg_postinst() { - optfeature "erlang package support" dev-util/rebar:3 - optfeature "javascript runtime" net-libs/nodejs -} 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-r1.ebuild b/dev-lang/ruby/ruby-3.2.4-r1.ebuild deleted file mode 100644 index 7152cb0f52fc..000000000000 --- a/dev-lang/ruby/ruby-3.2.4-r1.ebuild +++ /dev/null @@ -1,306 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic multiprocessing - -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} - -SLOT=$(ver_cut 1-2) -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 - -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" - -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 ipv6 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 ) - ssl? ( - dev-libs/openssl:0= - ) - socks5? ( >=net-proxy/dante-1.1.13 ) - systemtap? ( dev-debug/systemtap ) - tk? ( - dev-lang/tcl:0=[threads] - dev-lang/tk:0=[threads] - ) - dev-libs/libyaml - dev-libs/libffi:= - sys-libs/readline:0= - sys-libs/zlib - virtual/libcrypt:= - >=app-eselect/eselect-ruby-20231008 -" - -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" - -BUNDLED_GEMS=" - >=dev-ruby/debug-1.7.1[ruby_targets_ruby32(-)] - >=dev-ruby/irb-1.6.2[ruby_targets_ruby32(-)] - >=dev-ruby/matrix-0.4.2[ruby_targets_ruby32(-)] - >=dev-ruby/minitest-5.16.3[ruby_targets_ruby32(-)] - >=dev-ruby/net-ftp-0.2.0[ruby_targets_ruby32(-)] - >=dev-ruby/net-imap-0.3.4[ruby_targets_ruby32(-)] - >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby32(-)] - >=dev-ruby/net-smtp-0.3.3[ruby_targets_ruby32(-)] - >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby32(-)] - >=dev-ruby/prime-0.1.2[ruby_targets_ruby32(-)] - >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby32(-)] - >=dev-ruby/rbs-2.8.2[ruby_targets_ruby32(-)] - >=dev-ruby/rexml-3.2.5[ruby_targets_ruby32(-)] - >=dev-ruby/rss-0.2.9[ruby_targets_ruby32(-)] - >=dev-ruby/test-unit-3.5.7[ruby_targets_ruby32(-)] - >=dev-ruby/typeprof-0.21.3[ruby_targets_ruby32(-)] -" - -PDEPEND=" - ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby32(-)] - >=dev-ruby/bundler-2.3.3[ruby_targets_ruby32(-)] - >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby32(-)] - >=dev-ruby/json-2.6.1[ruby_targets_ruby32(-)] - >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby32(-)] - xemacs? ( app-xemacs/ruby-modes ) -" - -src_prepare() { - eapply "${FILESDIR}"/"${SLOT}"/010*.patch - eapply "${FILESDIR}"/"${SLOT}"/011*.patch - eapply "${FILESDIR}"/"${SLOT}"/020*.patch - eapply "${FILESDIR}"/"${SLOT}"/902*.patch - - if use elibc_musl ; then - eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch - fi - - einfo "Unbundling gems..." - cd "$S" - # Remove bundled gems that we will install via PDEPEND, bug - # 539700. - rm -fr gems/* || die - touch gems/bundled_gems || die - # Don't install CLI tools since they will clash with the gem - rm -f bin/{racc,racc2y,y2racc} || die - sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die - - # Remove tests that are known to fail or require a network connection - rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die - rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die - - # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. - rm -rf tool/test/webrick || die - - # Avoid test using the system ruby - sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die - - # Avoid testing against hard-coded blockdev devices that most likely are not available - sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die - - # Avoid tests that require gem downloads - sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die - sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die - - # Avoid test that fails intermittently - sed -i -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' test/rubygems/test_gem_commands_exec_command.rb || die - - if use prefix ; then - # Fix hardcoded SHELL var in mkmf library - sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die - - if [[ ${CHOST} == *darwin* ]] ; then - # avoid symlink loop on Darwin (?!) - sed -i \ - -e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \ - configure.ac || die - - # make ar/libtool hack for Darwin work - sed -i \ - -e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \ - configure.ac || die - - # disable using security framework (GCC barfs on those headers) - sed -i \ - -e 's/MAC_OS_X_VERSION_MIN_REQUIRED/_DISABLED_/' \ - random.c || die - fi - fi - - eapply_user - - eautoreconf -} - -src_configure() { - local modules="win32,win32ole" myconf= - - # Ruby's build system does interesting things with MAKEOPTS and doesn't - # handle MAKEOPTS="-Oline" or similar well. Just filter it all out - # and use -j/-l parsed out from the original MAKEOPTS, then use that. - # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing - # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. - local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" - unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS - export MAKEOPTS="${makeopts_tmp}" - - # Avoid a hardcoded path to mkdir to avoid issues with mixed - # usr-merge and normal binary packages, bug #932386. - export ac_cv_path_mkdir=mkdir - - # -fomit-frame-pointer makes ruby segfault, see bug #150413. - filter-flags -fomit-frame-pointer - # In many places aliasing rules are broken; play it safe - # as it's risky with newer compilers to leave it as it is. - append-flags -fno-strict-aliasing - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - export DTRACE="${BROOT}"/usr/bin/stap-dtrace - fi - - # Socks support via dante - if use socks5 ; then - # Socks support can't be disabled as long as SOCKS_SERVER is - # set and socks library is present, so need to unset - # SOCKS_SERVER in that case. - unset SOCKS_SERVER - fi - - # Increase GC_MALLOC_LIMIT if set (default is 8000000) - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" - fi - - # ipv6 hack, bug 168939. Needs --enable-ipv6. - use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" - - # Determine which modules *not* to build depending in the USE flags. - if ! use berkdb ; then - modules="${modules},dbm" - fi - if ! use gdbm ; then - modules="${modules},gdbm" - fi - if ! use ssl ; then - modules="${modules},openssl" - fi - if ! use tk ; then - modules="${modules},tk" - fi - - # Provide an empty LIBPATHENV because we disable rpath but we do not - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget - # #564272 - INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \ - --program-suffix=${MY_SUFFIX} \ - --with-soname=ruby${MY_SUFFIX} \ - --with-readline-dir="${EPREFIX}"/usr \ - --enable-shared \ - --enable-pthread \ - --disable-rpath \ - --without-baseruby \ - --with-compress-debug-sections=no \ - --enable-mkmf-verbose \ - --with-out-ext="${modules}" \ - $(use_with jemalloc jemalloc) \ - $(use_enable jit jit-support) \ - $(use_enable jit yjit) \ - $(use_enable socks5 socks) \ - $(use_enable systemtap dtrace) \ - $(use_enable doc install-doc) \ - --enable-ipv6 \ - $(use_enable static-libs static) \ - $(use_enable static-libs install-static-library) \ - $(use_with static-libs static-linked-ext) \ - $(use_enable debug) \ - ${myconf} \ - $(use_with valgrind) \ - --enable-option-checking=no - - # Makefile is broken because it lacks -ldl - rm -rf ext/-test-/popen_deadlock || die -} - -src_compile() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" -} - -src_test() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 check -} - -src_install() { - # Remove the remaining bundled gems. We do this late in the process - # since they are used during the build to e.g. create the - # documentation. - einfo "Removing default gems before installation" - rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die - - # Ruby is involved in the install process, we don't want interference here. - unset RUBYOPT - - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) - - local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - - if [[ ${CHOST} == *darwin* ]] ; then - local -x DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}" - fi - - local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - for d in $(find "${S}/ext" -type d) ; do - RUBYLIB="${RUBYLIB}:$d" - done - - # Create directory for the default gems - local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" - mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" - - emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install - - # Remove installed rubygems and rdoc copy - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" - rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" - - if use doc; then - emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc - fi - - if use examples; then - dodoc -r sample - fi - - dodoc ChangeLog NEWS.md README* - dodoc -r doc -} - -pkg_postinst() { - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then - eselect ruby set ruby${MY_SUFFIX} - fi - - elog - elog "To switch between available Ruby profiles, execute as root:" - elog "\teselect ruby set ruby(30|31|...)" - elog -} - -pkg_postrm() { - eselect ruby cleanup -} diff --git a/dev-lang/ruby/ruby-3.2.4-r2.ebuild b/dev-lang/ruby/ruby-3.2.4-r2.ebuild new file mode 100644 index 000000000000..7d109feb42c6 --- /dev/null +++ b/dev-lang/ruby/ruby-3.2.4-r2.ebuild @@ -0,0 +1,308 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_OPTIONAL="yes" + +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 + +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" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( ${RUST_DEPEND} ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/readline:0= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231008 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/debug-1.7.1[ruby_targets_ruby32(-)] + >=dev-ruby/irb-1.6.2[ruby_targets_ruby32(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby32(-)] + >=dev-ruby/minitest-5.16.3[ruby_targets_ruby32(-)] + >=dev-ruby/net-ftp-0.2.0[ruby_targets_ruby32(-)] + >=dev-ruby/net-imap-0.3.4[ruby_targets_ruby32(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/net-smtp-0.3.3[ruby_targets_ruby32(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby32(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby32(-)] + >=dev-ruby/rbs-2.8.2[ruby_targets_ruby32(-)] + >=dev-ruby/rexml-3.2.5[ruby_targets_ruby32(-)] + >=dev-ruby/rss-0.2.9[ruby_targets_ruby32(-)] + >=dev-ruby/test-unit-3.5.7[ruby_targets_ruby32(-)] + >=dev-ruby/typeprof-0.21.3[ruby_targets_ruby32(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby32(-)] + >=dev-ruby/bundler-2.3.3[ruby_targets_ruby32(-)] + >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/json-2.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby32(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +pkg_setup() { + use jit && rust_pkg_setup +} + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/011*.patch + eapply "${FILESDIR}"/"${SLOT}"/020*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + # Don't install CLI tools since they will clash with the gem + rm -f bin/{racc,racc2y,y2racc} || die + sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Avoid test using the system ruby + sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die + sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die + + # Avoid test that fails intermittently + sed -i -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' test/rubygems/test_gem_commands_exec_command.rb || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + + if [[ ${CHOST} == *darwin* ]] ; then + # avoid symlink loop on Darwin (?!) + sed -i \ + -e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \ + configure.ac || die + + # make ar/libtool hack for Darwin work + sed -i \ + -e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \ + configure.ac || die + + # disable using security framework (GCC barfs on those headers) + sed -i \ + -e 's/MAC_OS_X_VERSION_MIN_REQUIRED/_DISABLED_/' \ + random.c || die + fi + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # ipv6 hack, bug 168939. Needs --enable-ipv6. + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" + + # Determine which modules *not* to build depending in the USE flags. + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + fi + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --with-readline-dir="${EPREFIX}"/usr \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + --enable-ipv6 \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + ${myconf} \ + $(use_with valgrind) \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + if [[ ${CHOST} == *darwin* ]] ; then + local -x DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}" + fi + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md README* + dodoc -r doc +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/ruby/ruby-3.2.4-r3.ebuild b/dev-lang/ruby/ruby-3.2.4-r3.ebuild new file mode 100644 index 000000000000..76287f2c4584 --- /dev/null +++ b/dev-lang/ruby/ruby-3.2.4-r3.ebuild @@ -0,0 +1,312 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_OPTIONAL="yes" + +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 + +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" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( ${RUST_DEPEND} ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/readline:0= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231008 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/debug-1.7.1[ruby_targets_ruby32(-)] + >=dev-ruby/irb-1.6.2[ruby_targets_ruby32(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby32(-)] + >=dev-ruby/minitest-5.16.3[ruby_targets_ruby32(-)] + >=dev-ruby/net-ftp-0.2.0[ruby_targets_ruby32(-)] + >=dev-ruby/net-imap-0.3.4[ruby_targets_ruby32(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/net-smtp-0.3.3[ruby_targets_ruby32(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby32(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby32(-)] + >=dev-ruby/rbs-2.8.2[ruby_targets_ruby32(-)] + >=dev-ruby/rexml-3.2.5[ruby_targets_ruby32(-)] + >=dev-ruby/rss-0.2.9[ruby_targets_ruby32(-)] + >=dev-ruby/test-unit-3.5.7[ruby_targets_ruby32(-)] + >=dev-ruby/typeprof-0.21.3[ruby_targets_ruby32(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby32(-)] + >=dev-ruby/bundler-2.3.3[ruby_targets_ruby32(-)] + >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/json-2.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby32(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +pkg_setup() { + use jit && rust_pkg_setup +} + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/011*.patch + eapply "${FILESDIR}"/"${SLOT}"/020*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + # Don't install CLI tools since they will clash with the gem + rm -f bin/{racc,racc2y,y2racc} || die + sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Avoid test using the system ruby + sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die + sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die + + # Avoid test that fails intermittently + sed -i -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' test/rubygems/test_gem_commands_exec_command.rb || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + + if [[ ${CHOST} == *darwin* ]] ; then + # avoid symlink loop on Darwin (?!) + sed -i \ + -e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \ + configure.ac || die + + # make ar/libtool hack for Darwin work + sed -i \ + -e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \ + configure.ac || die + + # disable using security framework (GCC barfs on those headers) + sed -i \ + -e 's/MAC_OS_X_VERSION_MIN_REQUIRED/_DISABLED_/' \ + random.c || die + fi + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # ipv6 hack, bug 168939. Needs --enable-ipv6. + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" + + # Determine which modules *not* to build depending in the USE flags. + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + fi + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --with-readline-dir="${EPREFIX}"/usr \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + --enable-ipv6 \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + ${myconf} \ + $(use_with valgrind) \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + if [[ ${CHOST} == *darwin* ]] ; then + local -x DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}" + fi + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md README* + dodoc -r doc +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/ruby/ruby-3.2.4.ebuild b/dev-lang/ruby/ruby-3.2.4.ebuild deleted file mode 100644 index 524d5af27834..000000000000 --- a/dev-lang/ruby/ruby-3.2.4.ebuild +++ /dev/null @@ -1,302 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic multiprocessing - -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} - -SLOT=$(ver_cut 1-2) -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 - -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" - -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 ipv6 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 ) - ssl? ( - dev-libs/openssl:0= - ) - socks5? ( >=net-proxy/dante-1.1.13 ) - systemtap? ( dev-debug/systemtap ) - tk? ( - dev-lang/tcl:0=[threads] - dev-lang/tk:0=[threads] - ) - dev-libs/libyaml - dev-libs/libffi:= - sys-libs/readline:0= - sys-libs/zlib - virtual/libcrypt:= - >=app-eselect/eselect-ruby-20231008 -" - -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" - -BUNDLED_GEMS=" - >=dev-ruby/debug-1.7.1[ruby_targets_ruby32(-)] - >=dev-ruby/irb-1.6.2[ruby_targets_ruby32(-)] - >=dev-ruby/matrix-0.4.2[ruby_targets_ruby32(-)] - >=dev-ruby/minitest-5.16.3[ruby_targets_ruby32(-)] - >=dev-ruby/net-ftp-0.2.0[ruby_targets_ruby32(-)] - >=dev-ruby/net-imap-0.3.4[ruby_targets_ruby32(-)] - >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby32(-)] - >=dev-ruby/net-smtp-0.3.3[ruby_targets_ruby32(-)] - >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby32(-)] - >=dev-ruby/prime-0.1.2[ruby_targets_ruby32(-)] - >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby32(-)] - >=dev-ruby/rbs-2.8.2[ruby_targets_ruby32(-)] - >=dev-ruby/rexml-3.2.5[ruby_targets_ruby32(-)] - >=dev-ruby/rss-0.2.9[ruby_targets_ruby32(-)] - >=dev-ruby/test-unit-3.5.7[ruby_targets_ruby32(-)] - >=dev-ruby/typeprof-0.21.3[ruby_targets_ruby32(-)] -" - -PDEPEND=" - ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby32(-)] - >=dev-ruby/bundler-2.3.3[ruby_targets_ruby32(-)] - >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby32(-)] - >=dev-ruby/json-2.6.1[ruby_targets_ruby32(-)] - >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby32(-)] - xemacs? ( app-xemacs/ruby-modes ) -" - -src_prepare() { - eapply "${FILESDIR}"/"${SLOT}"/010*.patch - eapply "${FILESDIR}"/"${SLOT}"/011*.patch - eapply "${FILESDIR}"/"${SLOT}"/020*.patch - eapply "${FILESDIR}"/"${SLOT}"/902*.patch - - if use elibc_musl ; then - eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch - fi - - einfo "Unbundling gems..." - cd "$S" - # Remove bundled gems that we will install via PDEPEND, bug - # 539700. - rm -fr gems/* || die - touch gems/bundled_gems || die - # Don't install CLI tools since they will clash with the gem - rm -f bin/{racc,racc2y,y2racc} || die - sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die - - # Remove tests that are known to fail or require a network connection - rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die - rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die - - # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. - rm -rf tool/test/webrick || die - - # Avoid test using the system ruby - sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die - - # Avoid testing against hard-coded blockdev devices that most likely are not available - sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die - - # Avoid tests that require gem downloads - sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die - sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die - - # Avoid test that fails intermittently - sed -i -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' test/rubygems/test_gem_commands_exec_command.rb || die - - if use prefix ; then - # Fix hardcoded SHELL var in mkmf library - sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die - - if [[ ${CHOST} == *darwin* ]] ; then - # avoid symlink loop on Darwin (?!) - sed -i \ - -e '/LIBRUBY_ALIASES=/s/lib$(RUBY_INSTALL_NAME).$(SOEXT)//' \ - configure.ac || die - - # make ar/libtool hack for Darwin work - sed -i \ - -e "s/ac_cv_prog_ac_ct_AR='libtool/ac_cv_prog_AR='${CHOST}-libtool/" \ - configure.ac || die - - # disable using security framework (GCC barfs on those headers) - sed -i \ - -e 's/MAC_OS_X_VERSION_MIN_REQUIRED/_DISABLED_/' \ - random.c || die - fi - fi - - eapply_user - - eautoreconf -} - -src_configure() { - local modules="win32,win32ole" myconf= - - # Ruby's build system does interesting things with MAKEOPTS and doesn't - # handle MAKEOPTS="-Oline" or similar well. Just filter it all out - # and use -j/-l parsed out from the original MAKEOPTS, then use that. - # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing - # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. - local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" - unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS - export MAKEOPTS="${makeopts_tmp}" - - # -fomit-frame-pointer makes ruby segfault, see bug #150413. - filter-flags -fomit-frame-pointer - # In many places aliasing rules are broken; play it safe - # as it's risky with newer compilers to leave it as it is. - append-flags -fno-strict-aliasing - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - export DTRACE="${BROOT}"/usr/bin/stap-dtrace - fi - - # Socks support via dante - if use socks5 ; then - # Socks support can't be disabled as long as SOCKS_SERVER is - # set and socks library is present, so need to unset - # SOCKS_SERVER in that case. - unset SOCKS_SERVER - fi - - # Increase GC_MALLOC_LIMIT if set (default is 8000000) - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" - fi - - # ipv6 hack, bug 168939. Needs --enable-ipv6. - use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" - - # Determine which modules *not* to build depending in the USE flags. - if ! use berkdb ; then - modules="${modules},dbm" - fi - if ! use gdbm ; then - modules="${modules},gdbm" - fi - if ! use ssl ; then - modules="${modules},openssl" - fi - if ! use tk ; then - modules="${modules},tk" - fi - - # Provide an empty LIBPATHENV because we disable rpath but we do not - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget - # #564272 - INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \ - --program-suffix=${MY_SUFFIX} \ - --with-soname=ruby${MY_SUFFIX} \ - --with-readline-dir="${EPREFIX}"/usr \ - --enable-shared \ - --enable-pthread \ - --disable-rpath \ - --without-baseruby \ - --with-compress-debug-sections=no \ - --enable-mkmf-verbose \ - --with-out-ext="${modules}" \ - $(use_with jemalloc jemalloc) \ - $(use_enable jit jit-support) \ - $(use_enable jit yjit) \ - $(use_enable socks5 socks) \ - $(use_enable systemtap dtrace) \ - $(use_enable doc install-doc) \ - --enable-ipv6 \ - $(use_enable static-libs static) \ - $(use_enable static-libs install-static-library) \ - $(use_with static-libs static-linked-ext) \ - $(use_enable debug) \ - ${myconf} \ - $(use_with valgrind) \ - --enable-option-checking=no - - # Makefile is broken because it lacks -ldl - rm -rf ext/-test-/popen_deadlock || die -} - -src_compile() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" -} - -src_test() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 check -} - -src_install() { - # Remove the remaining bundled gems. We do this late in the process - # since they are used during the build to e.g. create the - # documentation. - einfo "Removing default gems before installation" - rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die - - # Ruby is involved in the install process, we don't want interference here. - unset RUBYOPT - - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) - - local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - - if [[ ${CHOST} == *darwin* ]] ; then - local -x DYLD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${DYLD_LIBRARY_PATH+:}${DYLD_LIBRARY_PATH}" - fi - - local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - for d in $(find "${S}/ext" -type d) ; do - RUBYLIB="${RUBYLIB}:$d" - done - - # Create directory for the default gems - local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" - mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" - - emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install - - # Remove installed rubygems and rdoc copy - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" - rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" - - if use doc; then - emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc - fi - - if use examples; then - dodoc -r sample - fi - - dodoc ChangeLog NEWS.md README* - dodoc -r doc -} - -pkg_postinst() { - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then - eselect ruby set ruby${MY_SUFFIX} - fi - - elog - elog "To switch between available Ruby profiles, execute as root:" - elog "\teselect ruby set ruby(30|31|...)" - elog -} - -pkg_postrm() { - eselect ruby cleanup -} diff --git a/dev-lang/ruby/ruby-3.2.5-r1.ebuild b/dev-lang/ruby/ruby-3.2.5-r1.ebuild new file mode 100644 index 000000000000..51a1833e9b4f --- /dev/null +++ b/dev-lang/ruby/ruby-3.2.5-r1.ebuild @@ -0,0 +1,294 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_OPTIONAL="yes" + +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 + +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" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( ${RUST_DEPEND} ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/readline:0= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231008 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/debug-1.7.1[ruby_targets_ruby32(-)] + >=dev-ruby/irb-1.6.2[ruby_targets_ruby32(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby32(-)] + >=dev-ruby/minitest-5.16.3[ruby_targets_ruby32(-)] + >=dev-ruby/net-ftp-0.2.0[ruby_targets_ruby32(-)] + >=dev-ruby/net-imap-0.3.4[ruby_targets_ruby32(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/net-smtp-0.3.3[ruby_targets_ruby32(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby32(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby32(-)] + >=dev-ruby/rbs-2.8.2[ruby_targets_ruby32(-)] + >=dev-ruby/rexml-3.2.5[ruby_targets_ruby32(-)] + >=dev-ruby/rss-0.2.9[ruby_targets_ruby32(-)] + >=dev-ruby/test-unit-3.5.7[ruby_targets_ruby32(-)] + >=dev-ruby/typeprof-0.21.3[ruby_targets_ruby32(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby32(-)] + >=dev-ruby/bundler-2.3.3[ruby_targets_ruby32(-)] + >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/json-2.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby32(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +pkg_setup() { + use jit && rust_pkg_setup +} + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/011*.patch + eapply "${FILESDIR}"/"${SLOT}"/013*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + # Don't install CLI tools since they will clash with the gem + rm -f bin/{racc,racc2y,y2racc} || die + sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Avoid test using the system ruby + sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die + sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die + + # Avoid test that fails intermittently + sed -i -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' test/rubygems/test_gem_commands_exec_command.rb || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # ipv6 hack, bug 168939. Needs --enable-ipv6. + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" + + # Determine which modules *not* to build depending in the USE flags. + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + fi + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + # except on Darwin, where we really need LIBPATHENV to set the right + # DYLD_ stuff during the invocation of miniruby for it to work + [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" + INSTALL="${EPREFIX}/usr/bin/install -c" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --with-readline-dir="${EPREFIX}"/usr \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + --enable-ipv6 \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + ${myconf} \ + $(use_with valgrind) \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md README* + dodoc -r doc +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/ruby/ruby-3.2.5.ebuild b/dev-lang/ruby/ruby-3.2.5.ebuild deleted file mode 100644 index a7a40d60ef35..000000000000 --- a/dev-lang/ruby/ruby-3.2.5.ebuild +++ /dev/null @@ -1,288 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic multiprocessing - -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} - -SLOT=$(ver_cut 1-2) -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 - -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" - -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 ipv6 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 ) - ssl? ( - dev-libs/openssl:0= - ) - socks5? ( >=net-proxy/dante-1.1.13 ) - systemtap? ( dev-debug/systemtap ) - tk? ( - dev-lang/tcl:0=[threads] - dev-lang/tk:0=[threads] - ) - dev-libs/libyaml - dev-libs/libffi:= - sys-libs/readline:0= - sys-libs/zlib - virtual/libcrypt:= - >=app-eselect/eselect-ruby-20231008 -" - -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" - -BUNDLED_GEMS=" - >=dev-ruby/debug-1.7.1[ruby_targets_ruby32(-)] - >=dev-ruby/irb-1.6.2[ruby_targets_ruby32(-)] - >=dev-ruby/matrix-0.4.2[ruby_targets_ruby32(-)] - >=dev-ruby/minitest-5.16.3[ruby_targets_ruby32(-)] - >=dev-ruby/net-ftp-0.2.0[ruby_targets_ruby32(-)] - >=dev-ruby/net-imap-0.3.4[ruby_targets_ruby32(-)] - >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby32(-)] - >=dev-ruby/net-smtp-0.3.3[ruby_targets_ruby32(-)] - >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby32(-)] - >=dev-ruby/prime-0.1.2[ruby_targets_ruby32(-)] - >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby32(-)] - >=dev-ruby/rbs-2.8.2[ruby_targets_ruby32(-)] - >=dev-ruby/rexml-3.2.5[ruby_targets_ruby32(-)] - >=dev-ruby/rss-0.2.9[ruby_targets_ruby32(-)] - >=dev-ruby/test-unit-3.5.7[ruby_targets_ruby32(-)] - >=dev-ruby/typeprof-0.21.3[ruby_targets_ruby32(-)] -" - -PDEPEND=" - ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby32(-)] - >=dev-ruby/bundler-2.3.3[ruby_targets_ruby32(-)] - >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby32(-)] - >=dev-ruby/json-2.6.1[ruby_targets_ruby32(-)] - >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby32(-)] - xemacs? ( app-xemacs/ruby-modes ) -" - -src_prepare() { - eapply "${FILESDIR}"/"${SLOT}"/010*.patch - eapply "${FILESDIR}"/"${SLOT}"/011*.patch - eapply "${FILESDIR}"/"${SLOT}"/013*.patch - eapply "${FILESDIR}"/"${SLOT}"/902*.patch - - if use elibc_musl ; then - eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch - fi - - einfo "Unbundling gems..." - cd "$S" - # Remove bundled gems that we will install via PDEPEND, bug - # 539700. - rm -fr gems/* || die - touch gems/bundled_gems || die - # Don't install CLI tools since they will clash with the gem - rm -f bin/{racc,racc2y,y2racc} || die - sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die - - # Remove tests that are known to fail or require a network connection - rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die - rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die - - # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. - rm -rf tool/test/webrick || die - - # Avoid test using the system ruby - sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die - - # Avoid testing against hard-coded blockdev devices that most likely are not available - sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die - - # Avoid tests that require gem downloads - sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die - sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die - - # Avoid test that fails intermittently - sed -i -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' test/rubygems/test_gem_commands_exec_command.rb || die - - if use prefix ; then - # Fix hardcoded SHELL var in mkmf library - sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die - fi - - eapply_user - - eautoreconf -} - -src_configure() { - local modules="win32,win32ole" myconf= - - # Ruby's build system does interesting things with MAKEOPTS and doesn't - # handle MAKEOPTS="-Oline" or similar well. Just filter it all out - # and use -j/-l parsed out from the original MAKEOPTS, then use that. - # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing - # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. - local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" - unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS - export MAKEOPTS="${makeopts_tmp}" - - # Avoid a hardcoded path to mkdir to avoid issues with mixed - # usr-merge and normal binary packages, bug #932386. - export ac_cv_path_mkdir=mkdir - - # -fomit-frame-pointer makes ruby segfault, see bug #150413. - filter-flags -fomit-frame-pointer - # In many places aliasing rules are broken; play it safe - # as it's risky with newer compilers to leave it as it is. - append-flags -fno-strict-aliasing - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - export DTRACE="${BROOT}"/usr/bin/stap-dtrace - fi - - # Socks support via dante - if use socks5 ; then - # Socks support can't be disabled as long as SOCKS_SERVER is - # set and socks library is present, so need to unset - # SOCKS_SERVER in that case. - unset SOCKS_SERVER - fi - - # Increase GC_MALLOC_LIMIT if set (default is 8000000) - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" - fi - - # ipv6 hack, bug 168939. Needs --enable-ipv6. - use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" - - # Determine which modules *not* to build depending in the USE flags. - if ! use berkdb ; then - modules="${modules},dbm" - fi - if ! use gdbm ; then - modules="${modules},gdbm" - fi - if ! use ssl ; then - modules="${modules},openssl" - fi - if ! use tk ; then - modules="${modules},tk" - fi - - # Provide an empty LIBPATHENV because we disable rpath but we do not - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget - # #564272 - # except on Darwin, where we really need LIBPATHENV to set the right - # DYLD_ stuff during the invocation of miniruby for it to work - [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" - INSTALL="${EPREFIX}/usr/bin/install -c" econf \ - --program-suffix=${MY_SUFFIX} \ - --with-soname=ruby${MY_SUFFIX} \ - --with-readline-dir="${EPREFIX}"/usr \ - --enable-shared \ - --enable-pthread \ - --disable-rpath \ - --without-baseruby \ - --with-compress-debug-sections=no \ - --enable-mkmf-verbose \ - --with-out-ext="${modules}" \ - $(use_with jemalloc jemalloc) \ - $(use_enable jit jit-support) \ - $(use_enable jit yjit) \ - $(use_enable socks5 socks) \ - $(use_enable systemtap dtrace) \ - $(use_enable doc install-doc) \ - --enable-ipv6 \ - $(use_enable static-libs static) \ - $(use_enable static-libs install-static-library) \ - $(use_with static-libs static-linked-ext) \ - $(use_enable debug) \ - ${myconf} \ - $(use_with valgrind) \ - --enable-option-checking=no - - # Makefile is broken because it lacks -ldl - rm -rf ext/-test-/popen_deadlock || die -} - -src_compile() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" -} - -src_test() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 check -} - -src_install() { - # Remove the remaining bundled gems. We do this late in the process - # since they are used during the build to e.g. create the - # documentation. - einfo "Removing default gems before installation" - rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die - - # Ruby is involved in the install process, we don't want interference here. - unset RUBYOPT - - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) - - local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - - local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - for d in $(find "${S}/ext" -type d) ; do - RUBYLIB="${RUBYLIB}:$d" - done - - # Create directory for the default gems - local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" - mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" - - emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install - - # Remove installed rubygems and rdoc copy - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" - rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" - - if use doc; then - emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc - fi - - if use examples; then - dodoc -r sample - fi - - dodoc ChangeLog NEWS.md README* - dodoc -r doc -} - -pkg_postinst() { - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then - eselect ruby set ruby${MY_SUFFIX} - fi - - elog - elog "To switch between available Ruby profiles, execute as root:" - elog "\teselect ruby set ruby(30|31|...)" - elog -} - -pkg_postrm() { - eselect ruby cleanup -} diff --git a/dev-lang/ruby/ruby-3.2.6-r1.ebuild b/dev-lang/ruby/ruby-3.2.6-r1.ebuild new file mode 100644 index 000000000000..74fa2ffc9b24 --- /dev/null +++ b/dev-lang/ruby/ruby-3.2.6-r1.ebuild @@ -0,0 +1,294 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_OPTIONAL="yes" + +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 + +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" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( ${RUST_DEPEND} ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/readline:0= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231008 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/debug-1.7.1[ruby_targets_ruby32(-)] + >=dev-ruby/irb-1.6.2[ruby_targets_ruby32(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby32(-)] + >=dev-ruby/minitest-5.16.3[ruby_targets_ruby32(-)] + >=dev-ruby/net-ftp-0.2.1[ruby_targets_ruby32(-)] + >=dev-ruby/net-imap-0.3.4.1[ruby_targets_ruby32(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/net-smtp-0.3.4[ruby_targets_ruby32(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby32(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby32(-)] + >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby32(-)] + >=dev-ruby/rbs-2.8.2[ruby_targets_ruby32(-)] + >=dev-ruby/rexml-3.3.9[ruby_targets_ruby32(-)] + >=dev-ruby/rss-0.3.1[ruby_targets_ruby32(-)] + >=dev-ruby/test-unit-3.5.7[ruby_targets_ruby32(-)] + >=dev-ruby/typeprof-0.21.3[ruby_targets_ruby32(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby32(-)] + >=dev-ruby/bundler-2.3.3[ruby_targets_ruby32(-)] + >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/json-2.6.1[ruby_targets_ruby32(-)] + >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby32(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +pkg_setup() { + use jit && rust_pkg_setup +} + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/011*.patch + eapply "${FILESDIR}"/"${SLOT}"/013*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + # Don't install CLI tools since they will clash with the gem + rm -f bin/{racc,racc2y,y2racc} || die + sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Avoid test using the system ruby + sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die + sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die + + # Avoid test that fails intermittently + sed -i -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' test/rubygems/test_gem_commands_exec_command.rb || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # ipv6 hack, bug 168939. Needs --enable-ipv6. + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" + + # Determine which modules *not* to build depending in the USE flags. + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + fi + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + # except on Darwin, where we really need LIBPATHENV to set the right + # DYLD_ stuff during the invocation of miniruby for it to work + [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" + INSTALL="${EPREFIX}/usr/bin/install -c" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --with-readline-dir="${EPREFIX}"/usr \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + --enable-ipv6 \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + ${myconf} \ + $(use_with valgrind) \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md README* + dodoc -r doc +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/ruby/ruby-3.2.6.ebuild b/dev-lang/ruby/ruby-3.2.6.ebuild deleted file mode 100644 index 988bb6012c76..000000000000 --- a/dev-lang/ruby/ruby-3.2.6.ebuild +++ /dev/null @@ -1,288 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic multiprocessing - -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} - -SLOT=$(ver_cut 1-2) -MY_SUFFIX=$(ver_rs 1 '' ${SLOT}) -RUBYVERSION=${SLOT}.0 - -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" - -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 ipv6 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 ) - ssl? ( - dev-libs/openssl:0= - ) - socks5? ( >=net-proxy/dante-1.1.13 ) - systemtap? ( dev-debug/systemtap ) - tk? ( - dev-lang/tcl:0=[threads] - dev-lang/tk:0=[threads] - ) - dev-libs/libyaml - dev-libs/libffi:= - sys-libs/readline:0= - sys-libs/zlib - virtual/libcrypt:= - >=app-eselect/eselect-ruby-20231008 -" - -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" - -BUNDLED_GEMS=" - >=dev-ruby/debug-1.7.1[ruby_targets_ruby32(-)] - >=dev-ruby/irb-1.6.2[ruby_targets_ruby32(-)] - >=dev-ruby/matrix-0.4.2[ruby_targets_ruby32(-)] - >=dev-ruby/minitest-5.16.3[ruby_targets_ruby32(-)] - >=dev-ruby/net-ftp-0.2.1[ruby_targets_ruby32(-)] - >=dev-ruby/net-imap-0.3.4.1[ruby_targets_ruby32(-)] - >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby32(-)] - >=dev-ruby/net-smtp-0.3.4[ruby_targets_ruby32(-)] - >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby32(-)] - >=dev-ruby/prime-0.1.2[ruby_targets_ruby32(-)] - >=dev-ruby/rake-13.0.6-r2[ruby_targets_ruby32(-)] - >=dev-ruby/rbs-2.8.2[ruby_targets_ruby32(-)] - >=dev-ruby/rexml-3.3.9[ruby_targets_ruby32(-)] - >=dev-ruby/rss-0.3.1[ruby_targets_ruby32(-)] - >=dev-ruby/test-unit-3.5.7[ruby_targets_ruby32(-)] - >=dev-ruby/typeprof-0.21.3[ruby_targets_ruby32(-)] -" - -PDEPEND=" - ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby32(-)] - >=dev-ruby/bundler-2.3.3[ruby_targets_ruby32(-)] - >=dev-ruby/did_you_mean-1.6.1[ruby_targets_ruby32(-)] - >=dev-ruby/json-2.6.1[ruby_targets_ruby32(-)] - >=dev-ruby/rdoc-6.3.3[ruby_targets_ruby32(-)] - xemacs? ( app-xemacs/ruby-modes ) -" - -src_prepare() { - eapply "${FILESDIR}"/"${SLOT}"/010*.patch - eapply "${FILESDIR}"/"${SLOT}"/011*.patch - eapply "${FILESDIR}"/"${SLOT}"/013*.patch - eapply "${FILESDIR}"/"${SLOT}"/902*.patch - - if use elibc_musl ; then - eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch - fi - - einfo "Unbundling gems..." - cd "$S" - # Remove bundled gems that we will install via PDEPEND, bug - # 539700. - rm -fr gems/* || die - touch gems/bundled_gems || die - # Don't install CLI tools since they will clash with the gem - rm -f bin/{racc,racc2y,y2racc} || die - sed -i -e '/executables/ s:^:#:' lib/racc/racc.gemspec || die - - # Remove tests that are known to fail or require a network connection - rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die - rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die - - # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. - rm -rf tool/test/webrick || die - - # Avoid test using the system ruby - sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die - - # Avoid testing against hard-coded blockdev devices that most likely are not available - sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die - - # Avoid tests that require gem downloads - sed -i -e '/^test-syntax-suggest/ s/\$(TEST_RUNNABLE)/no/' common.mk || die - sed -i -e '/^check:/ s/\$(TEST_RUNNABLE)-\$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest//' common.mk || die - - # Avoid test that fails intermittently - sed -i -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' test/rubygems/test_gem_commands_exec_command.rb || die - - if use prefix ; then - # Fix hardcoded SHELL var in mkmf library - sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die - fi - - eapply_user - - eautoreconf -} - -src_configure() { - local modules="win32,win32ole" myconf= - - # Ruby's build system does interesting things with MAKEOPTS and doesn't - # handle MAKEOPTS="-Oline" or similar well. Just filter it all out - # and use -j/-l parsed out from the original MAKEOPTS, then use that. - # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing - # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. - local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" - unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS - export MAKEOPTS="${makeopts_tmp}" - - # Avoid a hardcoded path to mkdir to avoid issues with mixed - # usr-merge and normal binary packages, bug #932386. - export ac_cv_path_mkdir=mkdir - - # -fomit-frame-pointer makes ruby segfault, see bug #150413. - filter-flags -fomit-frame-pointer - # In many places aliasing rules are broken; play it safe - # as it's risky with newer compilers to leave it as it is. - append-flags -fno-strict-aliasing - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - export DTRACE="${BROOT}"/usr/bin/stap-dtrace - fi - - # Socks support via dante - if use socks5 ; then - # Socks support can't be disabled as long as SOCKS_SERVER is - # set and socks library is present, so need to unset - # SOCKS_SERVER in that case. - unset SOCKS_SERVER - fi - - # Increase GC_MALLOC_LIMIT if set (default is 8000000) - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" - fi - - # ipv6 hack, bug 168939. Needs --enable-ipv6. - use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET" - - # Determine which modules *not* to build depending in the USE flags. - if ! use berkdb ; then - modules="${modules},dbm" - fi - if ! use gdbm ; then - modules="${modules},gdbm" - fi - if ! use ssl ; then - modules="${modules},openssl" - fi - if ! use tk ; then - modules="${modules},tk" - fi - - # Provide an empty LIBPATHENV because we disable rpath but we do not - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget - # #564272 - # except on Darwin, where we really need LIBPATHENV to set the right - # DYLD_ stuff during the invocation of miniruby for it to work - [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" - INSTALL="${EPREFIX}/usr/bin/install -c" econf \ - --program-suffix=${MY_SUFFIX} \ - --with-soname=ruby${MY_SUFFIX} \ - --with-readline-dir="${EPREFIX}"/usr \ - --enable-shared \ - --enable-pthread \ - --disable-rpath \ - --without-baseruby \ - --with-compress-debug-sections=no \ - --enable-mkmf-verbose \ - --with-out-ext="${modules}" \ - $(use_with jemalloc jemalloc) \ - $(use_enable jit jit-support) \ - $(use_enable jit yjit) \ - $(use_enable socks5 socks) \ - $(use_enable systemtap dtrace) \ - $(use_enable doc install-doc) \ - --enable-ipv6 \ - $(use_enable static-libs static) \ - $(use_enable static-libs install-static-library) \ - $(use_with static-libs static-linked-ext) \ - $(use_enable debug) \ - ${myconf} \ - $(use_with valgrind) \ - --enable-option-checking=no - - # Makefile is broken because it lacks -ldl - rm -rf ext/-test-/popen_deadlock || die -} - -src_compile() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" -} - -src_test() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 check -} - -src_install() { - # Remove the remaining bundled gems. We do this late in the process - # since they are used during the build to e.g. create the - # documentation. - einfo "Removing default gems before installation" - rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die - - # Ruby is involved in the install process, we don't want interference here. - unset RUBYOPT - - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) - - local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - - local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - for d in $(find "${S}/ext" -type d) ; do - RUBYLIB="${RUBYLIB}:$d" - done - - # Create directory for the default gems - local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" - mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" - - emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install - - # Remove installed rubygems and rdoc copy - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" - rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" - - if use doc; then - emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc - fi - - if use examples; then - dodoc -r sample - fi - - dodoc ChangeLog NEWS.md README* - dodoc -r doc -} - -pkg_postinst() { - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then - eselect ruby set ruby${MY_SUFFIX} - fi - - elog - elog "To switch between available Ruby profiles, execute as root:" - elog "\teselect ruby set ruby(30|31|...)" - elog -} - -pkg_postrm() { - eselect ruby cleanup -} diff --git a/dev-lang/ruby/ruby-3.3.4-r1.ebuild b/dev-lang/ruby/ruby-3.3.4-r1.ebuild deleted file mode 100644 index cac3085b6240..000000000000 --- a/dev-lang/ruby/ruby-3.3.4-r1.ebuild +++ /dev/null @@ -1,289 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic multiprocessing - -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" - -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} - -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" - -RDEPEND=" - berkdb? ( sys-libs/db:= ) - gdbm? ( sys-libs/gdbm:= ) - jemalloc? ( dev-libs/jemalloc:= ) - jit? ( >=virtual/rust-1.58.1 ) - ssl? ( - dev-libs/openssl:0= - ) - socks5? ( >=net-proxy/dante-1.1.13 ) - systemtap? ( dev-debug/systemtap ) - tk? ( - dev-lang/tcl:0=[threads] - dev-lang/tk:0=[threads] - ) - dev-libs/libyaml - dev-libs/libffi:= - sys-libs/zlib - virtual/libcrypt:= - >=app-eselect/eselect-ruby-20231226 -" - -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" - -BUNDLED_GEMS=" - >=dev-ruby/debug-1.9.1[ruby_targets_ruby33(-)] - >=dev-ruby/irb-1.11.0[ruby_targets_ruby33(-)] - >=dev-ruby/matrix-0.4.2[ruby_targets_ruby33(-)] - >=dev-ruby/minitest-5.20.0[ruby_targets_ruby33(-)] - >=dev-ruby/net-ftp-0.3.3[ruby_targets_ruby33(-)] - >=dev-ruby/net-imap-0.4.9[ruby_targets_ruby33(-)] - >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)] - >=dev-ruby/net-smtp-0.4.0[ruby_targets_ruby33(-)] - >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby33(-)] - >=dev-ruby/prime-0.1.2[ruby_targets_ruby33(-)] - >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)] - >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)] - >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)] - >=dev-ruby/rexml-3.2.8[ruby_targets_ruby33(-)] - >=dev-ruby/rss-0.3.0[ruby_targets_ruby33(-)] - >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)] - >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)] -" - -PDEPEND=" - ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby33(-)] - >=dev-ruby/bundler-2.5.11[ruby_targets_ruby33(-)] - >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)] - >=dev-ruby/json-2.7.1[ruby_targets_ruby33(-)] - >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)] - xemacs? ( app-xemacs/ruby-modes ) -" - -src_prepare() { - eapply "${FILESDIR}"/"${SLOT}"/010*.patch - eapply "${FILESDIR}"/"${SLOT}"/013*.patch - eapply "${FILESDIR}"/"${SLOT}"/902*.patch - - if use elibc_musl ; then - eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch - fi - - einfo "Unbundling gems..." - cd "$S" - # Remove bundled gems that we will install via PDEPEND, bug - # 539700. - rm -fr gems/* || die - touch gems/bundled_gems || die - - # Avoid the irb default gemspec since we will install the normal gem - # instead. This avoids a file collision with dev-ruby/irb. - rm lib/irb/irb.gemspec || die - - # Remove tests that are known to fail or require a network connection - rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die - rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \ - spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die - - # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. - rm -rf tool/test/webrick || die - - # Avoid test using the system ruby - sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die - - # Avoid testing against hard-coded blockdev devices that most likely are not available - sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die - - # Avoid tests that require gem downloads - sed -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ - -i common.mk - - # Avoid test that fails intermittently - sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ - -i test/rubygems/test_gem_commands_exec_command.rb || die - - if use prefix ; then - # Fix hardcoded SHELL var in mkmf library - sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die - fi - - eapply_user - - eautoreconf -} - -src_configure() { - local modules="win32,win32ole" myconf= - - # Ruby's build system does interesting things with MAKEOPTS and doesn't - # handle MAKEOPTS="-Oline" or similar well. Just filter it all out - # and use -j/-l parsed out from the original MAKEOPTS, then use that. - # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing - # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. - local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" - unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS - export MAKEOPTS="${makeopts_tmp}" - - # Avoid a hardcoded path to mkdir to avoid issues with mixed - # usr-merge and normal binary packages, bug #932386. - export ac_cv_path_mkdir=mkdir - - # -fomit-frame-pointer makes ruby segfault, see bug #150413. - filter-flags -fomit-frame-pointer - # In many places aliasing rules are broken; play it safe - # as it's risky with newer compilers to leave it as it is. - append-flags -fno-strict-aliasing - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - export DTRACE="${BROOT}"/usr/bin/stap-dtrace - fi - - # Socks support via dante - if use socks5 ; then - # Socks support can't be disabled as long as SOCKS_SERVER is - # set and socks library is present, so need to unset - # SOCKS_SERVER in that case. - unset SOCKS_SERVER - fi - - # Increase GC_MALLOC_LIMIT if set (default is 8000000) - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" - fi - - # Determine which modules *not* to build depending in the USE flags. - if ! use berkdb ; then - modules="${modules},dbm" - fi - if ! use gdbm ; then - modules="${modules},gdbm" - fi - if ! use ssl ; then - modules="${modules},openssl" - fi - if ! use tk ; then - modules="${modules},tk" - fi - - # Fix co-routine selection for x32, bug 933070 - [[ ${CHOST} == *gnux32 ]] && myconf="${myconf} --with-coroutine=amd64" - - # Provide an empty LIBPATHENV because we disable rpath but we do not - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget - # #564272 - # except on Darwin, where we really need LIBPATHENV to set the right - # DYLD_ stuff during the invocation of miniruby for it to work - [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" - INSTALL="${EPREFIX}/usr/bin/install -c" econf \ - --program-suffix=${MY_SUFFIX} \ - --with-soname=ruby${MY_SUFFIX} \ - --enable-shared \ - --enable-pthread \ - --disable-rpath \ - --without-baseruby \ - --with-compress-debug-sections=no \ - --enable-mkmf-verbose \ - --with-out-ext="${modules}" \ - $(use_with jemalloc jemalloc) \ - $(use_enable jit jit-support) \ - $(use_enable jit yjit) \ - $(use_enable socks5 socks) \ - $(use_enable systemtap dtrace) \ - $(use_enable doc install-doc) \ - $(use_enable static-libs static) \ - $(use_enable static-libs install-static-library) \ - $(use_with static-libs static-linked-ext) \ - $(use_enable debug) \ - ${myconf} \ - $(use_with valgrind) \ - --enable-option-checking=no - - # Makefile is broken because it lacks -ldl - rm -rf ext/-test-/popen_deadlock || die -} - -src_compile() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" -} - -src_test() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 check -} - -src_install() { - # Remove the remaining bundled gems. We do this late in the process - # since they are used during the build to e.g. create the - # documentation. - einfo "Removing default gems before installation" - rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die - - # Ruby is involved in the install process, we don't want interference here. - unset RUBYOPT - - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) - - local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - - local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - for d in $(find "${S}/ext" -type d) ; do - RUBYLIB="${RUBYLIB}:$d" - done - - # Create directory for the default gems - local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" - mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" - - emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install - - # Remove installed rubygems and rdoc copy - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" - rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" - - if use doc; then - emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc - fi - - if use examples; then - dodoc -r sample - fi - - dodoc ChangeLog NEWS.md README* - dodoc -r doc -} - -pkg_postinst() { - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then - eselect ruby set ruby${MY_SUFFIX} - fi - - elog - elog "To switch between available Ruby profiles, execute as root:" - elog "\teselect ruby set ruby(30|31|...)" - elog -} - -pkg_postrm() { - eselect ruby cleanup -} diff --git a/dev-lang/ruby/ruby-3.3.4-r2.ebuild b/dev-lang/ruby/ruby-3.3.4-r2.ebuild new file mode 100644 index 000000000000..a48e45203585 --- /dev/null +++ b/dev-lang/ruby/ruby-3.3.4-r2.ebuild @@ -0,0 +1,294 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_OPTIONAL="yes" + +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 + +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" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( ${RUST_DEPEND} ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231226 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/debug-1.9.1[ruby_targets_ruby33(-)] + >=dev-ruby/irb-1.11.0[ruby_targets_ruby33(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby33(-)] + >=dev-ruby/minitest-5.20.0[ruby_targets_ruby33(-)] + >=dev-ruby/net-ftp-0.3.3[ruby_targets_ruby33(-)] + >=dev-ruby/net-imap-0.4.9[ruby_targets_ruby33(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)] + >=dev-ruby/net-smtp-0.4.0[ruby_targets_ruby33(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby33(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby33(-)] + >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)] + >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)] + >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)] + >=dev-ruby/rexml-3.2.8[ruby_targets_ruby33(-)] + >=dev-ruby/rss-0.3.0[ruby_targets_ruby33(-)] + >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)] + >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby33(-)] + >=dev-ruby/bundler-2.5.11[ruby_targets_ruby33(-)] + >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)] + >=dev-ruby/json-2.7.1[ruby_targets_ruby33(-)] + >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +pkg_setup() { + use jit && rust_pkg_setup +} + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/013*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + + # Avoid the irb default gemspec since we will install the normal gem + # instead. This avoids a file collision with dev-ruby/irb. + rm lib/irb/irb.gemspec || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \ + spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Avoid test using the system ruby + sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ + -i common.mk + + # Avoid test that fails intermittently + sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ + -i test/rubygems/test_gem_commands_exec_command.rb || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # Determine which modules *not* to build depending in the USE flags. + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + fi + + # Fix co-routine selection for x32, bug 933070 + [[ ${CHOST} == *gnux32 ]] && myconf="${myconf} --with-coroutine=amd64" + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + # except on Darwin, where we really need LIBPATHENV to set the right + # DYLD_ stuff during the invocation of miniruby for it to work + [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" + INSTALL="${EPREFIX}/usr/bin/install -c" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + ${myconf} \ + $(use_with valgrind) \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md README* + dodoc -r doc +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/ruby/ruby-3.3.5-r1.ebuild b/dev-lang/ruby/ruby-3.3.5-r1.ebuild new file mode 100644 index 000000000000..a48e45203585 --- /dev/null +++ b/dev-lang/ruby/ruby-3.3.5-r1.ebuild @@ -0,0 +1,294 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_OPTIONAL="yes" + +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 + +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" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( ${RUST_DEPEND} ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231226 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/debug-1.9.1[ruby_targets_ruby33(-)] + >=dev-ruby/irb-1.11.0[ruby_targets_ruby33(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby33(-)] + >=dev-ruby/minitest-5.20.0[ruby_targets_ruby33(-)] + >=dev-ruby/net-ftp-0.3.3[ruby_targets_ruby33(-)] + >=dev-ruby/net-imap-0.4.9[ruby_targets_ruby33(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)] + >=dev-ruby/net-smtp-0.4.0[ruby_targets_ruby33(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby33(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby33(-)] + >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)] + >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)] + >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)] + >=dev-ruby/rexml-3.2.8[ruby_targets_ruby33(-)] + >=dev-ruby/rss-0.3.0[ruby_targets_ruby33(-)] + >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)] + >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby33(-)] + >=dev-ruby/bundler-2.5.11[ruby_targets_ruby33(-)] + >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)] + >=dev-ruby/json-2.7.1[ruby_targets_ruby33(-)] + >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +pkg_setup() { + use jit && rust_pkg_setup +} + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/013*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + + # Avoid the irb default gemspec since we will install the normal gem + # instead. This avoids a file collision with dev-ruby/irb. + rm lib/irb/irb.gemspec || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \ + spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Avoid test using the system ruby + sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ + -i common.mk + + # Avoid test that fails intermittently + sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ + -i test/rubygems/test_gem_commands_exec_command.rb || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # Determine which modules *not* to build depending in the USE flags. + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + fi + + # Fix co-routine selection for x32, bug 933070 + [[ ${CHOST} == *gnux32 ]] && myconf="${myconf} --with-coroutine=amd64" + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + # except on Darwin, where we really need LIBPATHENV to set the right + # DYLD_ stuff during the invocation of miniruby for it to work + [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" + INSTALL="${EPREFIX}/usr/bin/install -c" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + ${myconf} \ + $(use_with valgrind) \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md README* + dodoc -r doc +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/ruby/ruby-3.3.5.ebuild b/dev-lang/ruby/ruby-3.3.5.ebuild deleted file mode 100644 index cac3085b6240..000000000000 --- a/dev-lang/ruby/ruby-3.3.5.ebuild +++ /dev/null @@ -1,289 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic multiprocessing - -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" - -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} - -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" - -RDEPEND=" - berkdb? ( sys-libs/db:= ) - gdbm? ( sys-libs/gdbm:= ) - jemalloc? ( dev-libs/jemalloc:= ) - jit? ( >=virtual/rust-1.58.1 ) - ssl? ( - dev-libs/openssl:0= - ) - socks5? ( >=net-proxy/dante-1.1.13 ) - systemtap? ( dev-debug/systemtap ) - tk? ( - dev-lang/tcl:0=[threads] - dev-lang/tk:0=[threads] - ) - dev-libs/libyaml - dev-libs/libffi:= - sys-libs/zlib - virtual/libcrypt:= - >=app-eselect/eselect-ruby-20231226 -" - -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" - -BUNDLED_GEMS=" - >=dev-ruby/debug-1.9.1[ruby_targets_ruby33(-)] - >=dev-ruby/irb-1.11.0[ruby_targets_ruby33(-)] - >=dev-ruby/matrix-0.4.2[ruby_targets_ruby33(-)] - >=dev-ruby/minitest-5.20.0[ruby_targets_ruby33(-)] - >=dev-ruby/net-ftp-0.3.3[ruby_targets_ruby33(-)] - >=dev-ruby/net-imap-0.4.9[ruby_targets_ruby33(-)] - >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)] - >=dev-ruby/net-smtp-0.4.0[ruby_targets_ruby33(-)] - >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby33(-)] - >=dev-ruby/prime-0.1.2[ruby_targets_ruby33(-)] - >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)] - >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)] - >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)] - >=dev-ruby/rexml-3.2.8[ruby_targets_ruby33(-)] - >=dev-ruby/rss-0.3.0[ruby_targets_ruby33(-)] - >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)] - >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)] -" - -PDEPEND=" - ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby33(-)] - >=dev-ruby/bundler-2.5.11[ruby_targets_ruby33(-)] - >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)] - >=dev-ruby/json-2.7.1[ruby_targets_ruby33(-)] - >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)] - xemacs? ( app-xemacs/ruby-modes ) -" - -src_prepare() { - eapply "${FILESDIR}"/"${SLOT}"/010*.patch - eapply "${FILESDIR}"/"${SLOT}"/013*.patch - eapply "${FILESDIR}"/"${SLOT}"/902*.patch - - if use elibc_musl ; then - eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch - fi - - einfo "Unbundling gems..." - cd "$S" - # Remove bundled gems that we will install via PDEPEND, bug - # 539700. - rm -fr gems/* || die - touch gems/bundled_gems || die - - # Avoid the irb default gemspec since we will install the normal gem - # instead. This avoids a file collision with dev-ruby/irb. - rm lib/irb/irb.gemspec || die - - # Remove tests that are known to fail or require a network connection - rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die - rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \ - spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die - - # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. - rm -rf tool/test/webrick || die - - # Avoid test using the system ruby - sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die - - # Avoid testing against hard-coded blockdev devices that most likely are not available - sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die - - # Avoid tests that require gem downloads - sed -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ - -i common.mk - - # Avoid test that fails intermittently - sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ - -i test/rubygems/test_gem_commands_exec_command.rb || die - - if use prefix ; then - # Fix hardcoded SHELL var in mkmf library - sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die - fi - - eapply_user - - eautoreconf -} - -src_configure() { - local modules="win32,win32ole" myconf= - - # Ruby's build system does interesting things with MAKEOPTS and doesn't - # handle MAKEOPTS="-Oline" or similar well. Just filter it all out - # and use -j/-l parsed out from the original MAKEOPTS, then use that. - # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing - # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. - local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" - unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS - export MAKEOPTS="${makeopts_tmp}" - - # Avoid a hardcoded path to mkdir to avoid issues with mixed - # usr-merge and normal binary packages, bug #932386. - export ac_cv_path_mkdir=mkdir - - # -fomit-frame-pointer makes ruby segfault, see bug #150413. - filter-flags -fomit-frame-pointer - # In many places aliasing rules are broken; play it safe - # as it's risky with newer compilers to leave it as it is. - append-flags -fno-strict-aliasing - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - export DTRACE="${BROOT}"/usr/bin/stap-dtrace - fi - - # Socks support via dante - if use socks5 ; then - # Socks support can't be disabled as long as SOCKS_SERVER is - # set and socks library is present, so need to unset - # SOCKS_SERVER in that case. - unset SOCKS_SERVER - fi - - # Increase GC_MALLOC_LIMIT if set (default is 8000000) - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" - fi - - # Determine which modules *not* to build depending in the USE flags. - if ! use berkdb ; then - modules="${modules},dbm" - fi - if ! use gdbm ; then - modules="${modules},gdbm" - fi - if ! use ssl ; then - modules="${modules},openssl" - fi - if ! use tk ; then - modules="${modules},tk" - fi - - # Fix co-routine selection for x32, bug 933070 - [[ ${CHOST} == *gnux32 ]] && myconf="${myconf} --with-coroutine=amd64" - - # Provide an empty LIBPATHENV because we disable rpath but we do not - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget - # #564272 - # except on Darwin, where we really need LIBPATHENV to set the right - # DYLD_ stuff during the invocation of miniruby for it to work - [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" - INSTALL="${EPREFIX}/usr/bin/install -c" econf \ - --program-suffix=${MY_SUFFIX} \ - --with-soname=ruby${MY_SUFFIX} \ - --enable-shared \ - --enable-pthread \ - --disable-rpath \ - --without-baseruby \ - --with-compress-debug-sections=no \ - --enable-mkmf-verbose \ - --with-out-ext="${modules}" \ - $(use_with jemalloc jemalloc) \ - $(use_enable jit jit-support) \ - $(use_enable jit yjit) \ - $(use_enable socks5 socks) \ - $(use_enable systemtap dtrace) \ - $(use_enable doc install-doc) \ - $(use_enable static-libs static) \ - $(use_enable static-libs install-static-library) \ - $(use_with static-libs static-linked-ext) \ - $(use_enable debug) \ - ${myconf} \ - $(use_with valgrind) \ - --enable-option-checking=no - - # Makefile is broken because it lacks -ldl - rm -rf ext/-test-/popen_deadlock || die -} - -src_compile() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" -} - -src_test() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 check -} - -src_install() { - # Remove the remaining bundled gems. We do this late in the process - # since they are used during the build to e.g. create the - # documentation. - einfo "Removing default gems before installation" - rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die - - # Ruby is involved in the install process, we don't want interference here. - unset RUBYOPT - - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) - - local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - - local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - for d in $(find "${S}/ext" -type d) ; do - RUBYLIB="${RUBYLIB}:$d" - done - - # Create directory for the default gems - local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" - mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" - - emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install - - # Remove installed rubygems and rdoc copy - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" - rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" - - if use doc; then - emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc - fi - - if use examples; then - dodoc -r sample - fi - - dodoc ChangeLog NEWS.md README* - dodoc -r doc -} - -pkg_postinst() { - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then - eselect ruby set ruby${MY_SUFFIX} - fi - - elog - elog "To switch between available Ruby profiles, execute as root:" - elog "\teselect ruby set ruby(30|31|...)" - elog -} - -pkg_postrm() { - eselect ruby cleanup -} diff --git a/dev-lang/ruby/ruby-3.3.6-r1.ebuild b/dev-lang/ruby/ruby-3.3.6-r1.ebuild new file mode 100644 index 000000000000..7680cec58196 --- /dev/null +++ b/dev-lang/ruby/ruby-3.3.6-r1.ebuild @@ -0,0 +1,298 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_OPTIONAL="yes" + +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 + +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" + +RDEPEND=" + berkdb? ( sys-libs/db:= ) + gdbm? ( sys-libs/gdbm:= ) + jemalloc? ( dev-libs/jemalloc:= ) + jit? ( ${RUST_DEPEND} ) + ssl? ( + dev-libs/openssl:0= + ) + socks5? ( >=net-proxy/dante-1.1.13 ) + systemtap? ( dev-debug/systemtap ) + tk? ( + dev-lang/tcl:0=[threads] + dev-lang/tk:0=[threads] + ) + dev-libs/libyaml + dev-libs/libffi:= + sys-libs/zlib + virtual/libcrypt:= + >=app-eselect/eselect-ruby-20231226 +" + +DEPEND=" + ${RDEPEND} + valgrind? ( dev-debug/valgrind ) +" + +BUNDLED_GEMS=" + >=dev-ruby/debug-1.9.1[ruby_targets_ruby33(-)] + >=dev-ruby/irb-1.11.0[ruby_targets_ruby33(-)] + >=dev-ruby/matrix-0.4.2[ruby_targets_ruby33(-)] + >=dev-ruby/minitest-5.20.0[ruby_targets_ruby33(-)] + >=dev-ruby/net-ftp-0.3.4[ruby_targets_ruby33(-)] + >=dev-ruby/net-imap-0.4.9.1[ruby_targets_ruby33(-)] + >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)] + >=dev-ruby/net-smtp-0.4.0.1[ruby_targets_ruby33(-)] + >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby33(-)] + >=dev-ruby/prime-0.1.2[ruby_targets_ruby33(-)] + >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)] + >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)] + >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)] + >=dev-ruby/rexml-3.3.9[ruby_targets_ruby33(-)] + >=dev-ruby/rss-0.3.1[ruby_targets_ruby33(-)] + >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)] + >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)] +" + +PDEPEND=" + ${BUNDLED_GEMS} + virtual/rubygems[ruby_targets_ruby33(-)] + >=dev-ruby/bundler-2.5.11[ruby_targets_ruby33(-)] + >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)] + >=dev-ruby/json-2.7.2[ruby_targets_ruby33(-)] + >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)] + xemacs? ( app-xemacs/ruby-modes ) +" + +pkg_setup() { + use jit && rust_pkg_setup +} + +src_prepare() { + eapply "${FILESDIR}"/"${SLOT}"/010*.patch + eapply "${FILESDIR}"/"${SLOT}"/013*.patch + eapply "${FILESDIR}"/"${SLOT}"/902*.patch + + if use elibc_musl ; then + eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch + fi + + einfo "Unbundling gems..." + cd "$S" + # Remove bundled gems that we will install via PDEPEND, bug + # 539700. + rm -fr gems/* || die + touch gems/bundled_gems || die + + # Avoid the irb default gemspec since we will install the normal gem + # instead. This avoids a file collision with dev-ruby/irb. + rm lib/irb/irb.gemspec || die + + # Remove tests that are known to fail or require a network connection + rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die + rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \ + spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die + + # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. + rm -rf tool/test/webrick || die + + # Avoid test using the system ruby + sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die + + # Avoid testing against hard-coded blockdev devices that most likely are not available + sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die + + # Avoid tests that require gem downloads + sed -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ + -i common.mk + + # Avoid test that fails intermittently + sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ + -i test/rubygems/test_gem_commands_exec_command.rb || die + + # Avoid test fragile for git command output not matching on whitespace + sed -e '/test_pretty_print/aomit "Fragile for output differences"' \ + -i test/rubygems/test_gem_source_git.rb || die + + if use prefix ; then + # Fix hardcoded SHELL var in mkmf library + sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die + fi + + eapply_user + + eautoreconf +} + +src_configure() { + local modules="win32,win32ole" myconf= + + # Ruby's build system does interesting things with MAKEOPTS and doesn't + # handle MAKEOPTS="-Oline" or similar well. Just filter it all out + # and use -j/-l parsed out from the original MAKEOPTS, then use that. + # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing + # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. + local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" + unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS + export MAKEOPTS="${makeopts_tmp}" + + # Avoid a hardcoded path to mkdir to avoid issues with mixed + # usr-merge and normal binary packages, bug #932386. + export ac_cv_path_mkdir=mkdir + + # -fomit-frame-pointer makes ruby segfault, see bug #150413. + filter-flags -fomit-frame-pointer + # In many places aliasing rules are broken; play it safe + # as it's risky with newer compilers to leave it as it is. + append-flags -fno-strict-aliasing + + # Workaround for bug #938302 + if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then + export DTRACE="${BROOT}"/usr/bin/stap-dtrace + fi + + # Socks support via dante + if use socks5 ; then + # Socks support can't be disabled as long as SOCKS_SERVER is + # set and socks library is present, so need to unset + # SOCKS_SERVER in that case. + unset SOCKS_SERVER + fi + + # Increase GC_MALLOC_LIMIT if set (default is 8000000) + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" + fi + + # Determine which modules *not* to build depending in the USE flags. + if ! use berkdb ; then + modules="${modules},dbm" + fi + if ! use gdbm ; then + modules="${modules},gdbm" + fi + if ! use ssl ; then + modules="${modules},openssl" + fi + if ! use tk ; then + modules="${modules},tk" + fi + + # Fix co-routine selection for x32, bug 933070 + [[ ${CHOST} == *gnux32 ]] && myconf="${myconf} --with-coroutine=amd64" + + # Provide an empty LIBPATHENV because we disable rpath but we do not + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget + # #564272 + # except on Darwin, where we really need LIBPATHENV to set the right + # DYLD_ stuff during the invocation of miniruby for it to work + [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" + INSTALL="${EPREFIX}/usr/bin/install -c" econf \ + --program-suffix=${MY_SUFFIX} \ + --with-soname=ruby${MY_SUFFIX} \ + --enable-shared \ + --enable-pthread \ + --disable-rpath \ + --without-baseruby \ + --with-compress-debug-sections=no \ + --enable-mkmf-verbose \ + --with-out-ext="${modules}" \ + $(use_with jemalloc jemalloc) \ + $(use_enable jit jit-support) \ + $(use_enable jit yjit) \ + $(use_enable socks5 socks) \ + $(use_enable systemtap dtrace) \ + $(use_enable doc install-doc) \ + $(use_enable static-libs static) \ + $(use_enable static-libs install-static-library) \ + $(use_with static-libs static-linked-ext) \ + $(use_enable debug) \ + ${myconf} \ + $(use_with valgrind) \ + --enable-option-checking=no + + # Makefile is broken because it lacks -ldl + rm -rf ext/-test-/popen_deadlock || die +} + +src_compile() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" +} + +src_test() { + local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + emake V=1 check +} + +src_install() { + # Remove the remaining bundled gems. We do this late in the process + # since they are used during the build to e.g. create the + # documentation. + einfo "Removing default gems before installation" + rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die + + # Ruby is involved in the install process, we don't want interference here. + unset RUBYOPT + + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) + + local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" + + local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" + for d in $(find "${S}/ext" -type d) ; do + RUBYLIB="${RUBYLIB}:$d" + done + + # Create directory for the default gems + local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" + mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" + + emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install + + # Remove installed rubygems and rdoc copy + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" + rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" + rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" + rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" + + if use doc; then + emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc + fi + + if use examples; then + dodoc -r sample + fi + + dodoc ChangeLog NEWS.md README* + dodoc -r doc +} + +pkg_postinst() { + if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then + eselect ruby set ruby${MY_SUFFIX} + fi + + elog + elog "To switch between available Ruby profiles, execute as root:" + elog "\teselect ruby set ruby(30|31|...)" + elog +} + +pkg_postrm() { + eselect ruby cleanup +} diff --git a/dev-lang/ruby/ruby-3.3.6.ebuild b/dev-lang/ruby/ruby-3.3.6.ebuild deleted file mode 100644 index 9ea8087ae9f1..000000000000 --- a/dev-lang/ruby/ruby-3.3.6.ebuild +++ /dev/null @@ -1,293 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic multiprocessing - -DESCRIPTION="An object-oriented scripting language" -HOMEPAGE="https://www.ruby-lang.org/" - -MY_P="${PN}-$(ver_cut 1-3)" -S=${WORKDIR}/${MY_P} - -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" - -RDEPEND=" - berkdb? ( sys-libs/db:= ) - gdbm? ( sys-libs/gdbm:= ) - jemalloc? ( dev-libs/jemalloc:= ) - jit? ( >=virtual/rust-1.58.1 ) - ssl? ( - dev-libs/openssl:0= - ) - socks5? ( >=net-proxy/dante-1.1.13 ) - systemtap? ( dev-debug/systemtap ) - tk? ( - dev-lang/tcl:0=[threads] - dev-lang/tk:0=[threads] - ) - dev-libs/libyaml - dev-libs/libffi:= - sys-libs/zlib - virtual/libcrypt:= - >=app-eselect/eselect-ruby-20231226 -" - -DEPEND=" - ${RDEPEND} - valgrind? ( dev-debug/valgrind ) -" - -BUNDLED_GEMS=" - >=dev-ruby/debug-1.9.1[ruby_targets_ruby33(-)] - >=dev-ruby/irb-1.11.0[ruby_targets_ruby33(-)] - >=dev-ruby/matrix-0.4.2[ruby_targets_ruby33(-)] - >=dev-ruby/minitest-5.20.0[ruby_targets_ruby33(-)] - >=dev-ruby/net-ftp-0.3.4[ruby_targets_ruby33(-)] - >=dev-ruby/net-imap-0.4.9.1[ruby_targets_ruby33(-)] - >=dev-ruby/net-pop-0.1.2[ruby_targets_ruby33(-)] - >=dev-ruby/net-smtp-0.4.0.1[ruby_targets_ruby33(-)] - >=dev-ruby/power_assert-2.0.3[ruby_targets_ruby33(-)] - >=dev-ruby/prime-0.1.2[ruby_targets_ruby33(-)] - >=dev-ruby/racc-1.7.3[ruby_targets_ruby33(-)] - >=dev-ruby/rake-13.1.0[ruby_targets_ruby33(-)] - >=dev-ruby/rbs-3.4.0[ruby_targets_ruby33(-)] - >=dev-ruby/rexml-3.3.9[ruby_targets_ruby33(-)] - >=dev-ruby/rss-0.3.1[ruby_targets_ruby33(-)] - >=dev-ruby/test-unit-3.6.1[ruby_targets_ruby33(-)] - >=dev-ruby/typeprof-0.21.9[ruby_targets_ruby33(-)] -" - -PDEPEND=" - ${BUNDLED_GEMS} - virtual/rubygems[ruby_targets_ruby33(-)] - >=dev-ruby/bundler-2.5.11[ruby_targets_ruby33(-)] - >=dev-ruby/did_you_mean-1.6.3[ruby_targets_ruby33(-)] - >=dev-ruby/json-2.7.2[ruby_targets_ruby33(-)] - >=dev-ruby/rdoc-6.6.2[ruby_targets_ruby33(-)] - xemacs? ( app-xemacs/ruby-modes ) -" - -src_prepare() { - eapply "${FILESDIR}"/"${SLOT}"/010*.patch - eapply "${FILESDIR}"/"${SLOT}"/013*.patch - eapply "${FILESDIR}"/"${SLOT}"/902*.patch - - if use elibc_musl ; then - eapply "${FILESDIR}"/${SLOT}/901-musl-*.patch - fi - - einfo "Unbundling gems..." - cd "$S" - # Remove bundled gems that we will install via PDEPEND, bug - # 539700. - rm -fr gems/* || die - touch gems/bundled_gems || die - - # Avoid the irb default gemspec since we will install the normal gem - # instead. This avoids a file collision with dev-ruby/irb. - rm lib/irb/irb.gemspec || die - - # Remove tests that are known to fail or require a network connection - rm -f test/ruby/test_process.rb test/rubygems/test_gem{,_path_support}.rb || die - rm -f test/rinda/test_rinda.rb test/socket/test_tcp.rb test/fiber/test_address_resolve.rb \ - spec/ruby/library/socket/tcpsocket/{initialize,open}_spec.rb|| die - - # Remove webrick tests because setting LD_LIBRARY_PATH does not work for them. - rm -rf tool/test/webrick || die - - # Avoid test using the system ruby - sed -i -e '/test_dumb_terminal/aomit "Uses system ruby"' test/reline/test_reline.rb || die - - # Avoid testing against hard-coded blockdev devices that most likely are not available - sed -i -e '/def blockdev/a@blockdev = nil' test/ruby/test_file_exhaustive.rb || die - - # Avoid tests that require gem downloads - sed -e '/^\(test-syntax-suggest\|PREPARE_SYNTAX_SUGGEST\)/ s/\$(TEST_RUNNABLE)/no/' \ - -i common.mk - - # Avoid test that fails intermittently - sed -e '/test_gem_exec_gem_uninstall/aomit "Fails intermittently"' \ - -i test/rubygems/test_gem_commands_exec_command.rb || die - - # Avoid test fragile for git command output not matching on whitespace - sed -e '/test_pretty_print/aomit "Fragile for output differences"' \ - -i test/rubygems/test_gem_source_git.rb || die - - if use prefix ; then - # Fix hardcoded SHELL var in mkmf library - sed -i -e "s#\(SHELL = \).*#\1${EPREFIX}/bin/sh#" lib/mkmf.rb || die - fi - - eapply_user - - eautoreconf -} - -src_configure() { - local modules="win32,win32ole" myconf= - - # Ruby's build system does interesting things with MAKEOPTS and doesn't - # handle MAKEOPTS="-Oline" or similar well. Just filter it all out - # and use -j/-l parsed out from the original MAKEOPTS, then use that. - # Newer Portage sets this option by default in GNUMAKEFLAGS if nothing - # is set by the user in MAKEOPTS. See bug #900929 and bug #728424. - local makeopts_tmp="-j$(makeopts_jobs) -l$(makeopts_loadavg)" - unset MAKEOPTS MAKEFLAGS GNUMAKEFLAGS - export MAKEOPTS="${makeopts_tmp}" - - # Avoid a hardcoded path to mkdir to avoid issues with mixed - # usr-merge and normal binary packages, bug #932386. - export ac_cv_path_mkdir=mkdir - - # -fomit-frame-pointer makes ruby segfault, see bug #150413. - filter-flags -fomit-frame-pointer - # In many places aliasing rules are broken; play it safe - # as it's risky with newer compilers to leave it as it is. - append-flags -fno-strict-aliasing - - # Workaround for bug #938302 - if use systemtap && has_version "dev-debug/systemtap[-dtrace-symlink(+)]" ; then - export DTRACE="${BROOT}"/usr/bin/stap-dtrace - fi - - # Socks support via dante - if use socks5 ; then - # Socks support can't be disabled as long as SOCKS_SERVER is - # set and socks library is present, so need to unset - # SOCKS_SERVER in that case. - unset SOCKS_SERVER - fi - - # Increase GC_MALLOC_LIMIT if set (default is 8000000) - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}" - fi - - # Determine which modules *not* to build depending in the USE flags. - if ! use berkdb ; then - modules="${modules},dbm" - fi - if ! use gdbm ; then - modules="${modules},gdbm" - fi - if ! use ssl ; then - modules="${modules},openssl" - fi - if ! use tk ; then - modules="${modules},tk" - fi - - # Fix co-routine selection for x32, bug 933070 - [[ ${CHOST} == *gnux32 ]] && myconf="${myconf} --with-coroutine=amd64" - - # Provide an empty LIBPATHENV because we disable rpath but we do not - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget - # #564272 - # except on Darwin, where we really need LIBPATHENV to set the right - # DYLD_ stuff during the invocation of miniruby for it to work - [[ ${CHOST} == *-darwin* ]] || export LIBPATHENV="" - INSTALL="${EPREFIX}/usr/bin/install -c" econf \ - --program-suffix=${MY_SUFFIX} \ - --with-soname=ruby${MY_SUFFIX} \ - --enable-shared \ - --enable-pthread \ - --disable-rpath \ - --without-baseruby \ - --with-compress-debug-sections=no \ - --enable-mkmf-verbose \ - --with-out-ext="${modules}" \ - $(use_with jemalloc jemalloc) \ - $(use_enable jit jit-support) \ - $(use_enable jit yjit) \ - $(use_enable socks5 socks) \ - $(use_enable systemtap dtrace) \ - $(use_enable doc install-doc) \ - $(use_enable static-libs static) \ - $(use_enable static-libs install-static-library) \ - $(use_with static-libs static-linked-ext) \ - $(use_enable debug) \ - ${myconf} \ - $(use_with valgrind) \ - --enable-option-checking=no - - # Makefile is broken because it lacks -ldl - rm -rf ext/-test-/popen_deadlock || die -} - -src_compile() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" -} - -src_test() { - local -x LD_LIBRARY_PATH="${S}${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - emake V=1 check -} - -src_install() { - # Remove the remaining bundled gems. We do this late in the process - # since they are used during the build to e.g. create the - # documentation. - einfo "Removing default gems before installation" - rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die - - # Ruby is involved in the install process, we don't want interference here. - unset RUBYOPT - - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby) - - local -x LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}" - - local -x RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}" - for d in $(find "${S}/ext" -type d) ; do - RUBYLIB="${RUBYLIB}:$d" - done - - # Create directory for the default gems - local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}" - mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed" - - emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install - - # Remove installed rubygems and rdoc copy - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed" - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed" - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed" - rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed" - - if use doc; then - emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc - fi - - if use examples; then - dodoc -r sample - fi - - dodoc ChangeLog NEWS.md README* - dodoc -r doc -} - -pkg_postinst() { - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then - eselect ruby set ruby${MY_SUFFIX} - fi - - elog - elog "To switch between available Ruby profiles, execute as root:" - elog "\teselect ruby set ruby(30|31|...)" - elog -} - -pkg_postrm() { - eselect ruby cleanup -} diff --git a/dev-lang/spidermonkey/spidermonkey-102.15.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-102.15.0-r1.ebuild new file mode 100644 index 000000000000..bf9a67de35f8 --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-102.15.0-r1.ebuild @@ -0,0 +1,459 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +# Patch version +FIREFOX_PATCHSET="firefox-102esr-patches-13.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-102-patches-05j.tar.xz" + +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-r1 multiprocessing prefix python-any-r1 rust toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~{juippis,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~{juippis,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html " + +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv x86" + +SLOT="$(ver_cut 1)" +LICENSE="MPL-2.0" +IUSE="clang cpu_flags_arm_neon debug +jit lto test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + clang? ( + sys-devel/lld:${LLVM_SLOT} + ) + ') + virtual/pkgconfig + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" +DEPEND=">=dev-libs/icu-71.1:= + dev-libs/nspr + sys-libs/readline:0= + sys-libs/zlib" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/firefox-${MY_PV}/js/src" + +llvm_check_deps() { + if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then + einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + 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 + 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 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="4000M" + else + CHECKREQS_DISK_BUILD="3600M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use test ; then + CHECKREQS_DISK_BUILD="4000M" + else + CHECKREQS_DISK_BUILD="3600M" + fi + + check-reqs_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 }') + [[ -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})!" + fi + fi + + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_prepare() { + pushd ../.. &>/dev/null || die + + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + # use prefix shell in wrapper linker scripts, bug #789660 + hprefixify "${S}"/../../build/cargo-{,host-}linker + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + MOZJS_BUILDDIR="${WORKDIR}/build" + mkdir "${MOZJS_BUILDDIR}" || die + + popd &>/dev/null || die + eautoconf +} + +src_configure() { + # Show flags set at the beginning + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG + + cd "${MOZJS_BUILDDIR}" || die + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + local -a myeconfargs=( + --host="${CBUILD:-${CHOST}}" + --target="${CHOST}" + + --disable-ctype + --disable-jemalloc + --disable-smoosh + --disable-strip + + --enable-readline + --enable-release + --enable-shared-js + + --with-intl-api + --with-system-icu + --with-system-nspr + --with-system-zlib + --with-toolchain-prefix="${CHOST}-" + + $(use_enable debug) + $(use_enable jit) + $(use_enable test tests) + ) + + if use debug; then + myeconfargs+=( --disable-optimize ) + myeconfargs+=( --enable-debug-symbols ) + else + myeconfargs+=( --enable-optimize ) + myeconfargs+=( --disable-debug-symbols ) + fi + + # Always troubling with newer rust versions. + myeconfargs+=( --disable-rust-simd ) + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + myeconfargs+=( --with-fpu=neon ) + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + myeconfargs+=( --with-thumb=yes ) + myeconfargs+=( --with-thumb-interwork=no ) + fi + fi + + # Tell build system that we want to use LTO + if use lto ; then + if use clang ; then + myeconfargs+=( --enable-linker=lld ) + myeconfargs+=( --enable-lto=cross ) + else + myeconfargs+=( --enable-linker=bfd ) + myeconfargs+=( --enable-lto=full ) + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Show flags we will use + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + # Forcing system-icu allows us to skip patching bundled ICU for PPC + # and other minor arches + ECONF_SOURCE="${S}" \ + econf \ + ${myeconfargs[@]} \ + XARGS="${EPREFIX}/usr/bin/xargs" +} + +src_compile() { + cd "${MOZJS_BUILDDIR}" || die + default +} + +src_test() { + if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die + + if [[ $(tc-endian) == "big" ]] ; then + echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list + echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list + echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list + fi + + if use ppc; then + echo "non262/Array/fill.js" >> "${T}"/known_failures.list + echo "non262/Array/sort_basics.js" >> "${T}"/known_failures.list + echo "non262/Symbol/typed-arrays.js" >> "${T}"/known_failures.list + echo "non262/Intl/TypedArray/toLocaleString.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/entries.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/fill.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/map-species.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/iterator.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/reverse.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/join.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/sort_comparators.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/forEach.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/slice.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/sort_compare_nan.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/set-toobject.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/sort-non-function.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/includes.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/subarray-species.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/indexOf-never-returns-negative-zero.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/map-and-filter.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/at.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/from_errors.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/values.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/set-wrapped.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/every-and-some.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/from_mapping.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/lastIndexOf-never-returns-negative-zero.js" >> "${T}"/known_failures.list + echo "non262/Reflect/preventExtensions.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/sort_sorted.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/of.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/keys.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/from_realms.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/from_iterable.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/filter-species.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/object-defineproperty.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/uint8clamped-constructor.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/indexOf-and-lastIndexOf.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/slice-species.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/set-tointeger.js" >> "${T}"/known_failures.list + echo "non262/Reflect/ownKeys.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/seal-and-freeze.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/reduce-and-reduceRight.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/from_basics.js" >> "${T}"/known_failures.list + echo "non262/TypedArray/find-and-findIndex.js" >> "${T}"/known_failures.list + echo "non262/Reflect/isExtensible.js" >> "${T}"/known_failures.list + echo "non262/regress/regress-571014.js" >> "${T}"/known_failures.list + echo "non262/extensions/reviver-mutates-holder-object-nonnative.js" >> "${T}"/known_failures.list + echo "non262/extensions/typedarray-set-neutering.js" >> "${T}"/known_failures.list + echo "non262/extensions/reviver-mutates-holder-array-nonnative.js" >> "${T}"/known_failures.list + echo "non262/extensions/typedarray.js" >> "${T}"/known_failures.list + echo "non262/Math/fround.js" >> "${T}"/known_failures.list + fi + + if use x86 ; then + echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list + echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list + echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list + echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list + fi + + ${EPYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js \ + || die + + if use jit ; then + ${EPYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js basic \ + || die + fi +} + +src_install() { + cd "${MOZJS_BUILDDIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs \ + || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \ + || die +} diff --git a/dev-lang/spidermonkey/spidermonkey-102.15.0.ebuild b/dev-lang/spidermonkey/spidermonkey-102.15.0.ebuild deleted file mode 100644 index b1ab05478ed6..000000000000 --- a/dev-lang/spidermonkey/spidermonkey-102.15.0.ebuild +++ /dev/null @@ -1,489 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -# Patch version -FIREFOX_PATCHSET="firefox-102esr-patches-13.tar.xz" -SPIDERMONKEY_PATCHSET="spidermonkey-102-patches-05j.tar.xz" - -LLVM_MAX_SLOT=17 - -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE="ssl,xml(+)" - -WANT_AUTOCONF="2.1" - -inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs - -MY_PN="mozjs" -MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases - -MY_MAJOR=$(ver_cut 1) - -MOZ_ESR=yes - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="firefox" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~{juippis,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET} - https://dev.gentoo.org/~{juippis,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" -HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html " - -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv x86" - -SLOT="$(ver_cut 1)" -LICENSE="MPL-2.0" -IUSE="clang cpu_flags_arm_neon debug +jit lto test" - -#RESTRICT="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 ) - ) - ) - ) - !clang? ( virtual/rust ) - virtual/pkgconfig - test? ( - $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') - )" -DEPEND=">=dev-libs/icu-71.1:= - dev-libs/nspr - sys-libs/readline:0= - sys-libs/zlib" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/firefox-${MY_PV}/js/src" - -llvm_check_deps() { - if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then - einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang ; then - 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 - 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 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -python_check_deps() { - if use test ; then - python_has_version "dev-python/six[${PYTHON_USEDEP}]" - fi -} - -pkg_pretend() { - if use test ; then - CHECKREQS_DISK_BUILD="4000M" - else - CHECKREQS_DISK_BUILD="3600M" - fi - - check-reqs_pkg_pretend -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use test ; then - CHECKREQS_DISK_BUILD="4000M" - else - CHECKREQS_DISK_BUILD="3600M" - fi - - check-reqs_pkg_setup - - llvm_pkg_setup - - if use clang && use lto ; 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})!" - fi - fi - - python-any-r1_pkg_setup - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi -} - -src_prepare() { - pushd ../.. &>/dev/null || die - - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch - - eapply "${WORKDIR}"/firefox-patches - eapply "${WORKDIR}"/spidermonkey-patches - - default - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - python/mozbuild/mozbuild/configure/check_debug_ranges.py \ - || die "sed failed to set toolchain prefix" - - # use prefix shell in wrapper linker scripts, bug #789660 - hprefixify "${S}"/../../build/cargo-{,host-}linker - - einfo "Removing pre-built binaries ..." - find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - MOZJS_BUILDDIR="${WORKDIR}/build" - mkdir "${MOZJS_BUILDDIR}" || die - - popd &>/dev/null || die - eautoconf -} - -src_configure() { - # Show flags set at the beginning - einfo "Current CFLAGS: ${CFLAGS}" - einfo "Current CXXFLAGS: ${CXXFLAGS}" - einfo "Current LDFLAGS: ${LDFLAGS}" - einfo "Current RUSTFLAGS: ${RUSTFLAGS}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - if tc-is-gcc; then - have_switched_compiler=yes - fi - AR=llvm-ar - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG - - cd "${MOZJS_BUILDDIR}" || die - - # ../python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - local -a myeconfargs=( - --host="${CBUILD:-${CHOST}}" - --target="${CHOST}" - - --disable-ctype - --disable-jemalloc - --disable-smoosh - --disable-strip - - --enable-readline - --enable-release - --enable-shared-js - - --with-intl-api - --with-system-icu - --with-system-nspr - --with-system-zlib - --with-toolchain-prefix="${CHOST}-" - - $(use_enable debug) - $(use_enable jit) - $(use_enable test tests) - ) - - if use debug; then - myeconfargs+=( --disable-optimize ) - myeconfargs+=( --enable-debug-symbols ) - else - myeconfargs+=( --enable-optimize ) - myeconfargs+=( --disable-debug-symbols ) - fi - - # Always troubling with newer rust versions. - myeconfargs+=( --disable-rust-simd ) - - # Modifications to better support ARM, bug 717344 - if use cpu_flags_arm_neon ; then - myeconfargs+=( --with-fpu=neon ) - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - myeconfargs+=( --with-thumb=yes ) - myeconfargs+=( --with-thumb-interwork=no ) - fi - fi - - # Tell build system that we want to use LTO - if use lto ; then - if use clang ; then - myeconfargs+=( --enable-linker=lld ) - myeconfargs+=( --enable-lto=cross ) - else - myeconfargs+=( --enable-linker=bfd ) - myeconfargs+=( --enable-lto=full ) - fi - fi - - # LTO flag was handled via configure - filter-lto - - # Use system's Python environment - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - # Show flags we will use - einfo "Build CFLAGS: ${CFLAGS}" - einfo "Build CXXFLAGS: ${CXXFLAGS}" - einfo "Build LDFLAGS: ${LDFLAGS}" - einfo "Build RUSTFLAGS: ${RUSTFLAGS}" - - # Forcing system-icu allows us to skip patching bundled ICU for PPC - # and other minor arches - ECONF_SOURCE="${S}" \ - econf \ - ${myeconfargs[@]} \ - XARGS="${EPREFIX}/usr/bin/xargs" -} - -src_compile() { - cd "${MOZJS_BUILDDIR}" || die - default -} - -src_test() { - if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then - einfo "Smoke-test successful, continuing with full test suite" - else - die "Smoke-test failed: did interpreter initialization fail?" - fi - - cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die - - if [[ $(tc-endian) == "big" ]] ; then - echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list - echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list - echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list - fi - - if use ppc; then - echo "non262/Array/fill.js" >> "${T}"/known_failures.list - echo "non262/Array/sort_basics.js" >> "${T}"/known_failures.list - echo "non262/Symbol/typed-arrays.js" >> "${T}"/known_failures.list - echo "non262/Intl/TypedArray/toLocaleString.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/entries.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/fill.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/map-species.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/iterator.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/reverse.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/join.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/sort_comparators.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/forEach.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/slice.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/sort_compare_nan.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/set-toobject.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/sort-non-function.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/includes.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/subarray-species.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/indexOf-never-returns-negative-zero.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/map-and-filter.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/at.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/from_errors.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/values.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/set-wrapped.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/every-and-some.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/from_mapping.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/lastIndexOf-never-returns-negative-zero.js" >> "${T}"/known_failures.list - echo "non262/Reflect/preventExtensions.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/sort_sorted.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/of.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/keys.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/from_realms.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/from_iterable.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/filter-species.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/object-defineproperty.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/uint8clamped-constructor.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/indexOf-and-lastIndexOf.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/slice-species.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/set-tointeger.js" >> "${T}"/known_failures.list - echo "non262/Reflect/ownKeys.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/seal-and-freeze.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/reduce-and-reduceRight.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/from_basics.js" >> "${T}"/known_failures.list - echo "non262/TypedArray/find-and-findIndex.js" >> "${T}"/known_failures.list - echo "non262/Reflect/isExtensible.js" >> "${T}"/known_failures.list - echo "non262/regress/regress-571014.js" >> "${T}"/known_failures.list - echo "non262/extensions/reviver-mutates-holder-object-nonnative.js" >> "${T}"/known_failures.list - echo "non262/extensions/typedarray-set-neutering.js" >> "${T}"/known_failures.list - echo "non262/extensions/reviver-mutates-holder-array-nonnative.js" >> "${T}"/known_failures.list - echo "non262/extensions/typedarray.js" >> "${T}"/known_failures.list - echo "non262/Math/fround.js" >> "${T}"/known_failures.list - fi - - if use x86 ; then - echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list - echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list - echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list - echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list - fi - - ${EPYTHON} \ - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ - --exclude-file="${T}"/known_failures.list \ - "${MOZJS_BUILDDIR}"/js/src/js \ - || die - - if use jit ; then - ${EPYTHON} \ - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ - --exclude-file="${T}"/known_failures.list \ - "${MOZJS_BUILDDIR}"/js/src/js basic \ - || die - fi -} - -src_install() { - cd "${MOZJS_BUILDDIR}" || die - default - - # fix soname links - pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die - mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die - popd &>/dev/null || die - - # remove unneeded files - rm \ - "${ED}"/usr/bin/js${MY_MAJOR}-config \ - "${ED}"/usr/$(get_libdir)/libjs_static.ajs \ - || die - - # fix permissions - chmod -x \ - "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ - "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \ - || die -} diff --git a/dev-lang/spidermonkey/spidermonkey-115.16.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-115.16.0-r1.ebuild new file mode 100644 index 000000000000..b1444fb6dae3 --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-115.16.0-r1.ebuild @@ -0,0 +1,473 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +# Patch version +FIREFOX_PATCHSET="firefox-115esr-patches-13.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-02.tar.xz" + +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-r1 multiprocessing prefix python-any-r1 rust toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" + +DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html " + +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" + +SLOT="$(ver_cut 1)" +LICENSE="MPL-2.0" +IUSE="clang cpu_flags_arm_neon debug +jit lto test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + virtual/pkgconfig + $(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}]') + )" +DEPEND=">=dev-libs/icu-73.1:= + dev-libs/nspr + sys-libs/readline:0= + sys-libs/zlib" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/firefox-${MY_PV}/js/src" + +llvm_check_deps() { + if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then + einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + + if use clang ; then + 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 + 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 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily +# placed here until toolchain-funcs.eclass gets an official support for mold linker. +# Please see: +# https://github.com/gentoo/gentoo/pull/28366 || +# https://github.com/gentoo/gentoo/pull/28355 +tc-ld-is-mold() { + local out + + # Ensure ld output is in English. + local -x LC_ALL=C + + # First check the linker directly. + out=$($(tc-getLD "$@") --version 2>&1) + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # Then see if they're selecting mold via compiler flags. + # Note: We're assuming they're using LDFLAGS to hold the + # options and not CFLAGS/CXXFLAGS. + local base="${T}/test-tc-linker" + cat <<-EOF > "${base}.c" + int main() { return 0; } + EOF + out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) + rm -f "${base}"* + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # No mold here! + return 1 +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="4000M" + else + CHECKREQS_DISK_BUILD="3600M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use test ; then + CHECKREQS_DISK_BUILD="4000M" + else + CHECKREQS_DISK_BUILD="3600M" + fi + + 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 }') + [[ -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})!" + fi + fi + + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_prepare() { + pushd ../.. &>/dev/null || die + + use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch + + if ! use ppc64; then + rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die + fi + + # Workaround for bgo #915651,915651,929013 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo #915651,915651,929013 on musl + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + # use prefix shell in wrapper linker scripts, bug #789660 + hprefixify "${S}"/../../build/cargo-{,host-}linker + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + MOZJS_BUILDDIR="${WORKDIR}/build" + mkdir "${MOZJS_BUILDDIR}" || die + + popd &>/dev/null || die +} + +src_configure() { + # Show flags set at the beginning + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG + + cd "${MOZJS_BUILDDIR}" || die + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + local -a myeconfargs=( + --host="${CBUILD:-${CHOST}}" + --target="${CHOST}" + + --disable-ctype + --disable-jemalloc + --disable-smoosh + --disable-strip + + --enable-project=js + --enable-readline + --enable-release + --enable-shared-js + + --with-intl-api + --with-system-icu + --with-system-nspr + --with-system-zlib + --with-toolchain-prefix="${CHOST}-" + + $(use_enable debug) + $(use_enable jit) + $(use_enable test tests) + ) + + if use debug; then + myeconfargs+=( --disable-optimize ) + myeconfargs+=( --enable-debug-symbols ) + myeconfargs+=( --enable-real-time-tracing ) + else + myeconfargs+=( --enable-optimize ) + myeconfargs+=( --disable-debug-symbols ) + myeconfargs+=( --disable-real-time-tracing ) + fi + + # We always end up disabling this at some point due to newer rust versions. bgo#933372 + myeconfargs+=( --disable-rust-simd ) + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + myeconfargs+=( --with-fpu=neon ) + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + myeconfargs+=( --with-thumb=yes ) + myeconfargs+=( --with-thumb-interwork=no ) + fi + fi + + # Tell build system that we want to use LTO + if use lto ; then + if use clang ; then + if tc-ld-is-mold ; then + myeconfargs+=( --enable-linker=mold ) + else + myeconfargs+=( --enable-linker=lld ) + fi + myeconfargs+=( --enable-lto=cross ) + + else + myeconfargs+=( --enable-linker=bfd ) + myeconfargs+=( --enable-lto=full ) + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Show flags we will use + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + # Forcing system-icu allows us to skip patching bundled ICU for PPC + # and other minor arches + ECONF_SOURCE="${S}" \ + econf \ + ${myeconfargs[@]} \ + XARGS="${EPREFIX}/usr/bin/xargs" +} + +src_compile() { + cd "${MOZJS_BUILDDIR}" || die + default +} + +src_test() { + if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die + + if use sparc ; then + echo "non262/Array/regress-157652.js" >> "${T}"/known_failures.list + echo "non262/regress/regress-422348.js" >> "${T}"/known_failures.list + echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list + fi + + if use x86 ; then + echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list + echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list + echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list + echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list + fi + + ${EPYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js \ + || die + + if use jit ; then + ${EPYTHON} \ + "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ + --exclude-file="${T}"/known_failures.list \ + "${MOZJS_BUILDDIR}"/js/src/js basic \ + || die + fi +} + +src_install() { + cd "${MOZJS_BUILDDIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs \ + || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \ + || die +} diff --git a/dev-lang/spidermonkey/spidermonkey-115.16.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.16.0.ebuild deleted file mode 100644 index ec49a5bdada9..000000000000 --- a/dev-lang/spidermonkey/spidermonkey-115.16.0.ebuild +++ /dev/null @@ -1,509 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -# Patch version -FIREFOX_PATCHSET="firefox-115esr-patches-13.tar.xz" -SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-02.tar.xz" - -LLVM_MAX_SLOT=18 - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,ssl,xml(+)" - -WANT_AUTOCONF="2.1" - -inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs - -MY_PN="mozjs" -MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases - -MY_MAJOR=$(ver_cut 1) - -MOZ_ESR=yes - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="firefox" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} - https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" -HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html " - -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86" - -SLOT="$(ver_cut 1)" -LICENSE="MPL-2.0" -IUSE="clang cpu_flags_arm_neon debug +jit lto test" - -#RESTRICT="test" -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 - &2 - return 1 - fi - - if use clang ; then - 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 - 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 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -python_check_deps() { - if use test ; then - python_has_version "dev-python/six[${PYTHON_USEDEP}]" - fi -} - -# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily -# placed here until toolchain-funcs.eclass gets an official support for mold linker. -# Please see: -# https://github.com/gentoo/gentoo/pull/28366 || -# https://github.com/gentoo/gentoo/pull/28355 -tc-ld-is-mold() { - local out - - # Ensure ld output is in English. - local -x LC_ALL=C - - # First check the linker directly. - out=$($(tc-getLD "$@") --version 2>&1) - if [[ ${out} == *"mold"* ]] ; then - return 0 - fi - - # Then see if they're selecting mold via compiler flags. - # Note: We're assuming they're using LDFLAGS to hold the - # options and not CFLAGS/CXXFLAGS. - local base="${T}/test-tc-linker" - cat <<-EOF > "${base}.c" - int main() { return 0; } - EOF - out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) - rm -f "${base}"* - if [[ ${out} == *"mold"* ]] ; then - return 0 - fi - - # No mold here! - return 1 -} - -pkg_pretend() { - if use test ; then - CHECKREQS_DISK_BUILD="4000M" - else - CHECKREQS_DISK_BUILD="3600M" - fi - - check-reqs_pkg_pretend -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use test ; then - CHECKREQS_DISK_BUILD="4000M" - else - CHECKREQS_DISK_BUILD="3600M" - fi - - check-reqs_pkg_setup - - llvm_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})!" - fi - fi - - python-any-r1_pkg_setup - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi -} - -src_prepare() { - pushd ../.. &>/dev/null || die - - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch - - if ! use ppc64; then - rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die - fi - - # Workaround for bgo #915651,915651,929013 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}"/firefox-patches - eapply "${WORKDIR}"/spidermonkey-patches - - default - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo #915651,915651,929013 on musl - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - python/mozbuild/mozbuild/configure/check_debug_ranges.py \ - || die "sed failed to set toolchain prefix" - - # use prefix shell in wrapper linker scripts, bug #789660 - hprefixify "${S}"/../../build/cargo-{,host-}linker - - einfo "Removing pre-built binaries ..." - find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - MOZJS_BUILDDIR="${WORKDIR}/build" - mkdir "${MOZJS_BUILDDIR}" || die - - popd &>/dev/null || die -} - -src_configure() { - # Show flags set at the beginning - einfo "Current CFLAGS: ${CFLAGS}" - einfo "Current CXXFLAGS: ${CXXFLAGS}" - einfo "Current LDFLAGS: ${LDFLAGS}" - einfo "Current RUSTFLAGS: ${RUSTFLAGS}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG - - cd "${MOZJS_BUILDDIR}" || die - - # ../python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - local -a myeconfargs=( - --host="${CBUILD:-${CHOST}}" - --target="${CHOST}" - - --disable-ctype - --disable-jemalloc - --disable-smoosh - --disable-strip - - --enable-project=js - --enable-readline - --enable-release - --enable-shared-js - - --with-intl-api - --with-system-icu - --with-system-nspr - --with-system-zlib - --with-toolchain-prefix="${CHOST}-" - - $(use_enable debug) - $(use_enable jit) - $(use_enable test tests) - ) - - if use debug; then - myeconfargs+=( --disable-optimize ) - myeconfargs+=( --enable-debug-symbols ) - myeconfargs+=( --enable-real-time-tracing ) - else - myeconfargs+=( --enable-optimize ) - myeconfargs+=( --disable-debug-symbols ) - myeconfargs+=( --disable-real-time-tracing ) - fi - - # We always end up disabling this at some point due to newer rust versions. bgo#933372 - myeconfargs+=( --disable-rust-simd ) - - # Modifications to better support ARM, bug 717344 - if use cpu_flags_arm_neon ; then - myeconfargs+=( --with-fpu=neon ) - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - myeconfargs+=( --with-thumb=yes ) - myeconfargs+=( --with-thumb-interwork=no ) - fi - fi - - # Tell build system that we want to use LTO - if use lto ; then - if use clang ; then - if tc-ld-is-mold ; then - myeconfargs+=( --enable-linker=mold ) - else - myeconfargs+=( --enable-linker=lld ) - fi - myeconfargs+=( --enable-lto=cross ) - - else - myeconfargs+=( --enable-linker=bfd ) - myeconfargs+=( --enable-lto=full ) - fi - fi - - # LTO flag was handled via configure - filter-lto - - # Use system's Python environment - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - # Show flags we will use - einfo "Build CFLAGS: ${CFLAGS}" - einfo "Build CXXFLAGS: ${CXXFLAGS}" - einfo "Build LDFLAGS: ${LDFLAGS}" - einfo "Build RUSTFLAGS: ${RUSTFLAGS}" - - # Forcing system-icu allows us to skip patching bundled ICU for PPC - # and other minor arches - ECONF_SOURCE="${S}" \ - econf \ - ${myeconfargs[@]} \ - XARGS="${EPREFIX}/usr/bin/xargs" -} - -src_compile() { - cd "${MOZJS_BUILDDIR}" || die - default -} - -src_test() { - if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then - einfo "Smoke-test successful, continuing with full test suite" - else - die "Smoke-test failed: did interpreter initialization fail?" - fi - - cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die - - if use sparc ; then - echo "non262/Array/regress-157652.js" >> "${T}"/known_failures.list - echo "non262/regress/regress-422348.js" >> "${T}"/known_failures.list - echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list - fi - - if use x86 ; then - echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list - echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list - echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list - echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list - fi - - ${EPYTHON} \ - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ - --exclude-file="${T}"/known_failures.list \ - "${MOZJS_BUILDDIR}"/js/src/js \ - || die - - if use jit ; then - ${EPYTHON} \ - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ - --exclude-file="${T}"/known_failures.list \ - "${MOZJS_BUILDDIR}"/js/src/js basic \ - || die - fi -} - -src_install() { - cd "${MOZJS_BUILDDIR}" || die - default - - # fix soname links - pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die - mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die - popd &>/dev/null || die - - # remove unneeded files - rm \ - "${ED}"/usr/bin/js${MY_MAJOR}-config \ - "${ED}"/usr/$(get_libdir)/libjs_static.ajs \ - || die - - # fix permissions - chmod -x \ - "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ - "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \ - || die -} diff --git a/dev-lang/spidermonkey/spidermonkey-128.3.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-128.3.0-r1.ebuild new file mode 100644 index 000000000000..9b70f62cf9c9 --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-128.3.0-r1.ebuild @@ -0,0 +1,480 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +FIREFOX_PATCHSET="firefox-128esr-patches-03.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-02.tar.xz" + +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 rust toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +DESCRIPTION="Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +LICENSE="MPL-2.0" +SLOT="$(ver_cut 1)" +IUSE="clang cpu_flags_arm_neon debug +jit lto test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + clang? ( + sys-devel/clang:${LLVM_SLOT} + sys-devel/lld:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ) + ') + >=dev-util/cbindgen-0.26.0 + virtual/pkgconfig + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" +DEPEND=">=dev-libs/icu-73.1:= + dev-libs/nspr + sys-libs/readline:0= + sys-libs/zlib" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/firefox-${PV%_*}" + +llvm_check_deps() { + if use clang ; then + 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 + return 1 + fi + + if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then + einfo "sys-devel/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 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + 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 }') + [[ -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})!" + fi + fi + + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_prepare() { + if use lto ; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo #915651,915651,929013 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo #915651,915651,929013 on musl + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py || + die "sed failed to set toolchain prefix" + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + READELF=llvm-readelf + OBJDUMP=llvm-objdump + + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + READELF=readelf + OBJDUMP=objdump + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-project=js + + mozconfig_add_options_ac 'Gentoo default' \ + --host="${CBUILD:-${CHOST}}" \ + --target="${CHOST}" \ + --disable-ctype \ + --disable-jemalloc \ + --disable-smoosh \ + --disable-strip \ + --enable-readline \ + --enable-release \ + --enable-shared-js \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --with-intl-api \ + --with-system-icu \ + --with-system-nspr \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + mozconfig_use_enable debug + mozconfig_use_enable jit + mozconfig_use_enable test tests + + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-debug-symbols + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac '-debug' --enable-optimize + mozconfig_add_options_ac '-debug' --disable-debug-symbols + mozconfig_add_options_ac '-debug' --disable-real-time-tracing + fi + + # We always end up disabling this at some point due to newer rust versions. bgo#933372 + mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb=yes + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb-interwork=no + fi + fi + + # Tell build system that we want to use LTO + if use lto ; then + if use clang ; then + if tc-ld-is-mold ; then + mozconfig_add_options_ac '+lto' --enable-linker=mold + else + mozconfig_add_options_ac '+lto' --enable-linker=lld + fi + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + mozconfig_add_options_ac '+lto' --enable-linker=bfd + mozconfig_add_options_ac '+lto' --enable-lto=full + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Pass MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + ./mach configure || die +} + +src_compile() { + ./mach build --verbose || die +} + +src_test() { + if "${BUILD_DIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_test_failures.list || die + + if use x86 ; then + echo "non262/Intl/DateTimeFormat/timeZone_version.js" >> "${T}"/known_test_failures.list + echo "test262/intl402/Locale/constructor-non-iana-canon.js" >> "${T}"/known_test_failures.list + fi + + ./mach jstests --exclude-file="${T}"/known_test_failures.list || die +} + +src_install() { + cd "${BUILD_DIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h || die +} diff --git a/dev-lang/spidermonkey/spidermonkey-128.3.0.ebuild b/dev-lang/spidermonkey/spidermonkey-128.3.0.ebuild deleted file mode 100644 index 77e9e3247dbd..000000000000 --- a/dev-lang/spidermonkey/spidermonkey-128.3.0.ebuild +++ /dev/null @@ -1,485 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -FIREFOX_PATCHSET="firefox-128esr-patches-03.tar.xz" -SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-02.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -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 - -MY_PN="mozjs" -MY_PV="${PV/_pre*}" - -MY_MAJOR=$(ver_cut 1) - -MOZ_ESR=yes - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="firefox" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} - https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} -) - -DESCRIPTION="Mozilla's JavaScript engine written in C and C++" -HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html" -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" - -LICENSE="MPL-2.0" -SLOT="$(ver_cut 1)" -IUSE="clang cpu_flags_arm_neon debug +jit lto test" - -#RESTRICT="test" -RESTRICT="!test? ( test )" - -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - clang? ( - 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? ( - $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') - )" -DEPEND=">=dev-libs/icu-73.1:= - dev-libs/nspr - sys-libs/readline:0= - sys-libs/zlib" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/firefox-${PV%_*}" - -llvm_check_deps() { - if use clang ; then - 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 - return 1 - fi - - if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then - einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - 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 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -python_check_deps() { - if use test ; then - python_has_version "dev-python/six[${PYTHON_USEDEP}]" - fi -} - -pkg_pretend() { - if use test ; then - CHECKREQS_DISK_BUILD="4400M" - else - CHECKREQS_DISK_BUILD="4300M" - fi - - check-reqs_pkg_pretend -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use test ; then - CHECKREQS_DISK_BUILD="4400M" - else - CHECKREQS_DISK_BUILD="4300M" - fi - - 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})!" - fi - fi - - python-any-r1_pkg_setup - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi -} - -src_prepare() { - if use lto ; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo #915651,915651,929013 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}"/firefox-patches - eapply "${WORKDIR}"/spidermonkey-patches - - default - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo #915651,915651,929013 on musl - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - elif use arm64 ; then - export RUST_TARGET="aarch64-unknown-linux-musl" - elif use ppc64 ; then - export RUST_TARGET="powerpc64le-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - python/mozbuild/mozbuild/configure/check_debug_ranges.py || - die "sed failed to set toolchain prefix" - - einfo "Removing pre-built binaries ..." - find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS: ${CFLAGS}" - einfo "Current CXXFLAGS: ${CXXFLAGS}" - einfo "Current LDFLAGS: ${LDFLAGS}" - einfo "Current RUSTFLAGS: ${RUSTFLAGS}" - - local have_switched_compiler= - if use clang ; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - READELF=llvm-readelf - OBJDUMP=llvm-objdump - - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - READELF=readelf - OBJDUMP=objdump - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # ../python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-project=js - - mozconfig_add_options_ac 'Gentoo default' \ - --host="${CBUILD:-${CHOST}}" \ - --target="${CHOST}" \ - --disable-ctype \ - --disable-jemalloc \ - --disable-smoosh \ - --disable-strip \ - --enable-readline \ - --enable-release \ - --enable-shared-js \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --with-intl-api \ - --with-system-icu \ - --with-system-nspr \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - mozconfig_use_enable debug - mozconfig_use_enable jit - mozconfig_use_enable test tests - - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-debug-symbols - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac '-debug' --enable-optimize - mozconfig_add_options_ac '-debug' --disable-debug-symbols - mozconfig_add_options_ac '-debug' --disable-real-time-tracing - fi - - # We always end up disabling this at some point due to newer rust versions. bgo#933372 - mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd - - # Modifications to better support ARM, bug 717344 - if use cpu_flags_arm_neon ; then - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb=yes - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb-interwork=no - fi - fi - - # Tell build system that we want to use LTO - if use lto ; then - if use clang ; then - if tc-ld-is-mold ; then - mozconfig_add_options_ac '+lto' --enable-linker=mold - else - mozconfig_add_options_ac '+lto' --enable-linker=lld - fi - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - mozconfig_add_options_ac '+lto' --enable-linker=bfd - mozconfig_add_options_ac '+lto' --enable-lto=full - fi - fi - - # LTO flag was handled via configure - filter-lto - - # Pass MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS: ${CFLAGS}" - einfo "Build CXXFLAGS: ${CXXFLAGS}" - einfo "Build LDFLAGS: ${LDFLAGS}" - einfo "Build RUSTFLAGS: ${RUSTFLAGS}" - - ./mach configure || die -} - -src_compile() { - ./mach build --verbose || die -} - -src_test() { - if "${BUILD_DIR}/js/src/js" -e 'print("Hello world!")'; then - einfo "Smoke-test successful, continuing with full test suite" - else - die "Smoke-test failed: did interpreter initialization fail?" - fi - - cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_test_failures.list || die - - if use x86 ; then - echo "non262/Intl/DateTimeFormat/timeZone_version.js" >> "${T}"/known_test_failures.list - echo "test262/intl402/Locale/constructor-non-iana-canon.js" >> "${T}"/known_test_failures.list - fi - - ./mach jstests --exclude-file="${T}"/known_test_failures.list || die -} - -src_install() { - cd "${BUILD_DIR}" || die - default - - # fix soname links - pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die - mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die - popd &>/dev/null || die - - # remove unneeded files - rm \ - "${ED}"/usr/bin/js${MY_MAJOR}-config \ - "${ED}"/usr/$(get_libdir)/libjs_static.ajs || die - - # fix permissions - chmod -x \ - "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ - "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h || die -} diff --git a/dev-lang/spidermonkey/spidermonkey-128.4.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-128.4.0-r1.ebuild new file mode 100644 index 000000000000..0bf52dabea6e --- /dev/null +++ b/dev-lang/spidermonkey/spidermonkey-128.4.0-r1.ebuild @@ -0,0 +1,478 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +FIREFOX_PATCHSET="firefox-128esr-patches-04.tar.xz" +SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-02.tar.xz" + +LLVM_COMPAT=( 17 18 19 ) + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="ncurses,ssl,xml(+)" + +WANT_AUTOCONF="2.1" + +inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust toolchain-funcs + +MY_PN="mozjs" +MY_PV="${PV/_pre*}" + +MY_MAJOR=$(ver_cut 1) + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="firefox" +MOZ_P="${MOZ_PN}-${MOZ_PV}" +MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" +MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" + +MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} + https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} +) + +DESCRIPTION="Mozilla's JavaScript engine written in C and C++" +HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" + +LICENSE="MPL-2.0" +SLOT="$(ver_cut 1)" +IUSE="clang cpu_flags_arm_neon debug +jit lto test" + +#RESTRICT="test" +RESTRICT="!test? ( test )" + +BDEPEND="${PYTHON_DEPS} + $(llvm_gen_dep ' + clang? ( + sys-devel/clang:${LLVM_SLOT} + sys-devel/lld:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ) + ') + >=dev-util/cbindgen-0.26.0 + virtual/pkgconfig + test? ( + $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') + )" +DEPEND=">=dev-libs/icu-73.1:= + dev-libs/nspr + sys-libs/readline:0= + sys-libs/zlib" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/firefox-${PV%_*}" + +llvm_check_deps() { + if use clang ; then + 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 + return 1 + fi + + if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then + einfo "sys-devel/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 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +python_check_deps() { + if use test ; then + python_has_version "dev-python/six[${PYTHON_USEDEP}]" + fi +} + +pkg_pretend() { + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + check-reqs_pkg_pretend +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use test ; then + CHECKREQS_DISK_BUILD="4400M" + else + CHECKREQS_DISK_BUILD="4300M" + fi + + 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 }') + [[ -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})!" + fi + fi + + python-any-r1_pkg_setup + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_prepare() { + if use lto ; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo #915651,915651,929013 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}"/firefox-patches + eapply "${WORKDIR}"/spidermonkey-patches + + default + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo #915651,915651,929013 on musl + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + python/mozbuild/mozbuild/configure/check_debug_ranges.py || + die "sed failed to set toolchain prefix" + + einfo "Removing pre-built binaries ..." + find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS: ${CFLAGS}" + einfo "Current CXXFLAGS: ${CXXFLAGS}" + einfo "Current LDFLAGS: ${LDFLAGS}" + einfo "Current RUSTFLAGS: ${RUSTFLAGS}" + + local have_switched_compiler= + if use clang ; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + READELF=llvm-readelf + OBJDUMP=llvm-objdump + + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + READELF=readelf + OBJDUMP=objdump + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # ../python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-project=js + + mozconfig_add_options_ac 'Gentoo default' \ + --host="${CBUILD:-${CHOST}}" \ + --target="${CHOST}" \ + --disable-ctype \ + --disable-jemalloc \ + --disable-smoosh \ + --disable-strip \ + --enable-readline \ + --enable-release \ + --enable-shared-js \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --with-intl-api \ + --with-system-icu \ + --with-system-nspr \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + mozconfig_use_enable debug + mozconfig_use_enable jit + mozconfig_use_enable test tests + + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-debug-symbols + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac '-debug' --enable-optimize + mozconfig_add_options_ac '-debug' --disable-debug-symbols + mozconfig_add_options_ac '-debug' --disable-real-time-tracing + fi + + # We always end up disabling this at some point due to newer rust versions. bgo#933372 + mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd + + # Modifications to better support ARM, bug 717344 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb=yes + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb-interwork=no + fi + fi + + # Tell build system that we want to use LTO + if use lto ; then + if use clang ; then + if tc-ld-is-mold ; then + mozconfig_add_options_ac '+lto' --enable-linker=mold + else + mozconfig_add_options_ac '+lto' --enable-linker=lld + fi + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + mozconfig_add_options_ac '+lto' --enable-linker=bfd + mozconfig_add_options_ac '+lto' --enable-lto=full + fi + fi + + # LTO flag was handled via configure + filter-lto + + # Pass MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS: ${CFLAGS}" + einfo "Build CXXFLAGS: ${CXXFLAGS}" + einfo "Build LDFLAGS: ${LDFLAGS}" + einfo "Build RUSTFLAGS: ${RUSTFLAGS}" + + ./mach configure || die +} + +src_compile() { + ./mach build --verbose || die +} + +src_test() { + if "${BUILD_DIR}/js/src/js" -e 'print("Hello world!")'; then + einfo "Smoke-test successful, continuing with full test suite" + else + die "Smoke-test failed: did interpreter initialization fail?" + fi + + cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_test_failures.list || die + + if use x86 ; then + echo "non262/Intl/DateTimeFormat/timeZone_version.js" >> "${T}"/known_test_failures.list + echo "test262/intl402/Locale/constructor-non-iana-canon.js" >> "${T}"/known_test_failures.list + fi + + ./mach jstests --exclude-file="${T}"/known_test_failures.list || die +} + +src_install() { + cd "${BUILD_DIR}" || die + default + + # fix soname links + pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die + mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die + ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die + popd &>/dev/null || die + + # remove unneeded files + rm \ + "${ED}"/usr/bin/js${MY_MAJOR}-config \ + "${ED}"/usr/$(get_libdir)/libjs_static.ajs || die + + # fix permissions + chmod -x \ + "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ + "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h || die +} diff --git a/dev-lang/spidermonkey/spidermonkey-128.4.0.ebuild b/dev-lang/spidermonkey/spidermonkey-128.4.0.ebuild deleted file mode 100644 index 3915902d6caa..000000000000 --- a/dev-lang/spidermonkey/spidermonkey-128.4.0.ebuild +++ /dev/null @@ -1,485 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="8" - -FIREFOX_PATCHSET="firefox-128esr-patches-04.tar.xz" -SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-02.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -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 - -MY_PN="mozjs" -MY_PV="${PV/_pre*}" - -MY_MAJOR=$(ver_cut 1) - -MOZ_ESR=yes - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="firefox" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} - https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} -) - -DESCRIPTION="Mozilla's JavaScript engine written in C and C++" -HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html" -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" - -LICENSE="MPL-2.0" -SLOT="$(ver_cut 1)" -IUSE="clang cpu_flags_arm_neon debug +jit lto test" - -#RESTRICT="test" -RESTRICT="!test? ( test )" - -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - clang? ( - 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? ( - $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') - )" -DEPEND=">=dev-libs/icu-73.1:= - dev-libs/nspr - sys-libs/readline:0= - sys-libs/zlib" -RDEPEND="${DEPEND}" - -S="${WORKDIR}/firefox-${PV%_*}" - -llvm_check_deps() { - if use clang ; then - 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 - return 1 - fi - - if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then - einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - 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 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -python_check_deps() { - if use test ; then - python_has_version "dev-python/six[${PYTHON_USEDEP}]" - fi -} - -pkg_pretend() { - if use test ; then - CHECKREQS_DISK_BUILD="4400M" - else - CHECKREQS_DISK_BUILD="4300M" - fi - - check-reqs_pkg_pretend -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use test ; then - CHECKREQS_DISK_BUILD="4400M" - else - CHECKREQS_DISK_BUILD="4300M" - fi - - 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})!" - fi - fi - - python-any-r1_pkg_setup - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi -} - -src_prepare() { - if use lto ; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo #915651,915651,929013 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}"/firefox-patches - eapply "${WORKDIR}"/spidermonkey-patches - - default - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo #915651,915651,929013 on musl - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - elif use arm64 ; then - export RUST_TARGET="aarch64-unknown-linux-musl" - elif use ppc64 ; then - export RUST_TARGET="powerpc64le-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - python/mozbuild/mozbuild/configure/check_debug_ranges.py || - die "sed failed to set toolchain prefix" - - einfo "Removing pre-built binaries ..." - find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS: ${CFLAGS}" - einfo "Current CXXFLAGS: ${CXXFLAGS}" - einfo "Current LDFLAGS: ${LDFLAGS}" - einfo "Current RUSTFLAGS: ${RUSTFLAGS}" - - local have_switched_compiler= - if use clang ; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - READELF=llvm-readelf - OBJDUMP=llvm-objdump - - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - READELF=readelf - OBJDUMP=objdump - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # ../python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-project=js - - mozconfig_add_options_ac 'Gentoo default' \ - --host="${CBUILD:-${CHOST}}" \ - --target="${CHOST}" \ - --disable-ctype \ - --disable-jemalloc \ - --disable-smoosh \ - --disable-strip \ - --enable-readline \ - --enable-release \ - --enable-shared-js \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --with-intl-api \ - --with-system-icu \ - --with-system-nspr \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - mozconfig_use_enable debug - mozconfig_use_enable jit - mozconfig_use_enable test tests - - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-debug-symbols - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac '-debug' --enable-optimize - mozconfig_add_options_ac '-debug' --disable-debug-symbols - mozconfig_add_options_ac '-debug' --disable-real-time-tracing - fi - - # We always end up disabling this at some point due to newer rust versions. bgo#933372 - mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd - - # Modifications to better support ARM, bug 717344 - if use cpu_flags_arm_neon ; then - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb=yes - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-thumb-interwork=no - fi - fi - - # Tell build system that we want to use LTO - if use lto ; then - if use clang ; then - if tc-ld-is-mold ; then - mozconfig_add_options_ac '+lto' --enable-linker=mold - else - mozconfig_add_options_ac '+lto' --enable-linker=lld - fi - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - mozconfig_add_options_ac '+lto' --enable-linker=bfd - mozconfig_add_options_ac '+lto' --enable-lto=full - fi - fi - - # LTO flag was handled via configure - filter-lto - - # Pass MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS: ${CFLAGS}" - einfo "Build CXXFLAGS: ${CXXFLAGS}" - einfo "Build LDFLAGS: ${LDFLAGS}" - einfo "Build RUSTFLAGS: ${RUSTFLAGS}" - - ./mach configure || die -} - -src_compile() { - ./mach build --verbose || die -} - -src_test() { - if "${BUILD_DIR}/js/src/js" -e 'print("Hello world!")'; then - einfo "Smoke-test successful, continuing with full test suite" - else - die "Smoke-test failed: did interpreter initialization fail?" - fi - - cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_test_failures.list || die - - if use x86 ; then - echo "non262/Intl/DateTimeFormat/timeZone_version.js" >> "${T}"/known_test_failures.list - echo "test262/intl402/Locale/constructor-non-iana-canon.js" >> "${T}"/known_test_failures.list - fi - - ./mach jstests --exclude-file="${T}"/known_test_failures.list || die -} - -src_install() { - cd "${BUILD_DIR}" || die - default - - # fix soname links - pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die - mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die - popd &>/dev/null || die - - # remove unneeded files - rm \ - "${ED}"/usr/bin/js${MY_MAJOR}-config \ - "${ED}"/usr/$(get_libdir)/libjs_static.ajs || die - - # fix permissions - chmod -x \ - "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ - "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h || die -} diff --git a/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild deleted file mode 100644 index ca74802f6de0..000000000000 --- a/dev-libs/dynolog/dynolog-0.3.1_p20230126-r2.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Partially auto-Generated by cargo-ebuild 0.5.4-r1 - -EAPI=8 - -CRATES=" - anyhow@1.0.75 - atty@0.2.14 - autocfg@1.1.0 - bitflags@1.3.2 - clap@3.2.25 - clap_derive@3.2.25 - clap_lex@0.2.4 - hashbrown@0.12.3 - heck@0.4.1 - hermit-abi@0.1.19 - indexmap@1.9.3 - itoa@1.0.9 - libc@0.2.150 - once_cell@1.18.0 - os_str_bytes@6.6.1 - proc-macro-error@1.0.4 - proc-macro-error-attr@1.0.4 - proc-macro2@1.0.70 - quote@1.0.33 - ryu@1.0.15 - serde@1.0.193 - serde_derive@1.0.193 - serde_json@1.0.108 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.39 - termcolor@1.4.0 - textwrap@0.16.0 - unicode-ident@1.0.12 - version_check@0.9.4 - winapi@0.3.9 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - winapi-x86_64-pc-windows-gnu@0.4.0 -" - -inherit cargo cmake - -DESCRIPTION="Performance monitoring daemon for heterogeneous CPU-GPU systems" -HOMEPAGE="https://github.com/facebookincubator/dynolog" -SRC_URI="https://dev.gentoo.org/~tupone/distfiles/${P}.tar.gz - ${CARGO_CRATE_URIS}" - -LICENSE="BSD Apache-2.0 Boost-1.0 MIT Unicode-DFS-2016 Unlicense" -SLOT="0" -KEYWORDS="~amd64" -IUSE="test" -RESTRICT="!test? ( test )" - -DEPEND="dev-cpp/gflags - dev-cpp/gtest - dev-cpp/glog - dev-libs/pfs - net-misc/curl" -RDEPEND="${DEPEND}" - -# Partially rust build -QA_FLAGS_IGNORED=/usr/bin/dyno - -PATCHES=( - "${FILESDIR}"/${P}-gcc13.patch - "${FILESDIR}"/${P}-unbundling.patch - "${FILESDIR}"/${P}-noWerror.patch - "${FILESDIR}"/${P}-riscv.patch - "${FILESDIR}"/${P}-musl.patch - "${FILESDIR}"/${P}-libcxx.patch - "${FILESDIR}"/${P}-gcc15.patch -) - -CMAKE_SKIP_TESTS=( "Defs.CpuSet" "KernelCollecterTest.NetworkStatsTest" ) - -src_prepare() { - sed -i \ - -e "s:__u64:ino_t:g" \ - hbt/src/common/System.h \ - || die - cmake_src_prepare - cmake_comment_add_subdirectory third_party/gflags - cmake_comment_add_subdirectory third_party/glog - cmake_comment_add_subdirectory third_party/pfs - rm -r third_party/googletest || die - rm -r third_party/pfs || die -} - -src_configure() { - local mycmakeargs=( - -DBUILD_SHARED_LIBS=OFF - -DCPR_FORCE_USE_SYSTEM_CURL=ON - -DBUILD_TESTS=$(usex test) - ) - cmake_src_configure - cd cli - cargo_src_configure -} - -src_compile() { - cmake_src_compile - cd cli - cargo_src_compile -} - -src_install() { - cmake_src_install - mkdir -p headers/dynolog/src/ipcfabric - cp dynolog/src/ipcfabric/FabricManager.h \ - headers/dynolog/src/ipcfabric || die - doheader -r dynolog - cd ../cli - cd cli - cargo_src_install - - dobin "${BUILD_DIR}"/${PN}/src/${PN} -} diff --git a/dev-libs/dynolog/dynolog-0.3.1_p20230126-r3.ebuild b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r3.ebuild new file mode 100644 index 000000000000..ca74802f6de0 --- /dev/null +++ b/dev-libs/dynolog/dynolog-0.3.1_p20230126-r3.ebuild @@ -0,0 +1,121 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Partially auto-Generated by cargo-ebuild 0.5.4-r1 + +EAPI=8 + +CRATES=" + anyhow@1.0.75 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + clap@3.2.25 + clap_derive@3.2.25 + clap_lex@0.2.4 + hashbrown@0.12.3 + heck@0.4.1 + hermit-abi@0.1.19 + indexmap@1.9.3 + itoa@1.0.9 + libc@0.2.150 + once_cell@1.18.0 + os_str_bytes@6.6.1 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.70 + quote@1.0.33 + ryu@1.0.15 + serde@1.0.193 + serde_derive@1.0.193 + serde_json@1.0.108 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.39 + termcolor@1.4.0 + textwrap@0.16.0 + unicode-ident@1.0.12 + version_check@0.9.4 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-x86_64-pc-windows-gnu@0.4.0 +" + +inherit cargo cmake + +DESCRIPTION="Performance monitoring daemon for heterogeneous CPU-GPU systems" +HOMEPAGE="https://github.com/facebookincubator/dynolog" +SRC_URI="https://dev.gentoo.org/~tupone/distfiles/${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="BSD Apache-2.0 Boost-1.0 MIT Unicode-DFS-2016 Unlicense" +SLOT="0" +KEYWORDS="~amd64" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND="dev-cpp/gflags + dev-cpp/gtest + dev-cpp/glog + dev-libs/pfs + net-misc/curl" +RDEPEND="${DEPEND}" + +# Partially rust build +QA_FLAGS_IGNORED=/usr/bin/dyno + +PATCHES=( + "${FILESDIR}"/${P}-gcc13.patch + "${FILESDIR}"/${P}-unbundling.patch + "${FILESDIR}"/${P}-noWerror.patch + "${FILESDIR}"/${P}-riscv.patch + "${FILESDIR}"/${P}-musl.patch + "${FILESDIR}"/${P}-libcxx.patch + "${FILESDIR}"/${P}-gcc15.patch +) + +CMAKE_SKIP_TESTS=( "Defs.CpuSet" "KernelCollecterTest.NetworkStatsTest" ) + +src_prepare() { + sed -i \ + -e "s:__u64:ino_t:g" \ + hbt/src/common/System.h \ + || die + cmake_src_prepare + cmake_comment_add_subdirectory third_party/gflags + cmake_comment_add_subdirectory third_party/glog + cmake_comment_add_subdirectory third_party/pfs + rm -r third_party/googletest || die + rm -r third_party/pfs || die +} + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DCPR_FORCE_USE_SYSTEM_CURL=ON + -DBUILD_TESTS=$(usex test) + ) + cmake_src_configure + cd cli + cargo_src_configure +} + +src_compile() { + cmake_src_compile + cd cli + cargo_src_compile +} + +src_install() { + cmake_src_install + mkdir -p headers/dynolog/src/ipcfabric + cp dynolog/src/ipcfabric/FabricManager.h \ + headers/dynolog/src/ipcfabric || die + doheader -r dynolog + cd ../cli + cd cli + cargo_src_install + + dobin "${BUILD_DIR}"/${PN}/src/${PN} +} diff --git a/dev-python/adblock/adblock-0.6.0-r1.ebuild b/dev-python/adblock/adblock-0.6.0-r1.ebuild new file mode 100644 index 000000000000..2204153a01f8 --- /dev/null +++ b/dev-python/adblock/adblock-0.6.0-r1.ebuild @@ -0,0 +1,121 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adblock@0.5.6 + addr@0.14.0 + adler@1.0.2 + aho-corasick@0.7.18 + autocfg@1.1.0 + base64@0.13.0 + bitflags@1.3.2 + byteorder@1.4.3 + cfg-if@1.0.0 + crc32fast@1.3.2 + either@1.7.0 + flate2@1.0.24 + form_urlencoded@1.0.1 + idna@0.2.3 + indoc@1.0.6 + itertools@0.10.3 + libc@0.2.126 + lock_api@0.4.7 + matches@0.1.9 + memchr@2.5.0 + miniz_oxide@0.5.3 + num-traits@0.2.15 + once_cell@1.13.0 + parking_lot@0.12.1 + parking_lot_core@0.9.3 + paste@1.0.7 + percent-encoding@2.1.0 + proc-macro2@1.0.40 + psl-types@2.0.10 + psl@2.0.90 + pyo3-build-config@0.16.5 + pyo3-ffi@0.16.5 + pyo3-macros-backend@0.16.5 + pyo3-macros@0.16.5 + pyo3@0.16.5 + quote@1.0.20 + redox_syscall@0.2.13 + regex-syntax@0.6.27 + regex@1.6.0 + rmp-serde@0.13.7 + rmp-serde@0.15.5 + rmp@0.8.11 + scopeguard@1.1.0 + seahash@3.0.7 + serde@1.0.139 + serde_derive@1.0.139 + smallvec@1.9.0 + syn@1.0.98 + target-lexicon@0.12.4 + tinyvec@1.6.0 + tinyvec_macros@0.1.0 + twoway@0.2.2 + unchecked-index@0.2.2 + unicode-bidi@0.3.8 + unicode-ident@1.0.2 + unicode-normalization@0.1.21 + unindent@0.1.9 + url@2.2.2 + 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 +" +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..13} ) +inherit cargo distutils-r1 + +DESCRIPTION="Python wrapper for Brave's adblocking library, which is written in Rust" +HOMEPAGE="https://github.com/ArniDagur/python-adblock" +SRC_URI=" + https://github.com/ArniDagur/python-adblock/archive/refs/tags/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/python-${P}" + +LICENSE="|| ( MIT Apache-2.0 )" +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 + Unicode-DFS-2016 +" # crates +SLOT="0" +KEYWORDS="amd64 ~arm64 ~x86" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED=".*/adblock.*.so" + +DOCS=( CHANGELOG.md README.md ) + +PATCHES=( + "${FILESDIR}"/${P}-maturin-0.14.13.patch +) + +python_test() { + local EPYTEST_DESELECT=( + # unimportant (for us) test that uses the dir that we delete below + # so pytest does not try to load it while lacking extensions + tests/test_typestubs.py::test_functions_and_methods_exist_in_rust + # FileNotFound exception test that triggers a new assertion in + # python:3.13[debug], not an issue for normal usage (bug #931898) + tests/test_engine.py::test_serde_file + ) + local EPYTEST_IGNORE=( + # not very meaningful here (e.g. validates changelog), + # and needs the deprecated dev-python/toml + tests/test_metadata.py + ) + + rm -rf adblock || die + epytest +} diff --git a/dev-python/adblock/adblock-0.6.0.ebuild b/dev-python/adblock/adblock-0.6.0.ebuild deleted file mode 100644 index 2204153a01f8..000000000000 --- a/dev-python/adblock/adblock-0.6.0.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adblock@0.5.6 - addr@0.14.0 - adler@1.0.2 - aho-corasick@0.7.18 - autocfg@1.1.0 - base64@0.13.0 - bitflags@1.3.2 - byteorder@1.4.3 - cfg-if@1.0.0 - crc32fast@1.3.2 - either@1.7.0 - flate2@1.0.24 - form_urlencoded@1.0.1 - idna@0.2.3 - indoc@1.0.6 - itertools@0.10.3 - libc@0.2.126 - lock_api@0.4.7 - matches@0.1.9 - memchr@2.5.0 - miniz_oxide@0.5.3 - num-traits@0.2.15 - once_cell@1.13.0 - parking_lot@0.12.1 - parking_lot_core@0.9.3 - paste@1.0.7 - percent-encoding@2.1.0 - proc-macro2@1.0.40 - psl-types@2.0.10 - psl@2.0.90 - pyo3-build-config@0.16.5 - pyo3-ffi@0.16.5 - pyo3-macros-backend@0.16.5 - pyo3-macros@0.16.5 - pyo3@0.16.5 - quote@1.0.20 - redox_syscall@0.2.13 - regex-syntax@0.6.27 - regex@1.6.0 - rmp-serde@0.13.7 - rmp-serde@0.15.5 - rmp@0.8.11 - scopeguard@1.1.0 - seahash@3.0.7 - serde@1.0.139 - serde_derive@1.0.139 - smallvec@1.9.0 - syn@1.0.98 - target-lexicon@0.12.4 - tinyvec@1.6.0 - tinyvec_macros@0.1.0 - twoway@0.2.2 - unchecked-index@0.2.2 - unicode-bidi@0.3.8 - unicode-ident@1.0.2 - unicode-normalization@0.1.21 - unindent@0.1.9 - url@2.2.2 - 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 -" -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..13} ) -inherit cargo distutils-r1 - -DESCRIPTION="Python wrapper for Brave's adblocking library, which is written in Rust" -HOMEPAGE="https://github.com/ArniDagur/python-adblock" -SRC_URI=" - https://github.com/ArniDagur/python-adblock/archive/refs/tags/${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}/python-${P}" - -LICENSE="|| ( MIT Apache-2.0 )" -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 - Unicode-DFS-2016 -" # crates -SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED=".*/adblock.*.so" - -DOCS=( CHANGELOG.md README.md ) - -PATCHES=( - "${FILESDIR}"/${P}-maturin-0.14.13.patch -) - -python_test() { - local EPYTEST_DESELECT=( - # unimportant (for us) test that uses the dir that we delete below - # so pytest does not try to load it while lacking extensions - tests/test_typestubs.py::test_functions_and_methods_exist_in_rust - # FileNotFound exception test that triggers a new assertion in - # python:3.13[debug], not an issue for normal usage (bug #931898) - tests/test_engine.py::test_serde_file - ) - local EPYTEST_IGNORE=( - # not very meaningful here (e.g. validates changelog), - # and needs the deprecated dev-python/toml - tests/test_metadata.py - ) - - rm -rf adblock || die - epytest -} diff --git a/dev-python/bcrypt/bcrypt-4.2.0-r2.ebuild b/dev-python/bcrypt/bcrypt-4.2.0-r2.ebuild deleted file mode 100644 index 01fd00db34ee..000000000000 --- a/dev-python/bcrypt/bcrypt-4.2.0-r2.ebuild +++ /dev/null @@ -1,97 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} pypy3 ) - -CRATES=" - autocfg@1.3.0 - base64@0.22.1 - bcrypt-pbkdf@0.10.0 - bcrypt@0.15.1 - block-buffer@0.10.4 - blowfish@0.9.1 - byteorder@1.5.0 - cfg-if@1.0.0 - cipher@0.4.4 - cpufeatures@0.2.12 - crypto-common@0.1.6 - digest@0.10.7 - generic-array@0.14.7 - getrandom@0.2.15 - heck@0.5.0 - indoc@2.0.5 - inout@0.1.3 - libc@0.2.155 - memoffset@0.9.1 - once_cell@1.19.0 - pbkdf2@0.12.2 - portable-atomic@1.7.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.2 - pyo3-ffi@0.22.2 - pyo3-macros-backend@0.22.2 - pyo3-macros@0.22.2 - pyo3@0.22.2 - quote@1.0.36 - sha2@0.10.8 - subtle@2.6.1 - syn@2.0.72 - target-lexicon@0.12.15 - typenum@1.17.0 - unicode-ident@1.0.12 - unindent@0.2.3 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - zeroize@1.8.1 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Modern password hashing for software and servers" -HOMEPAGE=" - https://github.com/pyca/bcrypt/ - https://pypi.org/project/bcrypt/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" - -BDEPEND=" - >=dev-python/setuptools-rust-1.7.0[${PYTHON_USEDEP}] -" - -# Rust -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/bcrypt/_bcrypt.*.so" - -distutils_enable_tests pytest - -export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 - -src_prepare() { - distutils-r1_src_prepare - - cd "${ECARGO_VENDOR}"/pyo3-0*/ || die - eapply "${FILESDIR}/bcrypt-4.2.0-patch-pyo3-subinterp.patch" -} - -python_configure_all() { - # Workaround for sys-cluster/ceph (bug #920906) - # https://github.com/pyca/bcrypt/issues/694 - # https://github.com/PyO3/pyo3/issues/3451 - export RUSTFLAGS="${RUSTFLAGS} --cfg pyo3_unsafe_allow_subinterpreters" -} - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest tests -} diff --git a/dev-python/bcrypt/bcrypt-4.2.0-r3.ebuild b/dev-python/bcrypt/bcrypt-4.2.0-r3.ebuild new file mode 100644 index 000000000000..01fd00db34ee --- /dev/null +++ b/dev-python/bcrypt/bcrypt-4.2.0-r3.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} pypy3 ) + +CRATES=" + autocfg@1.3.0 + base64@0.22.1 + bcrypt-pbkdf@0.10.0 + bcrypt@0.15.1 + block-buffer@0.10.4 + blowfish@0.9.1 + byteorder@1.5.0 + cfg-if@1.0.0 + cipher@0.4.4 + cpufeatures@0.2.12 + crypto-common@0.1.6 + digest@0.10.7 + generic-array@0.14.7 + getrandom@0.2.15 + heck@0.5.0 + indoc@2.0.5 + inout@0.1.3 + libc@0.2.155 + memoffset@0.9.1 + once_cell@1.19.0 + pbkdf2@0.12.2 + portable-atomic@1.7.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.2 + pyo3-ffi@0.22.2 + pyo3-macros-backend@0.22.2 + pyo3-macros@0.22.2 + pyo3@0.22.2 + quote@1.0.36 + sha2@0.10.8 + subtle@2.6.1 + syn@2.0.72 + target-lexicon@0.12.15 + typenum@1.17.0 + unicode-ident@1.0.12 + unindent@0.2.3 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + zeroize@1.8.1 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Modern password hashing for software and servers" +HOMEPAGE=" + https://github.com/pyca/bcrypt/ + https://pypi.org/project/bcrypt/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" + +BDEPEND=" + >=dev-python/setuptools-rust-1.7.0[${PYTHON_USEDEP}] +" + +# Rust +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/bcrypt/_bcrypt.*.so" + +distutils_enable_tests pytest + +export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 + +src_prepare() { + distutils-r1_src_prepare + + cd "${ECARGO_VENDOR}"/pyo3-0*/ || die + eapply "${FILESDIR}/bcrypt-4.2.0-patch-pyo3-subinterp.patch" +} + +python_configure_all() { + # Workaround for sys-cluster/ceph (bug #920906) + # https://github.com/pyca/bcrypt/issues/694 + # https://github.com/PyO3/pyo3/issues/3451 + export RUSTFLAGS="${RUSTFLAGS} --cfg pyo3_unsafe_allow_subinterpreters" +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests +} diff --git a/dev-python/blake3/blake3-0.4.1-r1.ebuild b/dev-python/blake3/blake3-0.4.1-r1.ebuild new file mode 100644 index 000000000000..c09028b90ccb --- /dev/null +++ b/dev-python/blake3/blake3-0.4.1-r1.ebuild @@ -0,0 +1,144 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=1 +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=standalone +PYTHON_COMPAT=( python3_{10..13} ) + +CRATES=" + arrayref@0.3.7 + arrayvec@0.7.4 + autocfg@1.1.0 + bitflags@1.3.2 + blake3@1.5.0 + cc@1.0.83 + cfg-if@1.0.0 + constant_time_eq@0.3.0 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.19 + either@1.9.0 + heck@0.4.1 + hex@0.4.3 + indoc@2.0.4 + libc@0.2.153 + lock_api@0.4.11 + memmap2@0.7.1 + memoffset@0.9.0 + once_cell@1.19.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + proc-macro2@1.0.78 + pyo3-build-config@0.20.2 + pyo3-ffi@0.20.2 + pyo3-macros-backend@0.20.2 + pyo3-macros@0.20.2 + pyo3@0.20.2 + quote@1.0.35 + rayon-core@1.12.1 + rayon@1.8.1 + redox_syscall@0.4.1 + scopeguard@1.2.0 + smallvec@1.13.1 + syn@2.0.48 + target-lexicon@0.12.13 + unicode-ident@1.0.12 + unindent@0.2.3 + 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 +" + +inherit cargo distutils-r1 + +MY_P=blake3-py-${PV} +DESCRIPTION="Python bindings for the BLAKE3 cryptographic hash function" +HOMEPAGE=" + https://github.com/oconnor663/blake3-py/ + https://pypi.org/project/blake3/ +" +SRC_URI=" + https://github.com/oconnor663/blake3-py/archive/${PV}.tar.gz + -> ${MY_P}.gh.tar.gz + rust? ( + ${CARGO_CRATE_URIS} + ) +" +S=${WORKDIR}/${MY_P} + +LICENSE=" + || ( CC0-1.0 Apache-2.0 ) + rust? ( +" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions BSD-2 MIT Unicode-DFS-2016 + || ( Apache-2.0 CC0-1.0 ) +" +LICENSE+=" + ) +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+rust" + +BDEPEND=" + rust? ( + ${RUST_DEPEND} + dev-util/maturin[${PYTHON_USEDEP}] + ) + !rust? ( + dev-python/setuptools[${PYTHON_USEDEP}] + dev-python/wheel[${PYTHON_USEDEP}] + ) + test? ( + dev-python/numpy[${PYTHON_USEDEP}] + ) +" + +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() { + use rust && cargo_src_unpack +} + +src_prepare() { + local PATCHES=( + # https://github.com/oconnor663/blake3-py/pull/44 + "${FILESDIR}/${P}-gcc14.patch" + ) + + # sed the package name and version to improve compatibility + sed -e 's:blake3_experimental_c:blake3:' \ + -e "s:0[.]0[.]1:${PV}:" \ + -i c_impl/setup.py || die + + distutils-r1_src_prepare +} + +python_compile() { + local DISTUTILS_USE_PEP517=$(usex rust maturin setuptools) + + if ! use rust; then + cd c_impl || die + fi + distutils-r1_python_compile + if ! use rust; then + cd - >/dev/null || die + fi +} diff --git a/dev-python/blake3/blake3-0.4.1.ebuild b/dev-python/blake3/blake3-0.4.1.ebuild deleted file mode 100644 index 169408721d16..000000000000 --- a/dev-python/blake3/blake3-0.4.1.ebuild +++ /dev/null @@ -1,139 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=1 -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=standalone -PYTHON_COMPAT=( python3_{10..13} ) - -CRATES=" - arrayref@0.3.7 - arrayvec@0.7.4 - autocfg@1.1.0 - bitflags@1.3.2 - blake3@1.5.0 - cc@1.0.83 - cfg-if@1.0.0 - constant_time_eq@0.3.0 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.19 - either@1.9.0 - heck@0.4.1 - hex@0.4.3 - indoc@2.0.4 - libc@0.2.153 - lock_api@0.4.11 - memmap2@0.7.1 - memoffset@0.9.0 - once_cell@1.19.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - proc-macro2@1.0.78 - pyo3-build-config@0.20.2 - pyo3-ffi@0.20.2 - pyo3-macros-backend@0.20.2 - pyo3-macros@0.20.2 - pyo3@0.20.2 - quote@1.0.35 - rayon-core@1.12.1 - rayon@1.8.1 - redox_syscall@0.4.1 - scopeguard@1.2.0 - smallvec@1.13.1 - syn@2.0.48 - target-lexicon@0.12.13 - unicode-ident@1.0.12 - unindent@0.2.3 - 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 -" - -inherit cargo distutils-r1 - -MY_P=blake3-py-${PV} -DESCRIPTION="Python bindings for the BLAKE3 cryptographic hash function" -HOMEPAGE=" - https://github.com/oconnor663/blake3-py/ - https://pypi.org/project/blake3/ -" -SRC_URI=" - https://github.com/oconnor663/blake3-py/archive/${PV}.tar.gz - -> ${MY_P}.gh.tar.gz - rust? ( - ${CARGO_CRATE_URIS} - ) -" -S=${WORKDIR}/${MY_P} - -LICENSE=" - || ( CC0-1.0 Apache-2.0 ) - rust? ( -" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions BSD-2 MIT Unicode-DFS-2016 - || ( Apache-2.0 CC0-1.0 ) -" -LICENSE+=" - ) -" -SLOT="0" -KEYWORDS="~amd64" -IUSE="+rust" - -BDEPEND=" - rust? ( - ${RUST_DEPEND} - dev-util/maturin[${PYTHON_USEDEP}] - ) - !rust? ( - dev-python/setuptools[${PYTHON_USEDEP}] - dev-python/wheel[${PYTHON_USEDEP}] - ) - test? ( - dev-python/numpy[${PYTHON_USEDEP}] - ) -" - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/blake3/blake3.*.so" - -distutils_enable_tests pytest - -src_unpack() { - cargo_src_unpack -} - -src_prepare() { - local PATCHES=( - # https://github.com/oconnor663/blake3-py/pull/44 - "${FILESDIR}/${P}-gcc14.patch" - ) - - # sed the package name and version to improve compatibility - sed -e 's:blake3_experimental_c:blake3:' \ - -e "s:0[.]0[.]1:${PV}:" \ - -i c_impl/setup.py || die - - distutils-r1_src_prepare -} - -python_compile() { - local DISTUTILS_USE_PEP517=$(usex rust maturin setuptools) - - if ! use rust; then - cd c_impl || die - fi - distutils-r1_python_compile - if ! use rust; then - cd - >/dev/null || die - fi -} diff --git a/dev-python/cramjam/cramjam-2.8.3-r1.ebuild b/dev-python/cramjam/cramjam-2.8.3-r1.ebuild new file mode 100644 index 000000000000..73bb943dde59 --- /dev/null +++ b/dev-python/cramjam/cramjam-2.8.3-r1.ebuild @@ -0,0 +1,209 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: you need to use top-level Cargo.lock to generate the crate list. +CRATES=" + adler@1.0.2 + aho-corasick@1.1.2 + alloc-no-stdlib@2.0.4 + alloc-stdlib@0.2.2 + anstream@0.6.13 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + assert_cmd@1.0.8 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.4.2 + brotli-decompressor@2.5.1 + brotli@3.4.0 + bstr@0.2.17 + bytesize@1.3.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + cbindgen@0.24.5 + cc@1.0.90 + cfg-if@1.0.0 + clap@3.2.25 + clap@4.5.2 + clap_builder@4.5.2 + clap_derive@4.5.0 + clap_lex@0.2.4 + clap_lex@0.7.0 + colorchoice@1.0.0 + crc32fast@1.4.0 + difflib@0.4.0 + doc-comment@0.3.3 + either@1.10.0 + errno@0.3.8 + fastrand@2.0.1 + flate2@1.0.28 + float-cmp@0.9.0 + hashbrown@0.12.3 + heck@0.4.1 + hermit-abi@0.1.19 + indexmap@1.9.3 + indoc@2.0.4 + inline-c-macro@0.1.5 + inline-c@0.1.7 + itertools@0.10.5 + itoa@1.0.10 + jobserver@0.1.28 + lazy_static@1.4.0 + libc@0.2.153 + libcramjam@0.2.0 + libcramjam@0.3.0 + libdeflate-sys@1.19.3 + libdeflater@1.19.3 + linux-raw-sys@0.4.13 + lock_api@0.4.11 + log@0.4.21 + lz4-sys@1.9.4 + lz4@1.24.0 + lzma-sys@0.1.20 + memchr@2.7.1 + memoffset@0.9.0 + miniz_oxide@0.7.2 + normalize-line-endings@0.3.0 + num-traits@0.2.18 + once_cell@1.19.0 + os_str_bytes@6.6.1 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + pest@2.7.8 + pkg-config@0.3.30 + portable-atomic@1.6.0 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@2.1.5 + proc-macro2@1.0.78 + pyo3-build-config@0.20.3 + pyo3-ffi@0.20.3 + pyo3-macros-backend@0.20.3 + pyo3-macros@0.20.3 + pyo3@0.20.3 + python3-dll-a@0.2.9 + quote@1.0.35 + redox_syscall@0.4.1 + regex-automata@0.1.10 + regex-automata@0.4.6 + regex-syntax@0.8.2 + regex@1.10.3 + rustc_version@0.3.3 + rustix@0.38.31 + ryu@1.0.17 + scopeguard@1.2.0 + semver-parser@0.10.2 + semver@0.11.0 + serde@1.0.197 + serde_derive@1.0.197 + serde_json@1.0.114 + smallvec@1.13.1 + snap@1.1.1 + strsim@0.10.0 + strsim@0.11.0 + syn@1.0.109 + syn@2.0.52 + target-lexicon@0.11.2 + target-lexicon@0.12.14 + tempfile@3.10.1 + termcolor@1.4.1 + termtree@0.4.1 + textwrap@0.16.1 + thiserror-impl@1.0.57 + thiserror@1.0.57 + toml@0.5.11 + ucd-trie@0.1.6 + unicode-ident@1.0.12 + unindent@0.2.3 + utf8parse@0.2.1 + wait-timeout@0.2.0 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.4 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.4 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.4 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.4 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.4 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.4 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.4 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.4 + xz2@0.1.7 + zstd-safe@7.0.0 + zstd-sys@2.0.9+zstd.1.5.5 + zstd@0.13.0 +" + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +inherit cargo distutils-r1 + +DESCRIPTION="Thin Python bindings to de/compression algorithms in Rust" +HOMEPAGE=" + https://github.com/milesgranger/cramjam/ + https://pypi.org/project/cramjam/ +" +# pypi sdist is missing libcramjam/Cargo.lock +SRC_URI=" + https://github.com/milesgranger/cramjam/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +S=${WORKDIR}/${P}/cramjam-python + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 + Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86" + +BDEPEND=" + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/cramjam/cramjam.*.so" + +src_prepare() { + sed -i -e '/strip/d' pyproject.toml || die + distutils-r1_src_prepare + export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 +} + +src_test() { + pushd ../libcramjam >/dev/null || die + cargo_src_test + popd >/dev/null || die + + distutils-r1_src_test +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests +} diff --git a/dev-python/cramjam/cramjam-2.8.3.ebuild b/dev-python/cramjam/cramjam-2.8.3.ebuild deleted file mode 100644 index 73bb943dde59..000000000000 --- a/dev-python/cramjam/cramjam-2.8.3.ebuild +++ /dev/null @@ -1,209 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Note: you need to use top-level Cargo.lock to generate the crate list. -CRATES=" - adler@1.0.2 - aho-corasick@1.1.2 - alloc-no-stdlib@2.0.4 - alloc-stdlib@0.2.2 - anstream@0.6.13 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - assert_cmd@1.0.8 - atty@0.2.14 - autocfg@1.1.0 - bitflags@1.3.2 - bitflags@2.4.2 - brotli-decompressor@2.5.1 - brotli@3.4.0 - bstr@0.2.17 - bytesize@1.3.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - cbindgen@0.24.5 - cc@1.0.90 - cfg-if@1.0.0 - clap@3.2.25 - clap@4.5.2 - clap_builder@4.5.2 - clap_derive@4.5.0 - clap_lex@0.2.4 - clap_lex@0.7.0 - colorchoice@1.0.0 - crc32fast@1.4.0 - difflib@0.4.0 - doc-comment@0.3.3 - either@1.10.0 - errno@0.3.8 - fastrand@2.0.1 - flate2@1.0.28 - float-cmp@0.9.0 - hashbrown@0.12.3 - heck@0.4.1 - hermit-abi@0.1.19 - indexmap@1.9.3 - indoc@2.0.4 - inline-c-macro@0.1.5 - inline-c@0.1.7 - itertools@0.10.5 - itoa@1.0.10 - jobserver@0.1.28 - lazy_static@1.4.0 - libc@0.2.153 - libcramjam@0.2.0 - libcramjam@0.3.0 - libdeflate-sys@1.19.3 - libdeflater@1.19.3 - linux-raw-sys@0.4.13 - lock_api@0.4.11 - log@0.4.21 - lz4-sys@1.9.4 - lz4@1.24.0 - lzma-sys@0.1.20 - memchr@2.7.1 - memoffset@0.9.0 - miniz_oxide@0.7.2 - normalize-line-endings@0.3.0 - num-traits@0.2.18 - once_cell@1.19.0 - os_str_bytes@6.6.1 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - pest@2.7.8 - pkg-config@0.3.30 - portable-atomic@1.6.0 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@2.1.5 - proc-macro2@1.0.78 - pyo3-build-config@0.20.3 - pyo3-ffi@0.20.3 - pyo3-macros-backend@0.20.3 - pyo3-macros@0.20.3 - pyo3@0.20.3 - python3-dll-a@0.2.9 - quote@1.0.35 - redox_syscall@0.4.1 - regex-automata@0.1.10 - regex-automata@0.4.6 - regex-syntax@0.8.2 - regex@1.10.3 - rustc_version@0.3.3 - rustix@0.38.31 - ryu@1.0.17 - scopeguard@1.2.0 - semver-parser@0.10.2 - semver@0.11.0 - serde@1.0.197 - serde_derive@1.0.197 - serde_json@1.0.114 - smallvec@1.13.1 - snap@1.1.1 - strsim@0.10.0 - strsim@0.11.0 - syn@1.0.109 - syn@2.0.52 - target-lexicon@0.11.2 - target-lexicon@0.12.14 - tempfile@3.10.1 - termcolor@1.4.1 - termtree@0.4.1 - textwrap@0.16.1 - thiserror-impl@1.0.57 - thiserror@1.0.57 - toml@0.5.11 - ucd-trie@0.1.6 - unicode-ident@1.0.12 - unindent@0.2.3 - utf8parse@0.2.1 - wait-timeout@0.2.0 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.4 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.4 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.4 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.4 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.4 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.4 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.4 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.4 - xz2@0.1.7 - zstd-safe@7.0.0 - zstd-sys@2.0.9+zstd.1.5.5 - zstd@0.13.0 -" - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -inherit cargo distutils-r1 - -DESCRIPTION="Thin Python bindings to de/compression algorithms in Rust" -HOMEPAGE=" - https://github.com/milesgranger/cramjam/ - https://pypi.org/project/cramjam/ -" -# pypi sdist is missing libcramjam/Cargo.lock -SRC_URI=" - https://github.com/milesgranger/cramjam/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" -S=${WORKDIR}/${P}/cramjam-python - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 - Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86" - -BDEPEND=" - test? ( - dev-python/hypothesis[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - ) -" - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/cramjam/cramjam.*.so" - -src_prepare() { - sed -i -e '/strip/d' pyproject.toml || die - distutils-r1_src_prepare - export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 -} - -src_test() { - pushd ../libcramjam >/dev/null || die - cargo_src_test - popd >/dev/null || die - - distutils-r1_src_test -} - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest tests -} diff --git a/dev-python/cramjam/cramjam-2.8.4-r1.ebuild b/dev-python/cramjam/cramjam-2.8.4-r1.ebuild new file mode 100644 index 000000000000..800415fe85a3 --- /dev/null +++ b/dev-python/cramjam/cramjam-2.8.4-r1.ebuild @@ -0,0 +1,215 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: you need to use top-level Cargo.lock to generate the crate list. +CRATES=" + adler2@2.0.0 + alloc-no-stdlib@2.0.4 + alloc-stdlib@0.2.2 + atty@0.2.14 + autocfg@1.3.0 + bitflags@1.3.2 + bitflags@2.6.0 + blosc2-rs@0.3.1+2.15.1 + blosc2-sys@0.3.1+2.15.1 + brotli-decompressor@2.5.1 + brotli@3.5.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + cbindgen@0.24.5 + cc@1.1.21 + cfg-if@1.0.0 + clap@3.2.25 + clap_lex@0.2.4 + cmake@0.1.51 + copy_dir@0.1.3 + crc32fast@1.4.2 + errno@0.3.9 + fastrand@2.1.1 + flate2@1.0.33 + hashbrown@0.12.3 + heck@0.4.1 + heck@0.5.0 + hermit-abi@0.1.19 + indexmap@1.9.3 + indoc@2.0.5 + isal-rs@0.3.1+496255c + isal-sys@0.3.1+496255c + itoa@1.0.11 + jobserver@0.1.32 + libc@0.2.158 + libcramjam@0.5.1 + libdeflate-sys@1.19.3 + libdeflater@1.19.3 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + lz4-sys@1.11.0 + lz4@1.27.0 + lzma-sys@0.1.20 + memchr@2.7.4 + memoffset@0.9.1 + miniz_oxide@0.8.0 + once_cell@1.19.0 + os_str_bytes@6.6.1 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + pkg-config@0.3.31 + portable-atomic@1.8.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.3 + pyo3-ffi@0.22.3 + pyo3-macros-backend@0.22.3 + pyo3-macros@0.22.3 + pyo3@0.22.3 + python3-dll-a@0.2.10 + quote@1.0.37 + redox_syscall@0.5.4 + rustix@0.38.37 + ryu@1.0.18 + same-file@1.0.6 + scopeguard@1.2.0 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.128 + shlex@1.3.0 + smallvec@1.13.2 + snap@1.1.1 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.77 + target-lexicon@0.12.16 + tempfile@3.12.0 + termcolor@1.4.1 + textwrap@0.16.1 + toml@0.5.11 + unicode-ident@1.0.13 + unindent@0.2.3 + walkdir@2.5.0 + 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-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 + xz2@0.1.7 + zstd-safe@7.2.1 + zstd-sys@2.0.13+zstd.1.5.6 + zstd@0.13.2 +" + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Thin Python bindings to de/compression algorithms in Rust" +HOMEPAGE=" + https://github.com/milesgranger/cramjam/ + https://pypi.org/project/cramjam/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 + Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~riscv ~sparc ~x86" + +DEPEND=" + app-arch/bzip2:= + app-arch/libdeflate:= + app-arch/lz4:= + app-arch/xz-utils:= + app-arch/zstd:= + dev-libs/c-blosc2:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + ) +" +# bundled isal deps +BDEPEND+=" + amd64? ( + || ( + >=dev-lang/nasm-2.13 + >=dev-lang/yasm-1.2.0 + ) + ) + x86? ( + || ( + >=dev-lang/nasm-2.13 + >=dev-lang/yasm-1.2.0 + ) + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/cramjam/cramjam.*.so" + +src_prepare() { + sed -i -e '/strip/d' pyproject.toml || die + distutils-r1_src_prepare + export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 + + # strip all the bundled C libraries + find "${ECARGO_VENDOR}"/{blosc2,bzip2,libdeflate,lz4,lzma,zstd}-sys-* \ + -name '*.c' -delete || die + + # https://github.com/10XGenomics/lz4-rs/pull/39 + pushd "${ECARGO_VENDOR}"/lz4-sys* >/dev/null || Die + eapply -p2 "${FILESDIR}/lz4-sys-unbundle-lz4.patch" + popd >/dev/null || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + + # unpin C library versions + sed -i -e '/exactly_version/d' \ + "${ECARGO_VENDOR}"/libdeflate-sys-*/build.rs || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF + + DISTUTILS_ARGS=( + --no-default-features + # TODO: system isal + --features=extension-module,snappy,lz4,bzip2,brotli,zstd,xz-shared,igzip-shared,gzip-shared,gzip-shared,deflate-shared,blosc2-shared,use-system-blosc2-shared + ) +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests +} diff --git a/dev-python/cramjam/cramjam-2.8.4.ebuild b/dev-python/cramjam/cramjam-2.8.4.ebuild deleted file mode 100644 index 800415fe85a3..000000000000 --- a/dev-python/cramjam/cramjam-2.8.4.ebuild +++ /dev/null @@ -1,215 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Note: you need to use top-level Cargo.lock to generate the crate list. -CRATES=" - adler2@2.0.0 - alloc-no-stdlib@2.0.4 - alloc-stdlib@0.2.2 - atty@0.2.14 - autocfg@1.3.0 - bitflags@1.3.2 - bitflags@2.6.0 - blosc2-rs@0.3.1+2.15.1 - blosc2-sys@0.3.1+2.15.1 - brotli-decompressor@2.5.1 - brotli@3.5.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - cbindgen@0.24.5 - cc@1.1.21 - cfg-if@1.0.0 - clap@3.2.25 - clap_lex@0.2.4 - cmake@0.1.51 - copy_dir@0.1.3 - crc32fast@1.4.2 - errno@0.3.9 - fastrand@2.1.1 - flate2@1.0.33 - hashbrown@0.12.3 - heck@0.4.1 - heck@0.5.0 - hermit-abi@0.1.19 - indexmap@1.9.3 - indoc@2.0.5 - isal-rs@0.3.1+496255c - isal-sys@0.3.1+496255c - itoa@1.0.11 - jobserver@0.1.32 - libc@0.2.158 - libcramjam@0.5.1 - libdeflate-sys@1.19.3 - libdeflater@1.19.3 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - lz4-sys@1.11.0 - lz4@1.27.0 - lzma-sys@0.1.20 - memchr@2.7.4 - memoffset@0.9.1 - miniz_oxide@0.8.0 - once_cell@1.19.0 - os_str_bytes@6.6.1 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - pkg-config@0.3.31 - portable-atomic@1.8.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.3 - pyo3-ffi@0.22.3 - pyo3-macros-backend@0.22.3 - pyo3-macros@0.22.3 - pyo3@0.22.3 - python3-dll-a@0.2.10 - quote@1.0.37 - redox_syscall@0.5.4 - rustix@0.38.37 - ryu@1.0.18 - same-file@1.0.6 - scopeguard@1.2.0 - serde@1.0.210 - serde_derive@1.0.210 - serde_json@1.0.128 - shlex@1.3.0 - smallvec@1.13.2 - snap@1.1.1 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.77 - target-lexicon@0.12.16 - tempfile@3.12.0 - termcolor@1.4.1 - textwrap@0.16.1 - toml@0.5.11 - unicode-ident@1.0.13 - unindent@0.2.3 - walkdir@2.5.0 - 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-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 - xz2@0.1.7 - zstd-safe@7.2.1 - zstd-sys@2.0.13+zstd.1.5.6 - zstd@0.13.2 -" - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Thin Python bindings to de/compression algorithms in Rust" -HOMEPAGE=" - https://github.com/milesgranger/cramjam/ - https://pypi.org/project/cramjam/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 - Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~riscv ~sparc ~x86" - -DEPEND=" - app-arch/bzip2:= - app-arch/libdeflate:= - app-arch/lz4:= - app-arch/xz-utils:= - app-arch/zstd:= - dev-libs/c-blosc2:= -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - test? ( - dev-python/hypothesis[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - ) -" -# bundled isal deps -BDEPEND+=" - amd64? ( - || ( - >=dev-lang/nasm-2.13 - >=dev-lang/yasm-1.2.0 - ) - ) - x86? ( - || ( - >=dev-lang/nasm-2.13 - >=dev-lang/yasm-1.2.0 - ) - ) -" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/cramjam/cramjam.*.so" - -src_prepare() { - sed -i -e '/strip/d' pyproject.toml || die - distutils-r1_src_prepare - export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 - - # strip all the bundled C libraries - find "${ECARGO_VENDOR}"/{blosc2,bzip2,libdeflate,lz4,lzma,zstd}-sys-* \ - -name '*.c' -delete || die - - # https://github.com/10XGenomics/lz4-rs/pull/39 - pushd "${ECARGO_VENDOR}"/lz4-sys* >/dev/null || Die - eapply -p2 "${FILESDIR}/lz4-sys-unbundle-lz4.patch" - popd >/dev/null || die - - # enable system libraries where supported - export ZSTD_SYS_USE_PKG_CONFIG=1 - - # unpin C library versions - sed -i -e '/exactly_version/d' \ - "${ECARGO_VENDOR}"/libdeflate-sys-*/build.rs || die - - # bzip2-sys requires a pkg-config file - # https://github.com/alexcrichton/bzip2-rs/issues/104 - mkdir "${T}/pkg-config" || die - export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} - cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die - Name: bzip2 - Version: 9999 - Description: - Libs: -lbz2 - EOF - - DISTUTILS_ARGS=( - --no-default-features - # TODO: system isal - --features=extension-module,snappy,lz4,bzip2,brotli,zstd,xz-shared,igzip-shared,gzip-shared,gzip-shared,deflate-shared,blosc2-shared,use-system-blosc2-shared - ) -} - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest tests -} diff --git a/dev-python/cramjam/cramjam-2.9.0-r1.ebuild b/dev-python/cramjam/cramjam-2.9.0-r1.ebuild new file mode 100644 index 000000000000..54236d80d254 --- /dev/null +++ b/dev-python/cramjam/cramjam-2.9.0-r1.ebuild @@ -0,0 +1,225 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# Note: you need to use top-level Cargo.lock to generate the crate list. +CRATES=" + adler2@2.0.0 + alloc-no-stdlib@2.0.4 + alloc-stdlib@0.2.2 + atty@0.2.14 + autocfg@1.4.0 + bitflags@1.3.2 + bitflags@2.6.0 + blosc2-rs@0.3.1+2.15.1 + blosc2-sys@0.3.1+2.15.1 + brotli-decompressor@4.0.1 + brotli@7.0.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + cbindgen@0.24.5 + cc@1.1.30 + cfg-if@1.0.0 + clap@3.2.25 + clap_lex@0.2.4 + cmake@0.1.51 + copy_dir@0.1.3 + crc32fast@1.4.2 + errno@0.3.9 + fastrand@2.1.1 + flate2@1.0.34 + hashbrown@0.12.3 + heck@0.4.1 + heck@0.5.0 + hermit-abi@0.1.19 + indexmap@1.9.3 + indoc@2.0.5 + isal-rs@0.5.3+496255c + isal-sys@0.5.3+496255c + itoa@1.0.11 + jobserver@0.1.32 + libc@0.2.159 + libcramjam@0.6.0 + libdeflate-sys@1.19.3 + libdeflater@1.19.3 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + lz4-sys@1.11.1+lz4-1.10.0 + lz4@1.28.0 + lzma-sys@0.1.20 + memchr@2.7.4 + memoffset@0.9.1 + miniz_oxide@0.8.0 + once_cell@1.20.2 + os_str_bytes@6.6.1 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + pkg-config@0.3.31 + portable-atomic@1.9.0 + proc-macro2@1.0.87 + pyo3-build-config@0.22.5 + pyo3-ffi@0.22.5 + pyo3-macros-backend@0.22.5 + pyo3-macros@0.22.5 + pyo3@0.22.5 + python3-dll-a@0.2.10 + quote@1.0.37 + redox_syscall@0.5.7 + rustix@0.38.37 + ryu@1.0.18 + same-file@1.0.6 + scopeguard@1.2.0 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.128 + shlex@1.3.0 + smallvec@1.13.2 + snap@1.1.1 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.79 + target-lexicon@0.12.16 + tempfile@3.13.0 + termcolor@1.4.1 + textwrap@0.16.1 + toml@0.5.11 + unicode-ident@1.0.13 + unindent@0.2.3 + walkdir@2.5.0 + 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-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 + xz2@0.1.7 + zstd-safe@7.2.1 + zstd-sys@2.0.13+zstd.1.5.6 + zstd@0.13.2 +" + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Thin Python bindings to de/compression algorithms in Rust" +HOMEPAGE=" + https://github.com/milesgranger/cramjam/ + https://pypi.org/project/cramjam/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 + Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~riscv ~sparc ~x86" + +DEPEND=" + app-arch/bzip2:= + app-arch/libdeflate:= + app-arch/lz4:= + app-arch/xz-utils:= + app-arch/zstd:= + dev-libs/c-blosc2:= + dev-libs/isa-l:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-python/hypothesis[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/cramjam/cramjam.*.so" + +src_prepare() { + sed -i -e '/strip/d' pyproject.toml || die + distutils-r1_src_prepare + export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 + + # strip all the bundled C libraries + find "${ECARGO_VENDOR}"/*-sys-* \ + -name '*.c' -delete || die + + # https://github.com/10XGenomics/lz4-rs/pull/39 + pushd "${ECARGO_VENDOR}"/lz4-sys* >/dev/null || Die + eapply -p2 "${FILESDIR}/lz4-sys-unbundle-lz4.patch" + popd >/dev/null || die + + # https://github.com/milesgranger/isal-rs/pull/25 (cheap workaround) + sed -i -e '/default/d' "${ECARGO_VENDOR}"/isal-sys*/Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + + # unpin C library versions + sed -i -e '/exactly_version/d' \ + "${ECARGO_VENDOR}"/libdeflate-sys-*/build.rs || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF + + local features=( + extension-module + + snappy + lz4 + bzip2 + brotli + zstd + + xz-shared + igzip-shared + ideflate-shared + izlib-shared + use-system-isal-shared + gzip-shared + zlib-shared + deflate-shared + blosc2-shared + use-system-blosc2-shared + ) + local features_s=${features[*]} + + DISTUTILS_ARGS=( + --no-default-features + --features="${features_s// /,}" + ) +} + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest tests +} diff --git a/dev-python/cramjam/cramjam-2.9.0.ebuild b/dev-python/cramjam/cramjam-2.9.0.ebuild deleted file mode 100644 index 54236d80d254..000000000000 --- a/dev-python/cramjam/cramjam-2.9.0.ebuild +++ /dev/null @@ -1,225 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# Note: you need to use top-level Cargo.lock to generate the crate list. -CRATES=" - adler2@2.0.0 - alloc-no-stdlib@2.0.4 - alloc-stdlib@0.2.2 - atty@0.2.14 - autocfg@1.4.0 - bitflags@1.3.2 - bitflags@2.6.0 - blosc2-rs@0.3.1+2.15.1 - blosc2-sys@0.3.1+2.15.1 - brotli-decompressor@4.0.1 - brotli@7.0.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - cbindgen@0.24.5 - cc@1.1.30 - cfg-if@1.0.0 - clap@3.2.25 - clap_lex@0.2.4 - cmake@0.1.51 - copy_dir@0.1.3 - crc32fast@1.4.2 - errno@0.3.9 - fastrand@2.1.1 - flate2@1.0.34 - hashbrown@0.12.3 - heck@0.4.1 - heck@0.5.0 - hermit-abi@0.1.19 - indexmap@1.9.3 - indoc@2.0.5 - isal-rs@0.5.3+496255c - isal-sys@0.5.3+496255c - itoa@1.0.11 - jobserver@0.1.32 - libc@0.2.159 - libcramjam@0.6.0 - libdeflate-sys@1.19.3 - libdeflater@1.19.3 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - lz4-sys@1.11.1+lz4-1.10.0 - lz4@1.28.0 - lzma-sys@0.1.20 - memchr@2.7.4 - memoffset@0.9.1 - miniz_oxide@0.8.0 - once_cell@1.20.2 - os_str_bytes@6.6.1 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - pkg-config@0.3.31 - portable-atomic@1.9.0 - proc-macro2@1.0.87 - pyo3-build-config@0.22.5 - pyo3-ffi@0.22.5 - pyo3-macros-backend@0.22.5 - pyo3-macros@0.22.5 - pyo3@0.22.5 - python3-dll-a@0.2.10 - quote@1.0.37 - redox_syscall@0.5.7 - rustix@0.38.37 - ryu@1.0.18 - same-file@1.0.6 - scopeguard@1.2.0 - serde@1.0.210 - serde_derive@1.0.210 - serde_json@1.0.128 - shlex@1.3.0 - smallvec@1.13.2 - snap@1.1.1 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.79 - target-lexicon@0.12.16 - tempfile@3.13.0 - termcolor@1.4.1 - textwrap@0.16.1 - toml@0.5.11 - unicode-ident@1.0.13 - unindent@0.2.3 - walkdir@2.5.0 - 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-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 - xz2@0.1.7 - zstd-safe@7.2.1 - zstd-sys@2.0.13+zstd.1.5.6 - zstd@0.13.2 -" - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Thin Python bindings to de/compression algorithms in Rust" -HOMEPAGE=" - https://github.com/milesgranger/cramjam/ - https://pypi.org/project/cramjam/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0 - Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~riscv ~sparc ~x86" - -DEPEND=" - app-arch/bzip2:= - app-arch/libdeflate:= - app-arch/lz4:= - app-arch/xz-utils:= - app-arch/zstd:= - dev-libs/c-blosc2:= - dev-libs/isa-l:= -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - test? ( - dev-python/hypothesis[${PYTHON_USEDEP}] - dev-python/numpy[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/cramjam/cramjam.*.so" - -src_prepare() { - sed -i -e '/strip/d' pyproject.toml || die - distutils-r1_src_prepare - export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 - - # strip all the bundled C libraries - find "${ECARGO_VENDOR}"/*-sys-* \ - -name '*.c' -delete || die - - # https://github.com/10XGenomics/lz4-rs/pull/39 - pushd "${ECARGO_VENDOR}"/lz4-sys* >/dev/null || Die - eapply -p2 "${FILESDIR}/lz4-sys-unbundle-lz4.patch" - popd >/dev/null || die - - # https://github.com/milesgranger/isal-rs/pull/25 (cheap workaround) - sed -i -e '/default/d' "${ECARGO_VENDOR}"/isal-sys*/Cargo.toml || die - - # enable system libraries where supported - export ZSTD_SYS_USE_PKG_CONFIG=1 - - # unpin C library versions - sed -i -e '/exactly_version/d' \ - "${ECARGO_VENDOR}"/libdeflate-sys-*/build.rs || die - - # bzip2-sys requires a pkg-config file - # https://github.com/alexcrichton/bzip2-rs/issues/104 - mkdir "${T}/pkg-config" || die - export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} - cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die - Name: bzip2 - Version: 9999 - Description: - Libs: -lbz2 - EOF - - local features=( - extension-module - - snappy - lz4 - bzip2 - brotli - zstd - - xz-shared - igzip-shared - ideflate-shared - izlib-shared - use-system-isal-shared - gzip-shared - zlib-shared - deflate-shared - blosc2-shared - use-system-blosc2-shared - ) - local features_s=${features[*]} - - DISTUTILS_ARGS=( - --no-default-features - --features="${features_s// /,}" - ) -} - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest tests -} diff --git a/dev-python/cryptography/cryptography-43.0.3-r1.ebuild b/dev-python/cryptography/cryptography-43.0.3-r1.ebuild new file mode 100644 index 000000000000..d2d62f9acef7 --- /dev/null +++ b/dev-python/cryptography/cryptography-43.0.3-r1.ebuild @@ -0,0 +1,132 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=yes +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..13} pypy3 ) +PYTHON_REQ_USE="threads(+)" + +CRATES=" + asn1@0.16.2 + asn1_derive@0.16.2 + autocfg@1.3.0 + base64@0.22.1 + bitflags@2.6.0 + cc@1.1.6 + cfg-if@1.0.0 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + heck@0.5.0 + indoc@2.0.5 + libc@0.2.155 + memoffset@0.9.1 + once_cell@1.19.0 + openssl-macros@0.1.1 + openssl-sys@0.9.104 + openssl@0.10.68 + pem@3.0.4 + pkg-config@0.3.30 + portable-atomic@1.7.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.2 + pyo3-ffi@0.22.2 + pyo3-macros-backend@0.22.2 + pyo3-macros@0.22.2 + pyo3@0.22.2 + quote@1.0.36 + self_cell@1.0.4 + syn@2.0.71 + target-lexicon@0.12.15 + unicode-ident@1.0.12 + unindent@0.2.3 + vcpkg@0.2.15 +" + +inherit cargo distutils-r1 flag-o-matic multiprocessing pypi + +VEC_P=cryptography_vectors-$(ver_cut 1-3) +DESCRIPTION="Library providing cryptographic recipes and primitives" +HOMEPAGE=" + https://github.com/pyca/cryptography/ + https://pypi.org/project/cryptography/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} + test? ( + $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)") + ) +" + +LICENSE="|| ( Apache-2.0 BSD ) PSF-2" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" + +RDEPEND=" + >=dev-libs/openssl-1.0.2o-r6:0= + $(python_gen_cond_dep ' + >=dev-python/cffi-1.8:=[${PYTHON_USEDEP}] + ' 'python*') +" +DEPEND=" + ${RDEPEND} +" + +BDEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + test? ( + dev-python/certifi[${PYTHON_USEDEP}] + >=dev-python/hypothesis-1.11.4[${PYTHON_USEDEP}] + dev-python/iso8601[${PYTHON_USEDEP}] + dev-python/pretend[${PYTHON_USEDEP}] + dev-python/pyasn1-modules[${PYTHON_USEDEP}] + dev-python/pytest-subtests[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +# Files built without CFLAGS/LDFLAGS, acceptable for rust +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so" + +distutils_enable_tests pytest + +src_unpack() { + cargo_src_unpack +} + +src_prepare() { + default + + sed -i -e 's:--benchmark-disable::' pyproject.toml || die + + # work around availability macros not supported in GCC (yet) + if [[ ${CHOST} == *-darwin* ]] ; then + local darwinok=0 + if [[ ${CHOST##*-darwin} -ge 16 ]] ; then + darwinok=1 + fi + sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \ + src/_cffi_src/openssl/src/osrandom_engine.c || die + fi +} + +python_configure_all() { + filter-lto # bug #903908 + + export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 +} + +python_test() { + local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/cryptography_vectors-${PV}" + local EPYTEST_IGNORE=( + tests/bench + ) + epytest -n "$(makeopts_jobs)" +} diff --git a/dev-python/cryptography/cryptography-43.0.3.ebuild b/dev-python/cryptography/cryptography-43.0.3.ebuild deleted file mode 100644 index dde6f100fd31..000000000000 --- a/dev-python/cryptography/cryptography-43.0.3.ebuild +++ /dev/null @@ -1,134 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=yes -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..13} pypy3 ) -PYTHON_REQ_USE="threads(+)" - -CRATES=" - asn1@0.16.2 - asn1_derive@0.16.2 - autocfg@1.3.0 - base64@0.22.1 - bitflags@2.6.0 - cc@1.1.6 - cfg-if@1.0.0 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - heck@0.5.0 - indoc@2.0.5 - libc@0.2.155 - memoffset@0.9.1 - once_cell@1.19.0 - openssl-macros@0.1.1 - openssl-sys@0.9.104 - openssl@0.10.68 - pem@3.0.4 - pkg-config@0.3.30 - portable-atomic@1.7.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.2 - pyo3-ffi@0.22.2 - pyo3-macros-backend@0.22.2 - pyo3-macros@0.22.2 - pyo3@0.22.2 - quote@1.0.36 - self_cell@1.0.4 - syn@2.0.71 - target-lexicon@0.12.15 - unicode-ident@1.0.12 - unindent@0.2.3 - vcpkg@0.2.15 -" - -inherit cargo distutils-r1 flag-o-matic multiprocessing pypi - -VEC_P=cryptography_vectors-$(ver_cut 1-3) -DESCRIPTION="Library providing cryptographic recipes and primitives" -HOMEPAGE=" - https://github.com/pyca/cryptography/ - https://pypi.org/project/cryptography/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} - test? ( - $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)") - ) -" - -LICENSE="|| ( Apache-2.0 BSD ) PSF-2" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" - -RDEPEND=" - >=dev-libs/openssl-1.0.2o-r6:0= - $(python_gen_cond_dep ' - >=dev-python/cffi-1.8:=[${PYTHON_USEDEP}] - ' 'python*') -" -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}] - dev-python/iso8601[${PYTHON_USEDEP}] - dev-python/pretend[${PYTHON_USEDEP}] - dev-python/pyasn1-modules[${PYTHON_USEDEP}] - dev-python/pytest-subtests[${PYTHON_USEDEP}] - dev-python/pytest-xdist[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - ) -" - -# Files built without CFLAGS/LDFLAGS, acceptable for rust -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so" - -distutils_enable_tests pytest - -src_unpack() { - cargo_src_unpack -} - -src_prepare() { - default - - sed -i -e 's:--benchmark-disable::' pyproject.toml || die - - # work around availability macros not supported in GCC (yet) - if [[ ${CHOST} == *-darwin* ]] ; then - local darwinok=0 - if [[ ${CHOST##*-darwin} -ge 16 ]] ; then - darwinok=1 - fi - sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \ - src/_cffi_src/openssl/src/osrandom_engine.c || die - fi -} - -python_configure_all() { - filter-lto # bug #903908 - - export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 -} - -python_test() { - local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/cryptography_vectors-${PV}" - local EPYTEST_IGNORE=( - tests/bench - ) - epytest -n "$(makeopts_jobs)" -} diff --git a/dev-python/dulwich/dulwich-0.22.4-r1.ebuild b/dev-python/dulwich/dulwich-0.22.4-r1.ebuild new file mode 100644 index 000000000000..ed4304223767 --- /dev/null +++ b/dev-python/dulwich/dulwich-0.22.4-r1.ebuild @@ -0,0 +1,116 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=1 +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +CRATES=" + autocfg@1.4.0 + cfg-if@1.0.0 + heck@0.5.0 + indoc@2.0.5 + libc@0.2.159 + memchr@2.7.4 + memoffset@0.9.1 + once_cell@1.20.2 + portable-atomic@1.9.0 + proc-macro2@1.0.88 + pyo3-build-config@0.22.5 + pyo3-ffi@0.22.5 + pyo3-macros-backend@0.22.5 + pyo3-macros@0.22.5 + pyo3@0.22.5 + quote@1.0.37 + syn@2.0.79 + target-lexicon@0.12.16 + unicode-ident@1.0.13 + unindent@0.2.3 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Pure-Python implementation of the Git file formats and protocols" +HOMEPAGE=" + https://github.com/jelmer/dulwich/ + https://pypi.org/project/dulwich/ +" +SRC_URI+=" + native-extensions? ( + ${CARGO_CRATE_URIS} + ) +" + +LICENSE="GPL-2+ Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="doc examples +native-extensions test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-python/urllib3-1.25[${PYTHON_USEDEP}] +" +BDEPEND=" + native-extensions? ( + ${RUST_DEPEND} + dev-python/setuptools-rust[${PYTHON_USEDEP}] + ) + test? ( + ${RDEPEND} + app-crypt/gpgme[python,${PYTHON_USEDEP}] + dev-python/fastimport[${PYTHON_USEDEP}] + ) +" + +distutils_enable_sphinx docs + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/dulwich/_.*.so" + +src_unpack() { + cargo_src_unpack +} + +src_prepare() { + default + + if use !native-extensions; then + # avoid hard dep on rust via setuptools_rust + # https://github.com/jelmer/dulwich/issues/1405 + sed -i \ + -e '/from setuptools_rust/d' \ + -e '/^rust_extensions = \[/,/^\]/d' \ + setup.py || die + fi +} + +python_compile() { + unset PURE + # TODO: enable Rust extensions + if ! use native-extensions; then + local -x PURE=1 + fi + + distutils-r1_python_compile +} + +python_test() { + # remove interference from the tests that do stuff like user.name + unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE + unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE + unset EMAIL + # Do not use make check which rebuilds the extension and uses -Werror, + # causing unexpected failures. + "${EPYTHON}" -m unittest -v tests.test_suite || + die "tests failed with ${EPYTHON}" +} + +python_install_all() { + if use examples; then + docompress -x "/usr/share/doc/${PF}/examples" + dodoc -r examples + fi + distutils-r1_python_install_all +} diff --git a/dev-python/dulwich/dulwich-0.22.4.ebuild b/dev-python/dulwich/dulwich-0.22.4.ebuild deleted file mode 100644 index ed4304223767..000000000000 --- a/dev-python/dulwich/dulwich-0.22.4.ebuild +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=1 -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} ) - -CRATES=" - autocfg@1.4.0 - cfg-if@1.0.0 - heck@0.5.0 - indoc@2.0.5 - libc@0.2.159 - memchr@2.7.4 - memoffset@0.9.1 - once_cell@1.20.2 - portable-atomic@1.9.0 - proc-macro2@1.0.88 - pyo3-build-config@0.22.5 - pyo3-ffi@0.22.5 - pyo3-macros-backend@0.22.5 - pyo3-macros@0.22.5 - pyo3@0.22.5 - quote@1.0.37 - syn@2.0.79 - target-lexicon@0.12.16 - unicode-ident@1.0.13 - unindent@0.2.3 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Pure-Python implementation of the Git file formats and protocols" -HOMEPAGE=" - https://github.com/jelmer/dulwich/ - https://pypi.org/project/dulwich/ -" -SRC_URI+=" - native-extensions? ( - ${CARGO_CRATE_URIS} - ) -" - -LICENSE="GPL-2+ Apache-2.0" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="doc examples +native-extensions test" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-python/urllib3-1.25[${PYTHON_USEDEP}] -" -BDEPEND=" - native-extensions? ( - ${RUST_DEPEND} - dev-python/setuptools-rust[${PYTHON_USEDEP}] - ) - test? ( - ${RDEPEND} - app-crypt/gpgme[python,${PYTHON_USEDEP}] - dev-python/fastimport[${PYTHON_USEDEP}] - ) -" - -distutils_enable_sphinx docs - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/dulwich/_.*.so" - -src_unpack() { - cargo_src_unpack -} - -src_prepare() { - default - - if use !native-extensions; then - # avoid hard dep on rust via setuptools_rust - # https://github.com/jelmer/dulwich/issues/1405 - sed -i \ - -e '/from setuptools_rust/d' \ - -e '/^rust_extensions = \[/,/^\]/d' \ - setup.py || die - fi -} - -python_compile() { - unset PURE - # TODO: enable Rust extensions - if ! use native-extensions; then - local -x PURE=1 - fi - - distutils-r1_python_compile -} - -python_test() { - # remove interference from the tests that do stuff like user.name - unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE - unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE - unset EMAIL - # Do not use make check which rebuilds the extension and uses -Werror, - # causing unexpected failures. - "${EPYTHON}" -m unittest -v tests.test_suite || - die "tests failed with ${EPYTHON}" -} - -python_install_all() { - if use examples; then - docompress -x "/usr/share/doc/${PF}/examples" - dodoc -r examples - fi - distutils-r1_python_install_all -} diff --git a/dev-python/jellyfish/jellyfish-1.1.0-r1.ebuild b/dev-python/jellyfish/jellyfish-1.1.0-r1.ebuild new file mode 100644 index 000000000000..da3d699aea29 --- /dev/null +++ b/dev-python/jellyfish/jellyfish-1.1.0-r1.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..13} pypy3 ) + +CRATES=" + ahash@0.8.11 + autocfg@1.3.0 + cfg-if@1.0.0 + csv-core@0.1.11 + csv@1.3.0 + getrandom@0.2.15 + heck@0.5.0 + indoc@2.0.5 + itoa@1.0.11 + libc@0.2.155 + memchr@2.7.4 + memoffset@0.9.1 + num-traits@0.2.19 + once_cell@1.19.0 + portable-atomic@1.7.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.2 + pyo3-ffi@0.22.2 + pyo3-macros-backend@0.22.2 + pyo3-macros@0.22.2 + pyo3@0.22.2 + quote@1.0.36 + ryu@1.0.18 + serde@1.0.204 + serde_derive@1.0.204 + smallvec@1.13.2 + syn@2.0.72 + target-lexicon@0.12.15 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-segmentation@1.11.0 + unindent@0.2.3 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Python module for doing approximate and phonetic matching of strings" +HOMEPAGE=" + https://github.com/jamesturk/jellyfish/ + https://pypi.org/project/jellyfish/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86" + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/jellyfish/_rustyfish.*.so" + +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/jellyfish/jellyfish-1.1.0.ebuild b/dev-python/jellyfish/jellyfish-1.1.0.ebuild deleted file mode 100644 index e3bcd852ea94..000000000000 --- a/dev-python/jellyfish/jellyfish-1.1.0.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..13} pypy3 ) - -CRATES=" - ahash@0.8.11 - autocfg@1.3.0 - cfg-if@1.0.0 - csv-core@0.1.11 - csv@1.3.0 - getrandom@0.2.15 - heck@0.5.0 - indoc@2.0.5 - itoa@1.0.11 - libc@0.2.155 - memchr@2.7.4 - memoffset@0.9.1 - num-traits@0.2.19 - once_cell@1.19.0 - portable-atomic@1.7.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.2 - pyo3-ffi@0.22.2 - pyo3-macros-backend@0.22.2 - pyo3-macros@0.22.2 - pyo3@0.22.2 - quote@1.0.36 - ryu@1.0.18 - serde@1.0.204 - serde_derive@1.0.204 - smallvec@1.13.2 - syn@2.0.72 - target-lexicon@0.12.15 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-segmentation@1.11.0 - unindent@0.2.3 - version_check@0.9.5 - wasi@0.11.0+wasi-snapshot-preview1 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Python module for doing approximate and phonetic matching of strings" -HOMEPAGE=" - https://github.com/jamesturk/jellyfish/ - https://pypi.org/project/jellyfish/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86" - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/jellyfish/_rustyfish.*.so" - -distutils_enable_tests pytest - -export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 - -python_test_all() { - cargo_src_test -} diff --git a/dev-python/libcst/libcst-1.5.0-r1.ebuild b/dev-python/libcst/libcst-1.5.0-r1.ebuild new file mode 100644 index 000000000000..ef97ae4e765b --- /dev/null +++ b/dev-python/libcst/libcst-1.5.0-r1.ebuild @@ -0,0 +1,200 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( pypy3 python3_{10..12} ) + +CRATES=" + aho-corasick@1.0.4 + anes@0.1.6 + annotate-snippets@0.6.1 + anstyle@1.0.2 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.4.0 + bumpalo@3.12.0 + cast@0.3.0 + cc@1.0.83 + cfg-if@1.0.0 + chic@1.2.2 + ciborium-io@0.2.0 + ciborium-ll@0.2.0 + ciborium@0.2.0 + clap@4.4.0 + clap_builder@4.4.0 + clap_lex@0.5.1 + criterion-plot@0.5.0 + criterion@0.5.1 + crossbeam-deque@0.8.1 + crossbeam-epoch@0.9.9 + crossbeam-utils@0.8.10 + difference@2.0.0 + either@1.6.1 + equivalent@1.0.1 + errno-dragonfly@0.1.2 + errno@0.3.2 + glob@0.3.0 + half@1.8.2 + hashbrown@0.14.5 + heck@0.4.1 + hermit-abi@0.3.2 + indexmap@2.4.0 + indoc@2.0.4 + instant@0.1.12 + is-terminal@0.4.9 + itertools@0.10.5 + itertools@0.13.0 + itoa@1.0.2 + js-sys@0.3.58 + lazy_static@1.4.0 + libc@0.2.149 + linux-raw-sys@0.4.10 + lock_api@0.4.7 + log@0.4.17 + memchr@2.7.4 + memoffset@0.6.5 + memoffset@0.9.0 + num-traits@0.2.15 + once_cell@1.16.0 + oorandom@11.1.3 + parking_lot@0.11.2 + parking_lot_core@0.8.5 + paste@1.0.15 + peg-macros@0.8.4 + peg-runtime@0.8.3 + peg@0.8.4 + plotters-backend@0.3.2 + plotters-svg@0.3.1 + plotters@0.3.1 + proc-macro2@1.0.86 + pyo3-build-config@0.20.2 + pyo3-ffi@0.20.2 + pyo3-macros-backend@0.20.2 + pyo3-macros@0.20.2 + pyo3@0.20.2 + quote@1.0.37 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.2.13 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.6 + rustix@0.38.19 + ryu@1.0.10 + same-file@1.0.6 + scopeguard@1.1.0 + serde@1.0.208 + serde_derive@1.0.208 + serde_json@1.0.125 + serde_spanned@0.6.7 + smallvec@1.8.1 + syn@1.0.109 + syn@2.0.75 + target-lexicon@0.12.4 + termcolor@1.1.3 + thiserror-impl@1.0.63 + thiserror@1.0.63 + tinytemplate@1.2.1 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.22.20 + trybuild@1.0.99 + unicode-ident@1.0.1 + unindent@0.2.3 + walkdir@2.3.2 + wasm-bindgen-backend@0.2.81 + wasm-bindgen-macro-support@0.2.81 + wasm-bindgen-macro@0.2.81 + wasm-bindgen-shared@0.2.81 + wasm-bindgen@0.2.81 + web-sys@0.3.58 + 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 + 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 + winnow@0.6.18 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="A concrete syntax tree with AST-like properties for Python" +HOMEPAGE=" + https://github.com/Instagram/LibCST/ + https://pypi.org/project/libcst/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT Apache-2.0 PSF-2" +# Dependent crate licenses +LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT" +SLOT="0" +KEYWORDS="amd64 ~riscv" + +RDEPEND=" + >=dev-python/pyyaml-5.2[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] + dev-python/setuptools-scm[${PYTHON_USEDEP}] + test? ( + dev-python/black[${PYTHON_USEDEP}] + ) +" + +EPYTEST_XDIST=1 +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 + libcst/codemod/tests/test_codemod_cli.py::TestCodemodCLI::test_codemod_formatter_error_input + ) + local EPYTEST_IGNORE=( + # fuzzing, require hypothesmith + libcst/tests/test_fuzz.py + # require pyre-check + libcst/metadata/tests/test_type_inference_provider.py + # requires `python -m libcst.codegen.generate` which has extra + # deps and needs patching to work in our venv + # TODO: figure out if we don't need that for revdeps anyway + libcst/codegen/tests/test_codegen_clean.py + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + cd "${BUILD_DIR}/install$(python_get_sitedir)" || die + # fixtures + ln -s "${S}/native" . || die + + nonfatal epytest + local ret=${?} + + rm native || die + + [[ ${ret} -ne 0 ]] && die "Tests failed on ${EPYTHON}" +} + +python_test_all() { + cd native || die + cargo_src_test +} diff --git a/dev-python/libcst/libcst-1.5.0.ebuild b/dev-python/libcst/libcst-1.5.0.ebuild deleted file mode 100644 index 2eb6ef190406..000000000000 --- a/dev-python/libcst/libcst-1.5.0.ebuild +++ /dev/null @@ -1,195 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( pypy3 python3_{10..12} ) - -CRATES=" - aho-corasick@1.0.4 - anes@0.1.6 - annotate-snippets@0.6.1 - anstyle@1.0.2 - autocfg@1.1.0 - bitflags@1.3.2 - bitflags@2.4.0 - bumpalo@3.12.0 - cast@0.3.0 - cc@1.0.83 - cfg-if@1.0.0 - chic@1.2.2 - ciborium-io@0.2.0 - ciborium-ll@0.2.0 - ciborium@0.2.0 - clap@4.4.0 - clap_builder@4.4.0 - clap_lex@0.5.1 - criterion-plot@0.5.0 - criterion@0.5.1 - crossbeam-deque@0.8.1 - crossbeam-epoch@0.9.9 - crossbeam-utils@0.8.10 - difference@2.0.0 - either@1.6.1 - equivalent@1.0.1 - errno-dragonfly@0.1.2 - errno@0.3.2 - glob@0.3.0 - half@1.8.2 - hashbrown@0.14.5 - heck@0.4.1 - hermit-abi@0.3.2 - indexmap@2.4.0 - indoc@2.0.4 - instant@0.1.12 - is-terminal@0.4.9 - itertools@0.10.5 - itertools@0.13.0 - itoa@1.0.2 - js-sys@0.3.58 - lazy_static@1.4.0 - libc@0.2.149 - linux-raw-sys@0.4.10 - lock_api@0.4.7 - log@0.4.17 - memchr@2.7.4 - memoffset@0.6.5 - memoffset@0.9.0 - num-traits@0.2.15 - once_cell@1.16.0 - oorandom@11.1.3 - parking_lot@0.11.2 - parking_lot_core@0.8.5 - paste@1.0.15 - peg-macros@0.8.4 - peg-runtime@0.8.3 - peg@0.8.4 - plotters-backend@0.3.2 - plotters-svg@0.3.1 - plotters@0.3.1 - proc-macro2@1.0.86 - pyo3-build-config@0.20.2 - pyo3-ffi@0.20.2 - pyo3-macros-backend@0.20.2 - pyo3-macros@0.20.2 - pyo3@0.20.2 - quote@1.0.37 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.2.13 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.6 - rustix@0.38.19 - ryu@1.0.10 - same-file@1.0.6 - scopeguard@1.1.0 - serde@1.0.208 - serde_derive@1.0.208 - serde_json@1.0.125 - serde_spanned@0.6.7 - smallvec@1.8.1 - syn@1.0.109 - syn@2.0.75 - target-lexicon@0.12.4 - termcolor@1.1.3 - thiserror-impl@1.0.63 - thiserror@1.0.63 - tinytemplate@1.2.1 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.22.20 - trybuild@1.0.99 - unicode-ident@1.0.1 - unindent@0.2.3 - walkdir@2.3.2 - wasm-bindgen-backend@0.2.81 - wasm-bindgen-macro-support@0.2.81 - wasm-bindgen-macro@0.2.81 - wasm-bindgen-shared@0.2.81 - wasm-bindgen@0.2.81 - web-sys@0.3.58 - 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 - 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 - winnow@0.6.18 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="A concrete syntax tree with AST-like properties for Python" -HOMEPAGE=" - https://github.com/Instagram/LibCST/ - https://pypi.org/project/libcst/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT Apache-2.0 PSF-2" -# Dependent crate licenses -LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT" -SLOT="0" -KEYWORDS="amd64 ~riscv" - -RDEPEND=" - >=dev-python/pyyaml-5.2[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/setuptools-rust[${PYTHON_USEDEP}] - dev-python/setuptools-scm[${PYTHON_USEDEP}] - test? ( - dev-python/black[${PYTHON_USEDEP}] - ) -" - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/libcst/native.*" - -python_test() { - local EPYTEST_DESELECT=( - # TODO - libcst/codemod/tests/test_codemod_cli.py::TestCodemodCLI::test_codemod_formatter_error_input - ) - local EPYTEST_IGNORE=( - # fuzzing, require hypothesmith - libcst/tests/test_fuzz.py - # require pyre-check - libcst/metadata/tests/test_type_inference_provider.py - # requires `python -m libcst.codegen.generate` which has extra - # deps and needs patching to work in our venv - # TODO: figure out if we don't need that for revdeps anyway - libcst/codegen/tests/test_codegen_clean.py - ) - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - cd "${BUILD_DIR}/install$(python_get_sitedir)" || die - # fixtures - ln -s "${S}/native" . || die - - nonfatal epytest - local ret=${?} - - rm native || die - - [[ ${ret} -ne 0 ]] && die "Tests failed on ${EPYTHON}" -} - -python_test_all() { - cd native || die - cargo_src_test -} diff --git a/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20-r1.ebuild b/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20-r1.ebuild new file mode 100644 index 000000000000..8b203a51a8e5 --- /dev/null +++ b/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20-r1.ebuild @@ -0,0 +1,232 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..12} ) + +CRATES=" + adler@1.0.2 + aead@0.5.1 + aho-corasick@0.7.20 + anyhow@1.0.68 + arc-swap@1.6.0 + async-stream-impl@0.3.3 + async-stream@0.3.3 + async-trait@0.1.61 + atty@0.2.14 + autocfg@1.1.0 + axum-core@0.3.1 + axum@0.6.2 + base64@0.13.1 + bitflags@1.3.2 + blake2@0.10.6 + block-buffer@0.10.3 + boringtun@0.5.2 + bumpalo@3.11.1 + byteorder@1.4.3 + bytes@1.3.0 + cc@1.0.78 + cfg-if@1.0.0 + chacha20@0.9.0 + chacha20poly1305@0.10.1 + cipher@0.4.3 + console-api@0.4.0 + console-subscriber@0.1.8 + cpufeatures@0.2.5 + crc32fast@1.3.2 + crossbeam-channel@0.5.6 + crossbeam-utils@0.8.14 + crypto-common@0.1.6 + curve25519-dalek@3.2.0 + digest@0.10.6 + digest@0.9.0 + either@1.8.0 + env_logger@0.9.3 + flate2@1.0.25 + fnv@1.0.7 + futures-channel@0.3.25 + futures-core@0.3.25 + futures-executor@0.3.25 + futures-io@0.3.25 + futures-macro@0.3.25 + futures-sink@0.3.25 + futures-task@0.3.25 + futures-util@0.3.25 + futures@0.3.25 + generic-array@0.14.6 + getrandom@0.1.16 + getrandom@0.2.8 + h2@0.3.15 + hashbrown@0.12.3 + hdrhistogram@7.5.2 + hermit-abi@0.1.19 + hermit-abi@0.2.6 + hex@0.4.3 + hmac@0.12.1 + http-body@0.4.5 + http-range-header@0.3.0 + http@0.2.8 + httparse@1.8.0 + httpdate@1.0.2 + humantime@2.1.0 + hyper-timeout@0.4.1 + hyper@0.14.23 + indexmap@1.9.2 + indoc@1.0.8 + inout@0.1.3 + ip_network@0.4.1 + ip_network_table-deps-treebitmap@0.5.0 + ip_network_table@0.2.0 + itertools@0.10.5 + itoa@1.0.5 + js-sys@0.3.60 + lazy_static@1.4.0 + libc@0.2.139 + lock_api@0.4.9 + log@0.4.17 + managed@0.8.0 + matchers@0.1.0 + matchit@0.7.0 + memchr@2.5.0 + memoffset@0.6.5 + mime@0.3.16 + minimal-lexical@0.2.1 + miniz_oxide@0.6.2 + mio@0.8.5 + nix@0.24.3 + nom@7.1.2 + num-traits@0.2.15 + num_cpus@1.15.0 + once_cell@1.17.0 + opaque-debug@0.3.0 + parking_lot@0.12.1 + parking_lot_core@0.9.6 + percent-encoding@2.2.0 + pin-project-internal@1.0.12 + pin-project-lite@0.2.9 + pin-project@1.0.12 + pin-utils@0.1.0 + poly1305@0.8.0 + ppv-lite86@0.2.17 + pretty-hex@0.3.0 + proc-macro2@1.0.49 + prost-derive@0.11.6 + prost-types@0.11.6 + prost@0.11.6 + pyo3-asyncio@0.17.0 + pyo3-build-config@0.17.3 + pyo3-ffi@0.17.3 + pyo3-log@0.7.0 + pyo3-macros-backend@0.17.3 + pyo3-macros@0.17.3 + pyo3@0.17.3 + quote@1.0.23 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.5.1 + rand_core@0.6.4 + redox_syscall@0.2.16 + regex-automata@0.1.10 + regex-syntax@0.6.28 + regex@1.7.1 + ring@0.16.20 + rustversion@1.0.11 + ryu@1.0.12 + scopeguard@1.1.0 + serde@1.0.152 + serde_derive@1.0.152 + serde_json@1.0.91 + sharded-slab@0.1.4 + signal-hook-registry@1.4.0 + slab@0.4.7 + smallvec@1.10.0 + smoltcp@0.8.2 + socket2@0.4.7 + spin@0.5.2 + subtle@2.4.1 + syn@1.0.107 + sync_wrapper@0.1.1 + synstructure@0.12.6 + target-lexicon@0.12.5 + termcolor@1.1.3 + thread_local@1.1.4 + tokio-io-timeout@1.2.0 + tokio-macros@1.8.2 + tokio-stream@0.1.11 + tokio-util@0.7.4 + tokio@1.24.1 + tonic@0.8.3 + tower-http@0.3.5 + tower-layer@0.3.2 + tower-service@0.3.2 + tower@0.4.13 + tracing-attributes@0.1.23 + tracing-core@0.1.30 + tracing-futures@0.2.5 + tracing-subscriber@0.3.16 + tracing@0.1.37 + try-lock@0.2.4 + typenum@1.16.0 + unicode-ident@1.0.6 + unicode-xid@0.2.4 + unindent@0.1.11 + universal-hash@0.5.0 + untrusted@0.7.1 + untrusted@0.9.0 + valuable@0.1.0 + version_check@0.9.4 + want@0.3.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasi@0.9.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 + 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 + 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 + x25519-dalek@2.0.0-pre.1 + zeroize@1.5.7 + zeroize_derive@1.3.3 +" + +inherit cargo distutils-r1 + +DESCRIPTION="WireGuard frontend for mitmproxy" +HOMEPAGE="https://github.com/decathorpe/mitmproxy_wireguard" +SRC_URI=" + https://github.com/decathorpe/mitmproxy_wireguard/archive/${PV}.tar.gz -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT + Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~x86" + +RDEPEND="" +BDEPEND="dev-python/setuptools-rust[${PYTHON_USEDEP}]" + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/${PN}/${PN}.*.so" + +src_test() { + cargo_src_test +} diff --git a/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild b/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild deleted file mode 100644 index 8b203a51a8e5..000000000000 --- a/dev-python/mitmproxy_wireguard/mitmproxy_wireguard-0.1.20.ebuild +++ /dev/null @@ -1,232 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..12} ) - -CRATES=" - adler@1.0.2 - aead@0.5.1 - aho-corasick@0.7.20 - anyhow@1.0.68 - arc-swap@1.6.0 - async-stream-impl@0.3.3 - async-stream@0.3.3 - async-trait@0.1.61 - atty@0.2.14 - autocfg@1.1.0 - axum-core@0.3.1 - axum@0.6.2 - base64@0.13.1 - bitflags@1.3.2 - blake2@0.10.6 - block-buffer@0.10.3 - boringtun@0.5.2 - bumpalo@3.11.1 - byteorder@1.4.3 - bytes@1.3.0 - cc@1.0.78 - cfg-if@1.0.0 - chacha20@0.9.0 - chacha20poly1305@0.10.1 - cipher@0.4.3 - console-api@0.4.0 - console-subscriber@0.1.8 - cpufeatures@0.2.5 - crc32fast@1.3.2 - crossbeam-channel@0.5.6 - crossbeam-utils@0.8.14 - crypto-common@0.1.6 - curve25519-dalek@3.2.0 - digest@0.10.6 - digest@0.9.0 - either@1.8.0 - env_logger@0.9.3 - flate2@1.0.25 - fnv@1.0.7 - futures-channel@0.3.25 - futures-core@0.3.25 - futures-executor@0.3.25 - futures-io@0.3.25 - futures-macro@0.3.25 - futures-sink@0.3.25 - futures-task@0.3.25 - futures-util@0.3.25 - futures@0.3.25 - generic-array@0.14.6 - getrandom@0.1.16 - getrandom@0.2.8 - h2@0.3.15 - hashbrown@0.12.3 - hdrhistogram@7.5.2 - hermit-abi@0.1.19 - hermit-abi@0.2.6 - hex@0.4.3 - hmac@0.12.1 - http-body@0.4.5 - http-range-header@0.3.0 - http@0.2.8 - httparse@1.8.0 - httpdate@1.0.2 - humantime@2.1.0 - hyper-timeout@0.4.1 - hyper@0.14.23 - indexmap@1.9.2 - indoc@1.0.8 - inout@0.1.3 - ip_network@0.4.1 - ip_network_table-deps-treebitmap@0.5.0 - ip_network_table@0.2.0 - itertools@0.10.5 - itoa@1.0.5 - js-sys@0.3.60 - lazy_static@1.4.0 - libc@0.2.139 - lock_api@0.4.9 - log@0.4.17 - managed@0.8.0 - matchers@0.1.0 - matchit@0.7.0 - memchr@2.5.0 - memoffset@0.6.5 - mime@0.3.16 - minimal-lexical@0.2.1 - miniz_oxide@0.6.2 - mio@0.8.5 - nix@0.24.3 - nom@7.1.2 - num-traits@0.2.15 - num_cpus@1.15.0 - once_cell@1.17.0 - opaque-debug@0.3.0 - parking_lot@0.12.1 - parking_lot_core@0.9.6 - percent-encoding@2.2.0 - pin-project-internal@1.0.12 - pin-project-lite@0.2.9 - pin-project@1.0.12 - pin-utils@0.1.0 - poly1305@0.8.0 - ppv-lite86@0.2.17 - pretty-hex@0.3.0 - proc-macro2@1.0.49 - prost-derive@0.11.6 - prost-types@0.11.6 - prost@0.11.6 - pyo3-asyncio@0.17.0 - pyo3-build-config@0.17.3 - pyo3-ffi@0.17.3 - pyo3-log@0.7.0 - pyo3-macros-backend@0.17.3 - pyo3-macros@0.17.3 - pyo3@0.17.3 - quote@1.0.23 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.5.1 - rand_core@0.6.4 - redox_syscall@0.2.16 - regex-automata@0.1.10 - regex-syntax@0.6.28 - regex@1.7.1 - ring@0.16.20 - rustversion@1.0.11 - ryu@1.0.12 - scopeguard@1.1.0 - serde@1.0.152 - serde_derive@1.0.152 - serde_json@1.0.91 - sharded-slab@0.1.4 - signal-hook-registry@1.4.0 - slab@0.4.7 - smallvec@1.10.0 - smoltcp@0.8.2 - socket2@0.4.7 - spin@0.5.2 - subtle@2.4.1 - syn@1.0.107 - sync_wrapper@0.1.1 - synstructure@0.12.6 - target-lexicon@0.12.5 - termcolor@1.1.3 - thread_local@1.1.4 - tokio-io-timeout@1.2.0 - tokio-macros@1.8.2 - tokio-stream@0.1.11 - tokio-util@0.7.4 - tokio@1.24.1 - tonic@0.8.3 - tower-http@0.3.5 - tower-layer@0.3.2 - tower-service@0.3.2 - tower@0.4.13 - tracing-attributes@0.1.23 - tracing-core@0.1.30 - tracing-futures@0.2.5 - tracing-subscriber@0.3.16 - tracing@0.1.37 - try-lock@0.2.4 - typenum@1.16.0 - unicode-ident@1.0.6 - unicode-xid@0.2.4 - unindent@0.1.11 - universal-hash@0.5.0 - untrusted@0.7.1 - untrusted@0.9.0 - valuable@0.1.0 - version_check@0.9.4 - want@0.3.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasi@0.9.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 - 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 - 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 - x25519-dalek@2.0.0-pre.1 - zeroize@1.5.7 - zeroize_derive@1.3.3 -" - -inherit cargo distutils-r1 - -DESCRIPTION="WireGuard frontend for mitmproxy" -HOMEPAGE="https://github.com/decathorpe/mitmproxy_wireguard" -SRC_URI=" - https://github.com/decathorpe/mitmproxy_wireguard/archive/${PV}.tar.gz -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT - Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~x86" - -RDEPEND="" -BDEPEND="dev-python/setuptools-rust[${PYTHON_USEDEP}]" - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/${PN}/${PN}.*.so" - -src_test() { - cargo_src_test -} diff --git a/dev-python/nh3/nh3-0.2.18-r1.ebuild b/dev-python/nh3/nh3-0.2.18-r1.ebuild new file mode 100644 index 000000000000..14e9c185d518 --- /dev/null +++ b/dev-python/nh3/nh3-0.2.18-r1.ebuild @@ -0,0 +1,113 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + ammonia@4.0.0 + autocfg@1.3.0 + bitflags@2.6.0 + cfg-if@1.0.0 + form_urlencoded@1.2.1 + futf@0.1.5 + getrandom@0.2.15 + heck@0.5.0 + html5ever@0.27.0 + idna@0.5.0 + indoc@2.0.5 + libc@0.2.155 + lock_api@0.4.12 + log@0.4.22 + mac@0.1.1 + maplit@1.0.2 + markup5ever@0.12.1 + memoffset@0.9.1 + new_debug_unreachable@1.0.6 + once_cell@1.19.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + percent-encoding@2.3.1 + phf@0.11.2 + phf_codegen@0.11.2 + phf_generator@0.10.0 + phf_generator@0.11.2 + phf_shared@0.10.0 + phf_shared@0.11.2 + portable-atomic@1.6.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + proc-macro2@1.0.86 + pyo3-build-config@0.22.0 + pyo3-ffi@0.22.0 + pyo3-macros-backend@0.22.0 + pyo3-macros@0.22.0 + pyo3@0.22.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.5.2 + scopeguard@1.2.0 + serde@1.0.204 + serde_derive@1.0.204 + siphasher@0.3.11 + smallvec@1.13.2 + string_cache@0.8.7 + string_cache_codegen@0.5.2 + syn@2.0.69 + target-lexicon@0.12.14 + tendril@0.4.3 + tinyvec@1.7.0 + tinyvec_macros@0.1.1 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unindent@0.2.3 + url@2.5.2 + utf-8@0.7.6 + wasi@0.11.0+wasi-snapshot-preview1 + 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 +" + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Ammonia HTML sanitizer Python binding" +HOMEPAGE=" + https://github.com/messense/nh3/ + https://pypi.org/project/nh3/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" + +distutils_enable_tests pytest + +# Rust +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/nh3/nh3.*.so" + +src_prepare() { + distutils-r1_src_prepare + + # force unstable ABI to workaround stable ABI crash in py3.13 + # https://github.com/PyO3/pyo3/issues/4311 + sed -i -e 's:"abi3-py37",::' Cargo.toml || die + export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 +} diff --git a/dev-python/nh3/nh3-0.2.18.ebuild b/dev-python/nh3/nh3-0.2.18.ebuild deleted file mode 100644 index 14e9c185d518..000000000000 --- a/dev-python/nh3/nh3-0.2.18.ebuild +++ /dev/null @@ -1,113 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - ammonia@4.0.0 - autocfg@1.3.0 - bitflags@2.6.0 - cfg-if@1.0.0 - form_urlencoded@1.2.1 - futf@0.1.5 - getrandom@0.2.15 - heck@0.5.0 - html5ever@0.27.0 - idna@0.5.0 - indoc@2.0.5 - libc@0.2.155 - lock_api@0.4.12 - log@0.4.22 - mac@0.1.1 - maplit@1.0.2 - markup5ever@0.12.1 - memoffset@0.9.1 - new_debug_unreachable@1.0.6 - once_cell@1.19.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - percent-encoding@2.3.1 - phf@0.11.2 - phf_codegen@0.11.2 - phf_generator@0.10.0 - phf_generator@0.11.2 - phf_shared@0.10.0 - phf_shared@0.11.2 - portable-atomic@1.6.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - proc-macro2@1.0.86 - pyo3-build-config@0.22.0 - pyo3-ffi@0.22.0 - pyo3-macros-backend@0.22.0 - pyo3-macros@0.22.0 - pyo3@0.22.0 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redox_syscall@0.5.2 - scopeguard@1.2.0 - serde@1.0.204 - serde_derive@1.0.204 - siphasher@0.3.11 - smallvec@1.13.2 - string_cache@0.8.7 - string_cache_codegen@0.5.2 - syn@2.0.69 - target-lexicon@0.12.14 - tendril@0.4.3 - tinyvec@1.7.0 - tinyvec_macros@0.1.1 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unindent@0.2.3 - url@2.5.2 - utf-8@0.7.6 - wasi@0.11.0+wasi-snapshot-preview1 - 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 -" - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Ammonia HTML sanitizer Python binding" -HOMEPAGE=" - https://github.com/messense/nh3/ - https://pypi.org/project/nh3/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" - -distutils_enable_tests pytest - -# Rust -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/nh3/nh3.*.so" - -src_prepare() { - distutils-r1_src_prepare - - # force unstable ABI to workaround stable ABI crash in py3.13 - # https://github.com/PyO3/pyo3/issues/4311 - sed -i -e 's:"abi3-py37",::' Cargo.toml || die - export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 -} diff --git a/dev-python/orjson/orjson-3.10.10-r1.ebuild b/dev-python/orjson/orjson-3.10.10-r1.ebuild new file mode 100644 index 000000000000..2b4112470abe --- /dev/null +++ b/dev-python/orjson/orjson-3.10.10-r1.ebuild @@ -0,0 +1,89 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..13} ) + +CRATES=" + arrayvec@0.7.6 + associative-cache@2.0.0 + bytecount@0.6.8 + castaway@0.2.3 + cc@1.1.31 + cfg-if@1.0.0 + compact_str@0.8.0 + crunchy@0.2.2 + encoding_rs@0.8.34 + gimli@0.30.0 + half@2.4.1 + itoa@1.0.11 + itoap@1.0.1 + jiff@0.1.13 + libc@0.2.161 + memchr@2.7.4 + no-panic@0.1.30 + once_cell@1.20.2 + proc-macro2@1.0.88 + quote@1.0.37 + rustversion@1.0.18 + ryu@1.0.18 + serde@1.0.211 + serde_derive@1.0.211 + serde_json@1.0.132 + shlex@1.3.0 + simdutf8@0.1.5 + smallvec@1.13.2 + static_assertions@1.1.0 + syn@2.0.82 + target-lexicon@0.12.16 + unicode-ident@1.0.13 + unwinding@0.2.2 + version_check@0.9.5 + 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" +HOMEPAGE=" + https://github.com/ijl/orjson/ + https://pypi.org/project/orjson/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + test? ( + dev-python/arrow[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + ' 'python3*') + ) +" + +QA_FLAGS_IGNORED=".*" + +distutils_enable_tests pytest + +export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/orjson/orjson-3.10.10.ebuild b/dev-python/orjson/orjson-3.10.10.ebuild deleted file mode 100644 index cbc4ab2ab2b7..000000000000 --- a/dev-python/orjson/orjson-3.10.10.ebuild +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..13} ) - -CRATES=" - arrayvec@0.7.6 - associative-cache@2.0.0 - bytecount@0.6.8 - castaway@0.2.3 - cc@1.1.31 - cfg-if@1.0.0 - compact_str@0.8.0 - crunchy@0.2.2 - encoding_rs@0.8.34 - gimli@0.30.0 - half@2.4.1 - itoa@1.0.11 - itoap@1.0.1 - jiff@0.1.13 - libc@0.2.161 - memchr@2.7.4 - no-panic@0.1.30 - once_cell@1.20.2 - proc-macro2@1.0.88 - quote@1.0.37 - rustversion@1.0.18 - ryu@1.0.18 - serde@1.0.211 - serde_derive@1.0.211 - serde_json@1.0.132 - shlex@1.3.0 - simdutf8@0.1.5 - smallvec@1.13.2 - static_assertions@1.1.0 - syn@2.0.82 - target-lexicon@0.12.16 - unicode-ident@1.0.13 - unwinding@0.2.2 - version_check@0.9.5 - xxhash-rust@0.8.12 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" -HOMEPAGE=" - https://github.com/ijl/orjson/ - https://pypi.org/project/orjson/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="|| ( Apache-2.0 MIT )" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-DFS-2016 -" -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}] - dev-python/pytz[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - ' 'python3*') - ) -" - -QA_FLAGS_IGNORED=".*" - -distutils_enable_tests pytest - -export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/orjson/orjson-3.10.11-r1.ebuild b/dev-python/orjson/orjson-3.10.11-r1.ebuild new file mode 100644 index 000000000000..3a501dfa5083 --- /dev/null +++ b/dev-python/orjson/orjson-3.10.11-r1.ebuild @@ -0,0 +1,89 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..13} ) + +CRATES=" + associative-cache@2.0.0 + bytecount@0.6.8 + castaway@0.2.3 + cc@1.1.31 + cfg-if@1.0.0 + compact_str@0.8.0 + crunchy@0.2.2 + encoding_rs@0.8.35 + gimli@0.30.0 + half@2.4.1 + itoa@1.0.11 + itoap@1.0.1 + jiff@0.1.14 + libc@0.2.161 + memchr@2.7.4 + no-panic@0.1.30 + once_cell@1.20.2 + proc-macro2@1.0.89 + quote@1.0.37 + rustversion@1.0.18 + ryu@1.0.18 + serde@1.0.214 + serde_derive@1.0.214 + serde_json@1.0.132 + shlex@1.3.0 + simdutf8@0.1.5 + smallvec@1.13.2 + static_assertions@1.1.0 + syn@2.0.86 + target-lexicon@0.12.16 + unicode-ident@1.0.13 + unwinding@0.2.2 + uuid@1.11.0 + version_check@0.9.5 + 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" +HOMEPAGE=" + https://github.com/ijl/orjson/ + https://pypi.org/project/orjson/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + test? ( + dev-python/arrow[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + ' 'python3*') + ) +" + +QA_FLAGS_IGNORED=".*" + +distutils_enable_tests pytest + +export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/orjson/orjson-3.10.11.ebuild b/dev-python/orjson/orjson-3.10.11.ebuild deleted file mode 100644 index 5c03b8c36edb..000000000000 --- a/dev-python/orjson/orjson-3.10.11.ebuild +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..13} ) - -CRATES=" - associative-cache@2.0.0 - bytecount@0.6.8 - castaway@0.2.3 - cc@1.1.31 - cfg-if@1.0.0 - compact_str@0.8.0 - crunchy@0.2.2 - encoding_rs@0.8.35 - gimli@0.30.0 - half@2.4.1 - itoa@1.0.11 - itoap@1.0.1 - jiff@0.1.14 - libc@0.2.161 - memchr@2.7.4 - no-panic@0.1.30 - once_cell@1.20.2 - proc-macro2@1.0.89 - quote@1.0.37 - rustversion@1.0.18 - ryu@1.0.18 - serde@1.0.214 - serde_derive@1.0.214 - serde_json@1.0.132 - shlex@1.3.0 - simdutf8@0.1.5 - smallvec@1.13.2 - static_assertions@1.1.0 - syn@2.0.86 - target-lexicon@0.12.16 - unicode-ident@1.0.13 - unwinding@0.2.2 - uuid@1.11.0 - version_check@0.9.5 - xxhash-rust@0.8.12 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" -HOMEPAGE=" - https://github.com/ijl/orjson/ - https://pypi.org/project/orjson/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="|| ( Apache-2.0 MIT )" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-DFS-2016 -" -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}] - dev-python/pytz[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - ' 'python3*') - ) -" - -QA_FLAGS_IGNORED=".*" - -distutils_enable_tests pytest - -export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/orjson/orjson-3.10.7-r1.ebuild b/dev-python/orjson/orjson-3.10.7-r1.ebuild new file mode 100644 index 000000000000..7a61a1451002 --- /dev/null +++ b/dev-python/orjson/orjson-3.10.7-r1.ebuild @@ -0,0 +1,93 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..13} ) + +CRATES=" + arrayvec@0.7.4 + associative-cache@2.0.0 + autocfg@1.3.0 + beef@0.5.2 + bytecount@0.6.8 + castaway@0.2.3 + cc@1.1.8 + cfg-if@1.0.0 + chrono@0.4.34 + compact_str@0.8.0 + crunchy@0.2.2 + encoding_rs@0.8.34 + gimli@0.30.0 + half@2.4.1 + itoa@1.0.11 + itoap@1.0.1 + libc@0.2.155 + memchr@2.7.4 + no-panic@0.1.30 + num-traits@0.2.19 + once_cell@1.19.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.2 + pyo3-ffi@0.22.2 + quote@1.0.36 + rustversion@1.0.17 + ryu@1.0.18 + serde@1.0.205 + serde_derive@1.0.205 + serde_json@1.0.122 + simdutf8@0.1.4 + smallvec@1.13.2 + static_assertions@1.1.0 + syn@2.0.72 + target-lexicon@0.12.16 + unicode-ident@1.0.12 + unwinding@0.2.2 + version_check@0.9.5 + 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" +HOMEPAGE=" + https://github.com/ijl/orjson/ + https://pypi.org/project/orjson/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" + +BDEPEND=" + test? ( + dev-python/arrow[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + ' 'python3*') + ) +" + +QA_FLAGS_IGNORED=".*" + +distutils_enable_tests pytest + +export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/orjson/orjson-3.10.7.ebuild b/dev-python/orjson/orjson-3.10.7.ebuild deleted file mode 100644 index f19958a1c0bf..000000000000 --- a/dev-python/orjson/orjson-3.10.7.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..13} ) - -CRATES=" - arrayvec@0.7.4 - associative-cache@2.0.0 - autocfg@1.3.0 - beef@0.5.2 - bytecount@0.6.8 - castaway@0.2.3 - cc@1.1.8 - cfg-if@1.0.0 - chrono@0.4.34 - compact_str@0.8.0 - crunchy@0.2.2 - encoding_rs@0.8.34 - gimli@0.30.0 - half@2.4.1 - itoa@1.0.11 - itoap@1.0.1 - libc@0.2.155 - memchr@2.7.4 - no-panic@0.1.30 - num-traits@0.2.19 - once_cell@1.19.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.2 - pyo3-ffi@0.22.2 - quote@1.0.36 - rustversion@1.0.17 - ryu@1.0.18 - serde@1.0.205 - serde_derive@1.0.205 - serde_json@1.0.122 - simdutf8@0.1.4 - smallvec@1.13.2 - static_assertions@1.1.0 - syn@2.0.72 - target-lexicon@0.12.16 - unicode-ident@1.0.12 - unwinding@0.2.2 - version_check@0.9.5 - xxhash-rust@0.8.12 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" -HOMEPAGE=" - https://github.com/ijl/orjson/ - https://pypi.org/project/orjson/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="|| ( Apache-2.0 MIT )" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-DFS-2016 -" -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}] - dev-python/pytz[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - ' 'python3*') - ) -" - -QA_FLAGS_IGNORED=".*" - -distutils_enable_tests pytest - -export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/orjson/orjson-3.10.9-r1.ebuild b/dev-python/orjson/orjson-3.10.9-r1.ebuild new file mode 100644 index 000000000000..738c33a18fb6 --- /dev/null +++ b/dev-python/orjson/orjson-3.10.9-r1.ebuild @@ -0,0 +1,89 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..13} ) + +CRATES=" + arrayvec@0.7.6 + associative-cache@2.0.0 + bytecount@0.6.8 + castaway@0.2.3 + cc@1.1.31 + cfg-if@1.0.0 + compact_str@0.8.0 + crunchy@0.2.2 + encoding_rs@0.8.34 + gimli@0.30.0 + half@2.4.1 + itoa@1.0.11 + itoap@1.0.1 + jiff@0.1.13 + libc@0.2.161 + memchr@2.7.4 + no-panic@0.1.30 + once_cell@1.20.2 + proc-macro2@1.0.88 + quote@1.0.37 + rustversion@1.0.18 + ryu@1.0.18 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.131 + shlex@1.3.0 + simdutf8@0.1.5 + smallvec@1.13.2 + static_assertions@1.1.0 + syn@2.0.79 + target-lexicon@0.12.16 + unicode-ident@1.0.13 + unwinding@0.2.2 + version_check@0.9.5 + 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" +HOMEPAGE=" + https://github.com/ijl/orjson/ + https://pypi.org/project/orjson/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +BDEPEND=" + test? ( + dev-python/arrow[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + ' 'python3*') + ) +" + +QA_FLAGS_IGNORED=".*" + +distutils_enable_tests pytest + +export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + epytest +} diff --git a/dev-python/orjson/orjson-3.10.9.ebuild b/dev-python/orjson/orjson-3.10.9.ebuild deleted file mode 100644 index ed6c5c62af3c..000000000000 --- a/dev-python/orjson/orjson-3.10.9.ebuild +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..13} ) - -CRATES=" - arrayvec@0.7.6 - associative-cache@2.0.0 - bytecount@0.6.8 - castaway@0.2.3 - cc@1.1.31 - cfg-if@1.0.0 - compact_str@0.8.0 - crunchy@0.2.2 - encoding_rs@0.8.34 - gimli@0.30.0 - half@2.4.1 - itoa@1.0.11 - itoap@1.0.1 - jiff@0.1.13 - libc@0.2.161 - memchr@2.7.4 - no-panic@0.1.30 - once_cell@1.20.2 - proc-macro2@1.0.88 - quote@1.0.37 - rustversion@1.0.18 - ryu@1.0.18 - serde@1.0.210 - serde_derive@1.0.210 - serde_json@1.0.131 - shlex@1.3.0 - simdutf8@0.1.5 - smallvec@1.13.2 - static_assertions@1.1.0 - syn@2.0.79 - target-lexicon@0.12.16 - unicode-ident@1.0.13 - unwinding@0.2.2 - version_check@0.9.5 - xxhash-rust@0.8.12 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" -HOMEPAGE=" - https://github.com/ijl/orjson/ - https://pypi.org/project/orjson/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="|| ( Apache-2.0 MIT )" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-DFS-2016 -" -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}] - dev-python/pytz[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - ' 'python3*') - ) -" - -QA_FLAGS_IGNORED=".*" - -distutils_enable_tests pytest - -export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - epytest -} diff --git a/dev-python/pydantic-core/pydantic-core-2.23.4-r1.ebuild b/dev-python/pydantic-core/pydantic-core-2.23.4-r1.ebuild new file mode 100644 index 000000000000..cfe9a3db749c --- /dev/null +++ b/dev-python/pydantic-core/pydantic-core-2.23.4-r1.ebuild @@ -0,0 +1,166 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.3 + autocfg@1.3.0 + base64@0.22.1 + bitvec@1.0.1 + cc@1.0.101 + cfg-if@1.0.0 + displaydoc@0.2.5 + enum_dispatch@0.3.13 + equivalent@1.0.1 + form_urlencoded@1.2.1 + funty@2.0.0 + getrandom@0.2.15 + hashbrown@0.14.5 + heck@0.5.0 + hex@0.4.3 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idna@0.5.0 + idna@1.0.2 + indexmap@2.2.6 + indoc@2.0.5 + itoa@1.0.11 + jiter@0.5.0 + lexical-parse-float@0.8.5 + lexical-parse-integer@0.8.6 + lexical-util@0.8.5 + libc@0.2.155 + litemap@0.7.3 + memchr@2.7.4 + memoffset@0.9.1 + num-bigint@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + once_cell@1.19.0 + percent-encoding@2.3.1 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.2 + pyo3-ffi@0.22.2 + pyo3-macros-backend@0.22.2 + pyo3-macros@0.22.2 + pyo3@0.22.2 + python3-dll-a@0.2.10 + quote@1.0.36 + radium@0.7.0 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.6 + rustversion@1.0.17 + ryu@1.0.18 + serde@1.0.209 + serde_derive@1.0.209 + serde_json@1.0.128 + smallvec@1.13.2 + speedate@0.14.4 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strum@0.26.3 + strum_macros@0.26.4 + syn@2.0.68 + synstructure@0.13.1 + tap@1.0.1 + target-lexicon@0.12.14 + tinystr@0.7.6 + tinyvec@1.6.1 + tinyvec_macros@0.1.1 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unindent@0.2.3 + url@2.5.2 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + uuid@1.10.0 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + write16@1.0.0 + writeable@0.5.5 + wyz@0.5.1 + yoke-derive@0.7.4 + yoke@0.7.4 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Core validation logic for pydantic written in Rust" +HOMEPAGE=" + https://github.com/pydantic/pydantic-core/ + https://pypi.org/project/pydantic-core/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" + +RDEPEND=" + >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}] + >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" + +src_prepare() { + sed -i -e '/--benchmark/d' pyproject.toml || die + sed -i -e '/^strip/d' Cargo.toml || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_IGNORE=( + tests/benchmarks + ) + local EPYTEST_DESELECT=( + # TODO: recursion till segfault + tests/serializers/test_functions.py::test_recursive_call + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + rm -rf pydantic_core || die + # tests link to libpython, so they fail to link on pypy3 + [[ ${EPYTHON} != pypy3 ]] && cargo_src_test + epytest -p pytest_mock -p timeout -o xfail_strict=False +} diff --git a/dev-python/pydantic-core/pydantic-core-2.23.4.ebuild b/dev-python/pydantic-core/pydantic-core-2.23.4.ebuild deleted file mode 100644 index 861953aeca39..000000000000 --- a/dev-python/pydantic-core/pydantic-core-2.23.4.ebuild +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - aho-corasick@1.1.3 - autocfg@1.3.0 - base64@0.22.1 - bitvec@1.0.1 - cc@1.0.101 - cfg-if@1.0.0 - displaydoc@0.2.5 - enum_dispatch@0.3.13 - equivalent@1.0.1 - form_urlencoded@1.2.1 - funty@2.0.0 - getrandom@0.2.15 - hashbrown@0.14.5 - heck@0.5.0 - hex@0.4.3 - icu_collections@1.5.0 - icu_locid@1.5.0 - icu_locid_transform@1.5.0 - icu_locid_transform_data@1.5.0 - icu_normalizer@1.5.0 - icu_normalizer_data@1.5.0 - icu_properties@1.5.1 - icu_properties_data@1.5.0 - icu_provider@1.5.0 - icu_provider_macros@1.5.0 - idna@0.5.0 - idna@1.0.2 - indexmap@2.2.6 - indoc@2.0.5 - itoa@1.0.11 - jiter@0.5.0 - lexical-parse-float@0.8.5 - lexical-parse-integer@0.8.6 - lexical-util@0.8.5 - libc@0.2.155 - litemap@0.7.3 - memchr@2.7.4 - memoffset@0.9.1 - num-bigint@0.4.6 - num-integer@0.1.46 - num-traits@0.2.19 - once_cell@1.19.0 - percent-encoding@2.3.1 - portable-atomic@1.6.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.2 - pyo3-ffi@0.22.2 - pyo3-macros-backend@0.22.2 - pyo3-macros@0.22.2 - pyo3@0.22.2 - python3-dll-a@0.2.10 - quote@1.0.36 - radium@0.7.0 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.6 - rustversion@1.0.17 - ryu@1.0.18 - serde@1.0.209 - serde_derive@1.0.209 - serde_json@1.0.128 - smallvec@1.13.2 - speedate@0.14.4 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - strum@0.26.3 - strum_macros@0.26.4 - syn@2.0.68 - synstructure@0.13.1 - tap@1.0.1 - target-lexicon@0.12.14 - tinystr@0.7.6 - tinyvec@1.6.1 - tinyvec_macros@0.1.1 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unindent@0.2.3 - url@2.5.2 - utf16_iter@1.0.5 - utf8_iter@1.0.4 - uuid@1.10.0 - version_check@0.9.5 - wasi@0.11.0+wasi-snapshot-preview1 - write16@1.0.0 - writeable@0.5.5 - wyz@0.5.1 - yoke-derive@0.7.4 - yoke@0.7.4 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zerofrom-derive@0.1.4 - zerofrom@0.1.4 - zerovec-derive@0.10.3 - zerovec@0.10.4 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Core validation logic for pydantic written in Rust" -HOMEPAGE=" - https://github.com/pydantic/pydantic-core/ - https://pypi.org/project/pydantic-core/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" - -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}] - >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}] - >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}] - >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" - -src_prepare() { - sed -i -e '/--benchmark/d' pyproject.toml || die - sed -i -e '/^strip/d' Cargo.toml || die - distutils-r1_src_prepare -} - -python_test() { - local EPYTEST_IGNORE=( - tests/benchmarks - ) - local EPYTEST_DESELECT=( - # TODO: recursion till segfault - tests/serializers/test_functions.py::test_recursive_call - ) - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - rm -rf pydantic_core || die - # tests link to libpython, so they fail to link on pypy3 - [[ ${EPYTHON} != pypy3 ]] && cargo_src_test - epytest -p pytest_mock -p timeout -o xfail_strict=False -} diff --git a/dev-python/pydantic-core/pydantic-core-2.25.0-r1.ebuild b/dev-python/pydantic-core/pydantic-core-2.25.0-r1.ebuild new file mode 100644 index 000000000000..eb5decd5dfc7 --- /dev/null +++ b/dev-python/pydantic-core/pydantic-core-2.25.0-r1.ebuild @@ -0,0 +1,166 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.3 + autocfg@1.3.0 + base64@0.22.1 + bitvec@1.0.1 + cc@1.0.101 + cfg-if@1.0.0 + displaydoc@0.2.5 + enum_dispatch@0.3.13 + equivalent@1.0.1 + form_urlencoded@1.2.1 + funty@2.0.0 + getrandom@0.2.15 + hashbrown@0.14.5 + heck@0.5.0 + hex@0.4.3 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idna@0.5.0 + idna@1.0.2 + indexmap@2.2.6 + indoc@2.0.5 + itoa@1.0.11 + jiter@0.5.0 + lexical-parse-float@0.8.5 + lexical-parse-integer@0.8.6 + lexical-util@0.8.5 + libc@0.2.155 + litemap@0.7.3 + memchr@2.7.4 + memoffset@0.9.1 + num-bigint@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + once_cell@1.19.0 + percent-encoding@2.3.1 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.5 + pyo3-ffi@0.22.5 + pyo3-macros-backend@0.22.5 + pyo3-macros@0.22.5 + pyo3@0.22.5 + python3-dll-a@0.2.10 + quote@1.0.36 + radium@0.7.0 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.0 + rustversion@1.0.17 + ryu@1.0.18 + serde@1.0.213 + serde_derive@1.0.213 + serde_json@1.0.132 + smallvec@1.13.2 + speedate@0.14.4 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strum@0.26.3 + strum_macros@0.26.4 + syn@2.0.82 + synstructure@0.13.1 + tap@1.0.1 + target-lexicon@0.12.14 + tinystr@0.7.6 + tinyvec@1.6.1 + tinyvec_macros@0.1.1 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unindent@0.2.3 + url@2.5.2 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + uuid@1.11.0 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + write16@1.0.0 + writeable@0.5.5 + wyz@0.5.1 + yoke-derive@0.7.4 + yoke@0.7.4 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Core validation logic for pydantic written in Rust" +HOMEPAGE=" + https://github.com/pydantic/pydantic-core/ + https://pypi.org/project/pydantic-core/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}] + >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" + +src_prepare() { + sed -i -e '/--benchmark/d' pyproject.toml || die + sed -i -e '/^strip/d' Cargo.toml || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_IGNORE=( + tests/benchmarks + ) + local EPYTEST_DESELECT=( + # TODO: recursion till segfault + tests/serializers/test_functions.py::test_recursive_call + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + rm -rf pydantic_core || die + # tests link to libpython, so they fail to link on pypy3 + [[ ${EPYTHON} != pypy3 ]] && cargo_src_test + epytest -p pytest_mock -p timeout -o xfail_strict=False +} diff --git a/dev-python/pydantic-core/pydantic-core-2.25.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.25.0.ebuild deleted file mode 100644 index 1a69812ffb66..000000000000 --- a/dev-python/pydantic-core/pydantic-core-2.25.0.ebuild +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - aho-corasick@1.1.3 - autocfg@1.3.0 - base64@0.22.1 - bitvec@1.0.1 - cc@1.0.101 - cfg-if@1.0.0 - displaydoc@0.2.5 - enum_dispatch@0.3.13 - equivalent@1.0.1 - form_urlencoded@1.2.1 - funty@2.0.0 - getrandom@0.2.15 - hashbrown@0.14.5 - heck@0.5.0 - hex@0.4.3 - icu_collections@1.5.0 - icu_locid@1.5.0 - icu_locid_transform@1.5.0 - icu_locid_transform_data@1.5.0 - icu_normalizer@1.5.0 - icu_normalizer_data@1.5.0 - icu_properties@1.5.1 - icu_properties_data@1.5.0 - icu_provider@1.5.0 - icu_provider_macros@1.5.0 - idna@0.5.0 - idna@1.0.2 - indexmap@2.2.6 - indoc@2.0.5 - itoa@1.0.11 - jiter@0.5.0 - lexical-parse-float@0.8.5 - lexical-parse-integer@0.8.6 - lexical-util@0.8.5 - libc@0.2.155 - litemap@0.7.3 - memchr@2.7.4 - memoffset@0.9.1 - num-bigint@0.4.6 - num-integer@0.1.46 - num-traits@0.2.19 - once_cell@1.19.0 - percent-encoding@2.3.1 - portable-atomic@1.6.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.5 - pyo3-ffi@0.22.5 - pyo3-macros-backend@0.22.5 - pyo3-macros@0.22.5 - pyo3@0.22.5 - python3-dll-a@0.2.10 - quote@1.0.36 - radium@0.7.0 - regex-automata@0.4.8 - regex-syntax@0.8.5 - regex@1.11.0 - rustversion@1.0.17 - ryu@1.0.18 - serde@1.0.213 - serde_derive@1.0.213 - serde_json@1.0.132 - smallvec@1.13.2 - speedate@0.14.4 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - strum@0.26.3 - strum_macros@0.26.4 - syn@2.0.82 - synstructure@0.13.1 - tap@1.0.1 - target-lexicon@0.12.14 - tinystr@0.7.6 - tinyvec@1.6.1 - tinyvec_macros@0.1.1 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unindent@0.2.3 - url@2.5.2 - utf16_iter@1.0.5 - utf8_iter@1.0.4 - uuid@1.11.0 - version_check@0.9.5 - wasi@0.11.0+wasi-snapshot-preview1 - write16@1.0.0 - writeable@0.5.5 - wyz@0.5.1 - yoke-derive@0.7.4 - yoke@0.7.4 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zerofrom-derive@0.1.4 - zerofrom@0.1.4 - zerovec-derive@0.10.3 - zerovec@0.10.4 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Core validation logic for pydantic written in Rust" -HOMEPAGE=" - https://github.com/pydantic/pydantic-core/ - https://pypi.org/project/pydantic-core/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -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}] - >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}] - >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}] - >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" - -src_prepare() { - sed -i -e '/--benchmark/d' pyproject.toml || die - sed -i -e '/^strip/d' Cargo.toml || die - distutils-r1_src_prepare -} - -python_test() { - local EPYTEST_IGNORE=( - tests/benchmarks - ) - local EPYTEST_DESELECT=( - # TODO: recursion till segfault - tests/serializers/test_functions.py::test_recursive_call - ) - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - rm -rf pydantic_core || die - # tests link to libpython, so they fail to link on pypy3 - [[ ${EPYTHON} != pypy3 ]] && cargo_src_test - epytest -p pytest_mock -p timeout -o xfail_strict=False -} diff --git a/dev-python/pydantic-core/pydantic-core-2.25.1-r1.ebuild b/dev-python/pydantic-core/pydantic-core-2.25.1-r1.ebuild new file mode 100644 index 000000000000..399c36f2970d --- /dev/null +++ b/dev-python/pydantic-core/pydantic-core-2.25.1-r1.ebuild @@ -0,0 +1,166 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.3 + autocfg@1.3.0 + base64@0.22.1 + bitvec@1.0.1 + cc@1.0.101 + cfg-if@1.0.0 + displaydoc@0.2.5 + enum_dispatch@0.3.13 + equivalent@1.0.1 + form_urlencoded@1.2.1 + funty@2.0.0 + getrandom@0.2.15 + hashbrown@0.14.5 + heck@0.5.0 + hex@0.4.3 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idna@0.5.0 + idna@1.0.2 + indexmap@2.2.6 + indoc@2.0.5 + itoa@1.0.11 + jiter@0.6.1 + lexical-parse-float@0.8.5 + lexical-parse-integer@0.8.6 + lexical-util@0.8.5 + libc@0.2.155 + litemap@0.7.3 + memchr@2.7.4 + memoffset@0.9.1 + num-bigint@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + once_cell@1.19.0 + percent-encoding@2.3.1 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.5 + pyo3-ffi@0.22.5 + pyo3-macros-backend@0.22.5 + pyo3-macros@0.22.5 + pyo3@0.22.5 + python3-dll-a@0.2.10 + quote@1.0.36 + radium@0.7.0 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.0 + rustversion@1.0.17 + ryu@1.0.18 + serde@1.0.213 + serde_derive@1.0.213 + serde_json@1.0.132 + smallvec@1.13.2 + speedate@0.14.4 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strum@0.26.3 + strum_macros@0.26.4 + syn@2.0.82 + synstructure@0.13.1 + tap@1.0.1 + target-lexicon@0.12.14 + tinystr@0.7.6 + tinyvec@1.6.1 + tinyvec_macros@0.1.1 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unindent@0.2.3 + url@2.5.2 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + uuid@1.11.0 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + write16@1.0.0 + writeable@0.5.5 + wyz@0.5.1 + yoke-derive@0.7.4 + yoke@0.7.4 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Core validation logic for pydantic written in Rust" +HOMEPAGE=" + https://github.com/pydantic/pydantic-core/ + https://pypi.org/project/pydantic-core/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}] + >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}] + >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" + +src_prepare() { + sed -i -e '/--benchmark/d' pyproject.toml || die + sed -i -e '/^strip/d' Cargo.toml || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_IGNORE=( + tests/benchmarks + ) + local EPYTEST_DESELECT=( + # TODO: recursion till segfault + tests/serializers/test_functions.py::test_recursive_call + ) + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + rm -rf pydantic_core || die + # tests link to libpython, so they fail to link on pypy3 + [[ ${EPYTHON} != pypy3 ]] && cargo_src_test + epytest -p pytest_mock -p timeout -o xfail_strict=False +} diff --git a/dev-python/pydantic-core/pydantic-core-2.25.1.ebuild b/dev-python/pydantic-core/pydantic-core-2.25.1.ebuild deleted file mode 100644 index 30937b9650bb..000000000000 --- a/dev-python/pydantic-core/pydantic-core-2.25.1.ebuild +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - aho-corasick@1.1.3 - autocfg@1.3.0 - base64@0.22.1 - bitvec@1.0.1 - cc@1.0.101 - cfg-if@1.0.0 - displaydoc@0.2.5 - enum_dispatch@0.3.13 - equivalent@1.0.1 - form_urlencoded@1.2.1 - funty@2.0.0 - getrandom@0.2.15 - hashbrown@0.14.5 - heck@0.5.0 - hex@0.4.3 - icu_collections@1.5.0 - icu_locid@1.5.0 - icu_locid_transform@1.5.0 - icu_locid_transform_data@1.5.0 - icu_normalizer@1.5.0 - icu_normalizer_data@1.5.0 - icu_properties@1.5.1 - icu_properties_data@1.5.0 - icu_provider@1.5.0 - icu_provider_macros@1.5.0 - idna@0.5.0 - idna@1.0.2 - indexmap@2.2.6 - indoc@2.0.5 - itoa@1.0.11 - jiter@0.6.1 - lexical-parse-float@0.8.5 - lexical-parse-integer@0.8.6 - lexical-util@0.8.5 - libc@0.2.155 - litemap@0.7.3 - memchr@2.7.4 - memoffset@0.9.1 - num-bigint@0.4.6 - num-integer@0.1.46 - num-traits@0.2.19 - once_cell@1.19.0 - percent-encoding@2.3.1 - portable-atomic@1.6.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.5 - pyo3-ffi@0.22.5 - pyo3-macros-backend@0.22.5 - pyo3-macros@0.22.5 - pyo3@0.22.5 - python3-dll-a@0.2.10 - quote@1.0.36 - radium@0.7.0 - regex-automata@0.4.8 - regex-syntax@0.8.5 - regex@1.11.0 - rustversion@1.0.17 - ryu@1.0.18 - serde@1.0.213 - serde_derive@1.0.213 - serde_json@1.0.132 - smallvec@1.13.2 - speedate@0.14.4 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - strum@0.26.3 - strum_macros@0.26.4 - syn@2.0.82 - synstructure@0.13.1 - tap@1.0.1 - target-lexicon@0.12.14 - tinystr@0.7.6 - tinyvec@1.6.1 - tinyvec_macros@0.1.1 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unindent@0.2.3 - url@2.5.2 - utf16_iter@1.0.5 - utf8_iter@1.0.4 - uuid@1.11.0 - version_check@0.9.5 - wasi@0.11.0+wasi-snapshot-preview1 - write16@1.0.0 - writeable@0.5.5 - wyz@0.5.1 - yoke-derive@0.7.4 - yoke@0.7.4 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zerofrom-derive@0.1.4 - zerofrom@0.1.4 - zerovec-derive@0.10.3 - zerovec@0.10.4 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Core validation logic for pydantic written in Rust" -HOMEPAGE=" - https://github.com/pydantic/pydantic-core/ - https://pypi.org/project/pydantic-core/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -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}] - >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}] - >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}] - >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" - -src_prepare() { - sed -i -e '/--benchmark/d' pyproject.toml || die - sed -i -e '/^strip/d' Cargo.toml || die - distutils-r1_src_prepare -} - -python_test() { - local EPYTEST_IGNORE=( - tests/benchmarks - ) - local EPYTEST_DESELECT=( - # TODO: recursion till segfault - tests/serializers/test_functions.py::test_recursive_call - ) - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - rm -rf pydantic_core || die - # tests link to libpython, so they fail to link on pypy3 - [[ ${EPYTHON} != pypy3 ]] && cargo_src_test - epytest -p pytest_mock -p timeout -o xfail_strict=False -} diff --git a/dev-python/pydantic-core/pydantic-core-2.26.0-r1.ebuild b/dev-python/pydantic-core/pydantic-core-2.26.0-r1.ebuild new file mode 100644 index 000000000000..35a5f2977d0d --- /dev/null +++ b/dev-python/pydantic-core/pydantic-core-2.26.0-r1.ebuild @@ -0,0 +1,175 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.3 + autocfg@1.3.0 + base64@0.22.1 + bitvec@1.0.1 + cc@1.0.101 + cfg-if@1.0.0 + displaydoc@0.2.5 + enum_dispatch@0.3.13 + equivalent@1.0.1 + form_urlencoded@1.2.1 + funty@2.0.0 + getrandom@0.2.15 + hashbrown@0.14.5 + heck@0.5.0 + hex@0.4.3 + icu_collections@1.5.0 + icu_locid@1.5.0 + icu_locid_transform@1.5.0 + icu_locid_transform_data@1.5.0 + icu_normalizer@1.5.0 + icu_normalizer_data@1.5.0 + icu_properties@1.5.1 + icu_properties_data@1.5.0 + icu_provider@1.5.0 + icu_provider_macros@1.5.0 + idna@0.5.0 + idna@1.0.2 + indexmap@2.2.6 + indoc@2.0.5 + itoa@1.0.11 + jiter@0.7.0 + lexical-parse-float@0.8.5 + lexical-parse-integer@0.8.6 + lexical-util@0.8.5 + libc@0.2.155 + litemap@0.7.3 + memchr@2.7.4 + memoffset@0.9.1 + num-bigint@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + once_cell@1.19.0 + percent-encoding@2.3.1 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.5 + pyo3-ffi@0.22.5 + pyo3-macros-backend@0.22.5 + pyo3-macros@0.22.5 + pyo3@0.22.5 + python3-dll-a@0.2.10 + quote@1.0.36 + radium@0.7.0 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.1 + rustversion@1.0.17 + ryu@1.0.18 + serde@1.0.214 + serde_derive@1.0.214 + serde_json@1.0.132 + smallvec@1.13.2 + speedate@0.15.0 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strum@0.26.3 + strum_macros@0.26.4 + syn@2.0.82 + synstructure@0.13.1 + tap@1.0.1 + target-lexicon@0.12.14 + tinystr@0.7.6 + tinyvec@1.6.1 + tinyvec_macros@0.1.1 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unindent@0.2.3 + url@2.5.2 + utf16_iter@1.0.5 + utf8_iter@1.0.4 + uuid@1.11.0 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + write16@1.0.0 + writeable@0.5.5 + wyz@0.5.1 + yoke-derive@0.7.4 + yoke@0.7.4 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zerofrom-derive@0.1.4 + zerofrom@0.1.4 + zerovec-derive@0.10.3 + zerovec@0.10.4 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Core validation logic for pydantic written in Rust" +HOMEPAGE=" + https://github.com/pydantic/pydantic-core/ + https://pypi.org/project/pydantic-core/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}] + >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}] + ' 'python*') + >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}] + >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}] + >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" + +src_prepare() { + sed -i -e '/--benchmark/d' pyproject.toml || die + sed -i -e '/^strip/d' Cargo.toml || die + distutils-r1_src_prepare +} + +python_test() { + local EPYTEST_IGNORE=( + tests/benchmarks + ) + local EPYTEST_DESELECT=( + # TODO: recursion till segfault + tests/serializers/test_functions.py::test_recursive_call + ) + + if ! has_version "dev-python/inline-snapshot[${PYTHON_USEDEP}]"; then + EPYTEST_IGNORE+=( + tests/validators/test_allow_partial.py + ) + fi + + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + rm -rf pydantic_core || die + # tests link to libpython, so they fail to link on pypy3 + [[ ${EPYTHON} != pypy3 ]] && cargo_src_test + epytest -p pytest_mock -p timeout -o xfail_strict=False +} diff --git a/dev-python/pydantic-core/pydantic-core-2.26.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.26.0.ebuild deleted file mode 100644 index 452195914fcb..000000000000 --- a/dev-python/pydantic-core/pydantic-core-2.26.0.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - aho-corasick@1.1.3 - autocfg@1.3.0 - base64@0.22.1 - bitvec@1.0.1 - cc@1.0.101 - cfg-if@1.0.0 - displaydoc@0.2.5 - enum_dispatch@0.3.13 - equivalent@1.0.1 - form_urlencoded@1.2.1 - funty@2.0.0 - getrandom@0.2.15 - hashbrown@0.14.5 - heck@0.5.0 - hex@0.4.3 - icu_collections@1.5.0 - icu_locid@1.5.0 - icu_locid_transform@1.5.0 - icu_locid_transform_data@1.5.0 - icu_normalizer@1.5.0 - icu_normalizer_data@1.5.0 - icu_properties@1.5.1 - icu_properties_data@1.5.0 - icu_provider@1.5.0 - icu_provider_macros@1.5.0 - idna@0.5.0 - idna@1.0.2 - indexmap@2.2.6 - indoc@2.0.5 - itoa@1.0.11 - jiter@0.7.0 - lexical-parse-float@0.8.5 - lexical-parse-integer@0.8.6 - lexical-util@0.8.5 - libc@0.2.155 - litemap@0.7.3 - memchr@2.7.4 - memoffset@0.9.1 - num-bigint@0.4.6 - num-integer@0.1.46 - num-traits@0.2.19 - once_cell@1.19.0 - percent-encoding@2.3.1 - portable-atomic@1.6.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.5 - pyo3-ffi@0.22.5 - pyo3-macros-backend@0.22.5 - pyo3-macros@0.22.5 - pyo3@0.22.5 - python3-dll-a@0.2.10 - quote@1.0.36 - radium@0.7.0 - regex-automata@0.4.8 - regex-syntax@0.8.5 - regex@1.11.1 - rustversion@1.0.17 - ryu@1.0.18 - serde@1.0.214 - serde_derive@1.0.214 - serde_json@1.0.132 - smallvec@1.13.2 - speedate@0.15.0 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - strum@0.26.3 - strum_macros@0.26.4 - syn@2.0.82 - synstructure@0.13.1 - tap@1.0.1 - target-lexicon@0.12.14 - tinystr@0.7.6 - tinyvec@1.6.1 - tinyvec_macros@0.1.1 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unindent@0.2.3 - url@2.5.2 - utf16_iter@1.0.5 - utf8_iter@1.0.4 - uuid@1.11.0 - version_check@0.9.5 - wasi@0.11.0+wasi-snapshot-preview1 - write16@1.0.0 - writeable@0.5.5 - wyz@0.5.1 - yoke-derive@0.7.4 - yoke@0.7.4 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zerofrom-derive@0.1.4 - zerofrom@0.1.4 - zerovec-derive@0.10.3 - zerovec@0.10.4 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Core validation logic for pydantic written in Rust" -HOMEPAGE=" - https://github.com/pydantic/pydantic-core/ - https://pypi.org/project/pydantic-core/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions MIT Unicode-3.0 Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64" - -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}] - $(python_gen_cond_dep ' - >=dev-python/inline-snapshot-0.13.3[${PYTHON_USEDEP}] - ' 'python*') - >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}] - >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}] - >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so" - -src_prepare() { - sed -i -e '/--benchmark/d' pyproject.toml || die - sed -i -e '/^strip/d' Cargo.toml || die - distutils-r1_src_prepare -} - -python_test() { - local EPYTEST_IGNORE=( - tests/benchmarks - ) - local EPYTEST_DESELECT=( - # TODO: recursion till segfault - tests/serializers/test_functions.py::test_recursive_call - ) - - if ! has_version "dev-python/inline-snapshot[${PYTHON_USEDEP}]"; then - EPYTEST_IGNORE+=( - tests/validators/test_allow_partial.py - ) - fi - - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - rm -rf pydantic_core || die - # tests link to libpython, so they fail to link on pypy3 - [[ ${EPYTHON} != pypy3 ]] && cargo_src_test - epytest -p pytest_mock -p timeout -o xfail_strict=False -} diff --git a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3-r1.ebuild b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3-r1.ebuild new file mode 100644 index 000000000000..8d2c176c570d --- /dev/null +++ b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3-r1.ebuild @@ -0,0 +1,159 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.3 + any_ascii@0.1.7 + arc-swap@1.7.1 + autocfg@1.2.0 + beef@0.5.2 + bitflags@1.3.2 + bstr@1.9.1 + cfg-if@1.0.0 + countme@3.0.1 + deranged@0.3.11 + derivative@2.2.0 + either@1.11.0 + fnv@1.0.7 + form_urlencoded@1.2.1 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-timer@3.0.3 + futures-util@0.3.30 + futures@0.3.30 + getrandom@0.2.14 + glob@0.3.1 + globset@0.4.14 + hashbrown@0.14.3 + heck@0.4.1 + idna@0.5.0 + indoc@2.0.5 + itertools@0.10.5 + itoa@1.0.11 + lexical-sort@0.3.1 + libc@0.2.153 + lock_api@0.4.11 + log@0.4.21 + logos-derive@0.12.1 + logos@0.12.1 + memchr@2.7.2 + memoffset@0.9.1 + num-conv@0.1.0 + once_cell@1.19.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + pep440_rs@0.6.0 + pep508_rs@0.6.0 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + portable-atomic@1.6.0 + powerfmt@0.2.0 + proc-macro2@1.0.81 + pyo3-build-config@0.21.2 + pyo3-ffi@0.21.2 + pyo3-macros-backend@0.21.2 + pyo3-macros@0.21.2 + pyo3@0.21.2 + quote@1.0.36 + redox_syscall@0.4.1 + regex-automata@0.4.6 + regex-syntax@0.6.29 + regex-syntax@0.8.3 + regex@1.10.4 + relative-path@1.9.2 + rowan@0.15.15 + rstest@0.19.0 + rstest_macros@0.19.0 + rustc-hash@1.1.0 + rustc_version@0.4.0 + ryu@1.0.17 + scopeguard@1.2.0 + semver@1.0.22 + serde@1.0.198 + serde_derive@1.0.198 + serde_json@1.0.116 + slab@0.4.9 + smallvec@1.13.2 + syn@1.0.109 + syn@2.0.60 + taplo@0.13.0 + target-lexicon@0.12.14 + text-size@1.1.1 + thiserror-impl@1.0.59 + thiserror@1.0.59 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-width@0.1.12 + unindent@0.2.3 + unscanny@0.1.0 + url@2.5.0 + urlencoding@2.1.3 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + 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 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Format your pyproject.toml file (Rust extension)" +HOMEPAGE=" + https://github.com/tox-dev/pyproject-fmt-rust/ + https://pypi.org/project/pyproject-fmt-rust/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 + || ( Apache-2.0 BSD-2 ) + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt_rust/_lib.*.so" + +src_prepare() { + sed -i -e '/strip/d' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test_all() { + cargo_src_test +} 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.ebuild deleted file mode 100644 index 8d2c176c570d..000000000000 --- a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - aho-corasick@1.1.3 - any_ascii@0.1.7 - arc-swap@1.7.1 - autocfg@1.2.0 - beef@0.5.2 - bitflags@1.3.2 - bstr@1.9.1 - cfg-if@1.0.0 - countme@3.0.1 - deranged@0.3.11 - derivative@2.2.0 - either@1.11.0 - fnv@1.0.7 - form_urlencoded@1.2.1 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-timer@3.0.3 - futures-util@0.3.30 - futures@0.3.30 - getrandom@0.2.14 - glob@0.3.1 - globset@0.4.14 - hashbrown@0.14.3 - heck@0.4.1 - idna@0.5.0 - indoc@2.0.5 - itertools@0.10.5 - itoa@1.0.11 - lexical-sort@0.3.1 - libc@0.2.153 - lock_api@0.4.11 - log@0.4.21 - logos-derive@0.12.1 - logos@0.12.1 - memchr@2.7.2 - memoffset@0.9.1 - num-conv@0.1.0 - once_cell@1.19.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - pep440_rs@0.6.0 - pep508_rs@0.6.0 - percent-encoding@2.3.1 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - portable-atomic@1.6.0 - powerfmt@0.2.0 - proc-macro2@1.0.81 - pyo3-build-config@0.21.2 - pyo3-ffi@0.21.2 - pyo3-macros-backend@0.21.2 - pyo3-macros@0.21.2 - pyo3@0.21.2 - quote@1.0.36 - redox_syscall@0.4.1 - regex-automata@0.4.6 - regex-syntax@0.6.29 - regex-syntax@0.8.3 - regex@1.10.4 - relative-path@1.9.2 - rowan@0.15.15 - rstest@0.19.0 - rstest_macros@0.19.0 - rustc-hash@1.1.0 - rustc_version@0.4.0 - ryu@1.0.17 - scopeguard@1.2.0 - semver@1.0.22 - serde@1.0.198 - serde_derive@1.0.198 - serde_json@1.0.116 - slab@0.4.9 - smallvec@1.13.2 - syn@1.0.109 - syn@2.0.60 - taplo@0.13.0 - target-lexicon@0.12.14 - text-size@1.1.1 - thiserror-impl@1.0.59 - thiserror@1.0.59 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-width@0.1.12 - unindent@0.2.3 - unscanny@0.1.0 - url@2.5.0 - urlencoding@2.1.3 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - 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 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Format your pyproject.toml file (Rust extension)" -HOMEPAGE=" - https://github.com/tox-dev/pyproject-fmt-rust/ - https://pypi.org/project/pyproject-fmt-rust/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 - || ( Apache-2.0 BSD-2 ) - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt_rust/_lib.*.so" - -src_prepare() { - sed -i -e '/strip/d' pyproject.toml || die - distutils-r1_src_prepare -} - -python_test_all() { - cargo_src_test -} diff --git a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.6-r1.ebuild b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.6-r1.ebuild new file mode 100644 index 000000000000..3a270dc74904 --- /dev/null +++ b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.6-r1.ebuild @@ -0,0 +1,159 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.3 + any_ascii@0.1.7 + arc-swap@1.7.1 + autocfg@1.2.0 + beef@0.5.2 + bitflags@1.3.2 + bstr@1.9.1 + cfg-if@1.0.0 + countme@3.0.1 + deranged@0.3.11 + derivative@2.2.0 + either@1.11.0 + fnv@1.0.7 + form_urlencoded@1.2.1 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-timer@3.0.3 + futures-util@0.3.30 + futures@0.3.30 + getrandom@0.2.14 + glob@0.3.1 + globset@0.4.14 + hashbrown@0.14.3 + heck@0.4.1 + idna@0.5.0 + indoc@2.0.5 + itertools@0.10.5 + itoa@1.0.11 + lexical-sort@0.3.1 + libc@0.2.153 + lock_api@0.4.11 + log@0.4.21 + logos-derive@0.12.1 + logos@0.12.1 + memchr@2.7.2 + memoffset@0.9.1 + num-conv@0.1.0 + once_cell@1.19.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + pep440_rs@0.6.0 + pep508_rs@0.6.0 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + portable-atomic@1.6.0 + powerfmt@0.2.0 + proc-macro2@1.0.81 + pyo3-build-config@0.21.2 + pyo3-ffi@0.21.2 + pyo3-macros-backend@0.21.2 + pyo3-macros@0.21.2 + pyo3@0.21.2 + quote@1.0.36 + redox_syscall@0.4.1 + regex-automata@0.4.6 + regex-syntax@0.6.29 + regex-syntax@0.8.3 + regex@1.10.4 + relative-path@1.9.2 + rowan@0.15.15 + rstest@0.19.0 + rstest_macros@0.19.0 + rustc-hash@1.1.0 + rustc_version@0.4.0 + ryu@1.0.17 + scopeguard@1.2.0 + semver@1.0.22 + serde@1.0.198 + serde_derive@1.0.198 + serde_json@1.0.116 + slab@0.4.9 + smallvec@1.13.2 + syn@1.0.109 + syn@2.0.60 + taplo@0.13.0 + target-lexicon@0.12.14 + text-size@1.1.1 + thiserror-impl@1.0.59 + thiserror@1.0.59 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-width@0.1.12 + unindent@0.2.3 + unscanny@0.1.0 + url@2.5.0 + urlencoding@2.1.3 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + 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 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Format your pyproject.toml file (Rust extension)" +HOMEPAGE=" + https://github.com/tox-dev/pyproject-fmt-rust/ + https://pypi.org/project/pyproject-fmt-rust/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 + || ( Apache-2.0 BSD-2 ) + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt_rust/_lib.*.so" + +src_prepare() { + sed -i -e '/strip/d' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test_all() { + cargo_src_test +} 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.ebuild deleted file mode 100644 index 3a270dc74904..000000000000 --- a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.6.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - aho-corasick@1.1.3 - any_ascii@0.1.7 - arc-swap@1.7.1 - autocfg@1.2.0 - beef@0.5.2 - bitflags@1.3.2 - bstr@1.9.1 - cfg-if@1.0.0 - countme@3.0.1 - deranged@0.3.11 - derivative@2.2.0 - either@1.11.0 - fnv@1.0.7 - form_urlencoded@1.2.1 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-timer@3.0.3 - futures-util@0.3.30 - futures@0.3.30 - getrandom@0.2.14 - glob@0.3.1 - globset@0.4.14 - hashbrown@0.14.3 - heck@0.4.1 - idna@0.5.0 - indoc@2.0.5 - itertools@0.10.5 - itoa@1.0.11 - lexical-sort@0.3.1 - libc@0.2.153 - lock_api@0.4.11 - log@0.4.21 - logos-derive@0.12.1 - logos@0.12.1 - memchr@2.7.2 - memoffset@0.9.1 - num-conv@0.1.0 - once_cell@1.19.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - pep440_rs@0.6.0 - pep508_rs@0.6.0 - percent-encoding@2.3.1 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - portable-atomic@1.6.0 - powerfmt@0.2.0 - proc-macro2@1.0.81 - pyo3-build-config@0.21.2 - pyo3-ffi@0.21.2 - pyo3-macros-backend@0.21.2 - pyo3-macros@0.21.2 - pyo3@0.21.2 - quote@1.0.36 - redox_syscall@0.4.1 - regex-automata@0.4.6 - regex-syntax@0.6.29 - regex-syntax@0.8.3 - regex@1.10.4 - relative-path@1.9.2 - rowan@0.15.15 - rstest@0.19.0 - rstest_macros@0.19.0 - rustc-hash@1.1.0 - rustc_version@0.4.0 - ryu@1.0.17 - scopeguard@1.2.0 - semver@1.0.22 - serde@1.0.198 - serde_derive@1.0.198 - serde_json@1.0.116 - slab@0.4.9 - smallvec@1.13.2 - syn@1.0.109 - syn@2.0.60 - taplo@0.13.0 - target-lexicon@0.12.14 - text-size@1.1.1 - thiserror-impl@1.0.59 - thiserror@1.0.59 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-width@0.1.12 - unindent@0.2.3 - unscanny@0.1.0 - url@2.5.0 - urlencoding@2.1.3 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - 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 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Format your pyproject.toml file (Rust extension)" -HOMEPAGE=" - https://github.com/tox-dev/pyproject-fmt-rust/ - https://pypi.org/project/pyproject-fmt-rust/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 - || ( Apache-2.0 BSD-2 ) - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt_rust/_lib.*.so" - -src_prepare() { - sed -i -e '/strip/d' pyproject.toml || die - distutils-r1_src_prepare -} - -python_test_all() { - cargo_src_test -} diff --git a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.2.1-r1.ebuild b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.2.1-r1.ebuild new file mode 100644 index 000000000000..8c854f82e476 --- /dev/null +++ b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.2.1-r1.ebuild @@ -0,0 +1,160 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.3 + any_ascii@0.1.7 + arc-swap@1.7.1 + autocfg@1.3.0 + beef@0.5.2 + bitflags@2.6.0 + bstr@1.10.0 + cfg-if@1.0.0 + countme@3.0.1 + deranged@0.3.11 + derivative@2.2.0 + either@1.13.0 + fnv@1.0.7 + form_urlencoded@1.2.1 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-timer@3.0.3 + futures-util@0.3.30 + futures@0.3.30 + getrandom@0.2.15 + glob@0.3.1 + globset@0.4.14 + hashbrown@0.14.5 + heck@0.4.1 + idna@0.5.0 + indoc@2.0.5 + itertools@0.10.5 + itoa@1.0.11 + lexical-sort@0.3.1 + libc@0.2.158 + lock_api@0.4.12 + log@0.4.22 + logos-derive@0.12.1 + logos@0.12.1 + memchr@2.7.4 + memoffset@0.9.1 + num-conv@0.1.0 + once_cell@1.19.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + pep440_rs@0.6.6 + pep508_rs@0.6.1 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + portable-atomic@1.7.0 + powerfmt@0.2.0 + proc-macro2@1.0.86 + pyo3-build-config@0.21.2 + pyo3-ffi@0.21.2 + pyo3-macros-backend@0.21.2 + pyo3-macros@0.21.2 + pyo3@0.21.2 + quote@1.0.37 + redox_syscall@0.5.3 + regex-automata@0.4.7 + regex-syntax@0.6.29 + regex-syntax@0.8.4 + regex@1.10.6 + relative-path@1.9.3 + rowan@0.15.16 + rstest@0.19.0 + rstest_macros@0.19.0 + rustc-hash@1.1.0 + rustc_version@0.4.1 + ryu@1.0.18 + scopeguard@1.2.0 + semver@1.0.23 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.128 + slab@0.4.9 + smallvec@1.13.2 + syn@1.0.109 + syn@2.0.77 + taplo@0.13.2 + target-lexicon@0.12.16 + text-size@1.1.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-width@0.1.13 + unindent@0.2.3 + unscanny@0.1.0 + url@2.5.2 + urlencoding@2.1.3 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + 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 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Format your pyproject.toml file (Rust extension)" +HOMEPAGE=" + https://github.com/tox-dev/pyproject-fmt-rust/ + https://pypi.org/project/pyproject-fmt-rust/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 + || ( Apache-2.0 BSD-2 ) + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt_rust/_lib.*.so" + +src_prepare() { + sed -i -e '/strip/d' pyproject.toml || die + distutils-r1_src_prepare +} + +python_test_all() { + cargo_src_test +} 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.ebuild deleted file mode 100644 index 8c854f82e476..000000000000 --- a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.2.1.ebuild +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - aho-corasick@1.1.3 - any_ascii@0.1.7 - arc-swap@1.7.1 - autocfg@1.3.0 - beef@0.5.2 - bitflags@2.6.0 - bstr@1.10.0 - cfg-if@1.0.0 - countme@3.0.1 - deranged@0.3.11 - derivative@2.2.0 - either@1.13.0 - fnv@1.0.7 - form_urlencoded@1.2.1 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-timer@3.0.3 - futures-util@0.3.30 - futures@0.3.30 - getrandom@0.2.15 - glob@0.3.1 - globset@0.4.14 - hashbrown@0.14.5 - heck@0.4.1 - idna@0.5.0 - indoc@2.0.5 - itertools@0.10.5 - itoa@1.0.11 - lexical-sort@0.3.1 - libc@0.2.158 - lock_api@0.4.12 - log@0.4.22 - logos-derive@0.12.1 - logos@0.12.1 - memchr@2.7.4 - memoffset@0.9.1 - num-conv@0.1.0 - once_cell@1.19.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - pep440_rs@0.6.6 - pep508_rs@0.6.1 - percent-encoding@2.3.1 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - portable-atomic@1.7.0 - powerfmt@0.2.0 - proc-macro2@1.0.86 - pyo3-build-config@0.21.2 - pyo3-ffi@0.21.2 - pyo3-macros-backend@0.21.2 - pyo3-macros@0.21.2 - pyo3@0.21.2 - quote@1.0.37 - redox_syscall@0.5.3 - regex-automata@0.4.7 - regex-syntax@0.6.29 - regex-syntax@0.8.4 - regex@1.10.6 - relative-path@1.9.3 - rowan@0.15.16 - rstest@0.19.0 - rstest_macros@0.19.0 - rustc-hash@1.1.0 - rustc_version@0.4.1 - ryu@1.0.18 - scopeguard@1.2.0 - semver@1.0.23 - serde@1.0.210 - serde_derive@1.0.210 - serde_json@1.0.128 - slab@0.4.9 - smallvec@1.13.2 - syn@1.0.109 - syn@2.0.77 - taplo@0.13.2 - target-lexicon@0.12.16 - text-size@1.1.1 - thiserror-impl@1.0.63 - thiserror@1.0.63 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-width@0.1.13 - unindent@0.2.3 - unscanny@0.1.0 - url@2.5.2 - urlencoding@2.1.3 - version_check@0.9.5 - wasi@0.11.0+wasi-snapshot-preview1 - 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 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Format your pyproject.toml file (Rust extension)" -HOMEPAGE=" - https://github.com/tox-dev/pyproject-fmt-rust/ - https://pypi.org/project/pyproject-fmt-rust/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 - || ( Apache-2.0 BSD-2 ) - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt_rust/_lib.*.so" - -src_prepare() { - sed -i -e '/strip/d' pyproject.toml || die - distutils-r1_src_prepare -} - -python_test_all() { - cargo_src_test -} diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.4.2-r1.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.4.2-r1.ebuild new file mode 100644 index 000000000000..f1cc388d223d --- /dev/null +++ b/dev-python/pyproject-fmt/pyproject-fmt-2.4.2-r1.ebuild @@ -0,0 +1,165 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.3 + any_ascii@0.1.7 + arc-swap@1.7.1 + autocfg@1.4.0 + beef@0.5.2 + bstr@1.10.0 + cfg-if@1.0.0 + countme@3.0.1 + deranged@0.3.11 + derivative@2.2.0 + either@1.13.0 + equivalent@1.0.1 + fnv@1.0.7 + form_urlencoded@1.2.1 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-timer@3.0.3 + futures-util@0.3.31 + futures@0.3.31 + getrandom@0.2.15 + glob@0.3.1 + globset@0.4.15 + hashbrown@0.14.5 + hashbrown@0.15.0 + heck@0.5.0 + idna@0.5.0 + indexmap@2.6.0 + indoc@2.0.5 + itertools@0.10.5 + itoa@1.0.11 + lexical-sort@0.3.1 + libc@0.2.159 + log@0.4.22 + logos-derive@0.12.1 + logos@0.12.1 + memchr@2.7.4 + memoffset@0.9.1 + num-conv@0.1.0 + once_cell@1.20.2 + pep440_rs@0.6.6 + pep508_rs@0.6.1 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + portable-atomic@1.9.0 + powerfmt@0.2.0 + proc-macro-crate@3.2.0 + proc-macro2@1.0.87 + pyo3-build-config@0.22.5 + pyo3-ffi@0.22.5 + pyo3-macros-backend@0.22.5 + pyo3-macros@0.22.5 + pyo3@0.22.5 + quote@1.0.37 + regex-automata@0.4.8 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.0 + relative-path@1.9.3 + rowan@0.15.16 + rstest@0.23.0 + rstest_macros@0.23.0 + rustc-hash@1.1.0 + rustc_version@0.4.1 + ryu@1.0.18 + semver@1.0.23 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.128 + slab@0.4.9 + syn@1.0.109 + syn@2.0.79 + taplo@0.13.2 + target-lexicon@0.12.16 + text-size@1.1.1 + thiserror-impl@1.0.64 + thiserror@1.0.64 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + toml_datetime@0.6.8 + toml_edit@0.22.22 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + unicode-bidi@0.3.17 + unicode-ident@1.0.13 + unicode-normalization@0.1.24 + unicode-width@0.1.14 + unindent@0.2.3 + unscanny@0.1.0 + url@2.5.2 + urlencoding@2.1.3 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + winnow@0.6.20 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Format your pyproject.toml file" +HOMEPAGE=" + https://github.com/tox-dev/pyproject-fmt/ + https://pypi.org/project/pyproject-fmt/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 + || ( Apache-2.0 BSD-2 ) + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=" + $(python_gen_cond_dep ' + >=dev-python/tomli-2.0.2[${PYTHON_USEDEP}] + ' 3.10) +" +# tox is called as a subprocess, to get targets from tox.ini +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}] + dev-python/tox + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so" + +src_prepare() { + distutils-r1_src_prepare + sed -i -e '/strip/d' pyproject.toml || die +} + +python_test_all() { + cargo_src_test +} diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.4.2.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.4.2.ebuild deleted file mode 100644 index f1cc388d223d..000000000000 --- a/dev-python/pyproject-fmt/pyproject-fmt-2.4.2.ebuild +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - aho-corasick@1.1.3 - any_ascii@0.1.7 - arc-swap@1.7.1 - autocfg@1.4.0 - beef@0.5.2 - bstr@1.10.0 - cfg-if@1.0.0 - countme@3.0.1 - deranged@0.3.11 - derivative@2.2.0 - either@1.13.0 - equivalent@1.0.1 - fnv@1.0.7 - form_urlencoded@1.2.1 - futures-channel@0.3.31 - futures-core@0.3.31 - futures-executor@0.3.31 - futures-io@0.3.31 - futures-macro@0.3.31 - futures-sink@0.3.31 - futures-task@0.3.31 - futures-timer@3.0.3 - futures-util@0.3.31 - futures@0.3.31 - getrandom@0.2.15 - glob@0.3.1 - globset@0.4.15 - hashbrown@0.14.5 - hashbrown@0.15.0 - heck@0.5.0 - idna@0.5.0 - indexmap@2.6.0 - indoc@2.0.5 - itertools@0.10.5 - itoa@1.0.11 - lexical-sort@0.3.1 - libc@0.2.159 - log@0.4.22 - logos-derive@0.12.1 - logos@0.12.1 - memchr@2.7.4 - memoffset@0.9.1 - num-conv@0.1.0 - once_cell@1.20.2 - pep440_rs@0.6.6 - pep508_rs@0.6.1 - percent-encoding@2.3.1 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - portable-atomic@1.9.0 - powerfmt@0.2.0 - proc-macro-crate@3.2.0 - proc-macro2@1.0.87 - pyo3-build-config@0.22.5 - pyo3-ffi@0.22.5 - pyo3-macros-backend@0.22.5 - pyo3-macros@0.22.5 - pyo3@0.22.5 - quote@1.0.37 - regex-automata@0.4.8 - regex-syntax@0.6.29 - regex-syntax@0.8.5 - regex@1.11.0 - relative-path@1.9.3 - rowan@0.15.16 - rstest@0.23.0 - rstest_macros@0.23.0 - rustc-hash@1.1.0 - rustc_version@0.4.1 - ryu@1.0.18 - semver@1.0.23 - serde@1.0.210 - serde_derive@1.0.210 - serde_json@1.0.128 - slab@0.4.9 - syn@1.0.109 - syn@2.0.79 - taplo@0.13.2 - target-lexicon@0.12.16 - text-size@1.1.1 - thiserror-impl@1.0.64 - thiserror@1.0.64 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - toml_datetime@0.6.8 - toml_edit@0.22.22 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - unicode-bidi@0.3.17 - unicode-ident@1.0.13 - unicode-normalization@0.1.24 - unicode-width@0.1.14 - unindent@0.2.3 - unscanny@0.1.0 - url@2.5.2 - urlencoding@2.1.3 - version_check@0.9.5 - wasi@0.11.0+wasi-snapshot-preview1 - winnow@0.6.20 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Format your pyproject.toml file" -HOMEPAGE=" - https://github.com/tox-dev/pyproject-fmt/ - https://pypi.org/project/pyproject-fmt/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 - || ( Apache-2.0 BSD-2 ) - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -RDEPEND=" - $(python_gen_cond_dep ' - >=dev-python/tomli-2.0.2[${PYTHON_USEDEP}] - ' 3.10) -" -# tox is called as a subprocess, to get targets from tox.ini -BDEPEND=" - dev-python/hatch-vcs[${PYTHON_USEDEP}] - test? ( - >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}] - dev-python/tox - ) -" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so" - -src_prepare() { - distutils-r1_src_prepare - sed -i -e '/strip/d' pyproject.toml || die -} - -python_test_all() { - cargo_src_test -} diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.4.3-r1.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.4.3-r1.ebuild new file mode 100644 index 000000000000..f9fbd6066985 --- /dev/null +++ b/dev-python/pyproject-fmt/pyproject-fmt-2.4.3-r1.ebuild @@ -0,0 +1,165 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.3 + any_ascii@0.1.7 + arc-swap@1.7.1 + autocfg@1.4.0 + beef@0.5.2 + bstr@1.10.0 + cfg-if@1.0.0 + countme@3.0.1 + deranged@0.3.11 + derivative@2.2.0 + either@1.13.0 + equivalent@1.0.1 + fnv@1.0.7 + form_urlencoded@1.2.1 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-timer@3.0.3 + futures-util@0.3.31 + futures@0.3.31 + getrandom@0.2.15 + glob@0.3.1 + globset@0.4.15 + hashbrown@0.14.5 + hashbrown@0.15.0 + heck@0.5.0 + idna@0.5.0 + indexmap@2.6.0 + indoc@2.0.5 + itertools@0.10.5 + itoa@1.0.11 + lexical-sort@0.3.1 + libc@0.2.159 + log@0.4.22 + logos-derive@0.12.1 + logos@0.12.1 + memchr@2.7.4 + memoffset@0.9.1 + num-conv@0.1.0 + once_cell@1.20.2 + pep440_rs@0.6.6 + pep508_rs@0.6.1 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + portable-atomic@1.9.0 + powerfmt@0.2.0 + proc-macro-crate@3.2.0 + proc-macro2@1.0.87 + pyo3-build-config@0.22.5 + pyo3-ffi@0.22.5 + pyo3-macros-backend@0.22.5 + pyo3-macros@0.22.5 + pyo3@0.22.5 + quote@1.0.37 + regex-automata@0.4.8 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.0 + relative-path@1.9.3 + rowan@0.15.16 + rstest@0.23.0 + rstest_macros@0.23.0 + rustc-hash@1.1.0 + rustc_version@0.4.1 + ryu@1.0.18 + semver@1.0.23 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.128 + slab@0.4.9 + syn@1.0.109 + syn@2.0.79 + taplo@0.13.2 + target-lexicon@0.12.16 + text-size@1.1.1 + thiserror-impl@1.0.64 + thiserror@1.0.64 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + toml_datetime@0.6.8 + toml_edit@0.22.22 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + unicode-bidi@0.3.17 + unicode-ident@1.0.13 + unicode-normalization@0.1.24 + unicode-width@0.1.14 + unindent@0.2.3 + unscanny@0.1.0 + url@2.5.2 + urlencoding@2.1.3 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + winnow@0.6.20 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Format your pyproject.toml file" +HOMEPAGE=" + https://github.com/tox-dev/pyproject-fmt/ + https://pypi.org/project/pyproject-fmt/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 + || ( Apache-2.0 BSD-2 ) + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86" + +RDEPEND=" + $(python_gen_cond_dep ' + >=dev-python/tomli-2.0.2[${PYTHON_USEDEP}] + ' 3.10) +" +# tox is called as a subprocess, to get targets from tox.ini +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}] + dev-python/tox + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so" + +src_prepare() { + distutils-r1_src_prepare + sed -i -e '/strip/d' pyproject.toml || die +} + +python_test_all() { + cargo_src_test +} diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.4.3.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.4.3.ebuild deleted file mode 100644 index f9fbd6066985..000000000000 --- a/dev-python/pyproject-fmt/pyproject-fmt-2.4.3.ebuild +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - aho-corasick@1.1.3 - any_ascii@0.1.7 - arc-swap@1.7.1 - autocfg@1.4.0 - beef@0.5.2 - bstr@1.10.0 - cfg-if@1.0.0 - countme@3.0.1 - deranged@0.3.11 - derivative@2.2.0 - either@1.13.0 - equivalent@1.0.1 - fnv@1.0.7 - form_urlencoded@1.2.1 - futures-channel@0.3.31 - futures-core@0.3.31 - futures-executor@0.3.31 - futures-io@0.3.31 - futures-macro@0.3.31 - futures-sink@0.3.31 - futures-task@0.3.31 - futures-timer@3.0.3 - futures-util@0.3.31 - futures@0.3.31 - getrandom@0.2.15 - glob@0.3.1 - globset@0.4.15 - hashbrown@0.14.5 - hashbrown@0.15.0 - heck@0.5.0 - idna@0.5.0 - indexmap@2.6.0 - indoc@2.0.5 - itertools@0.10.5 - itoa@1.0.11 - lexical-sort@0.3.1 - libc@0.2.159 - log@0.4.22 - logos-derive@0.12.1 - logos@0.12.1 - memchr@2.7.4 - memoffset@0.9.1 - num-conv@0.1.0 - once_cell@1.20.2 - pep440_rs@0.6.6 - pep508_rs@0.6.1 - percent-encoding@2.3.1 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - portable-atomic@1.9.0 - powerfmt@0.2.0 - proc-macro-crate@3.2.0 - proc-macro2@1.0.87 - pyo3-build-config@0.22.5 - pyo3-ffi@0.22.5 - pyo3-macros-backend@0.22.5 - pyo3-macros@0.22.5 - pyo3@0.22.5 - quote@1.0.37 - regex-automata@0.4.8 - regex-syntax@0.6.29 - regex-syntax@0.8.5 - regex@1.11.0 - relative-path@1.9.3 - rowan@0.15.16 - rstest@0.23.0 - rstest_macros@0.23.0 - rustc-hash@1.1.0 - rustc_version@0.4.1 - ryu@1.0.18 - semver@1.0.23 - serde@1.0.210 - serde_derive@1.0.210 - serde_json@1.0.128 - slab@0.4.9 - syn@1.0.109 - syn@2.0.79 - taplo@0.13.2 - target-lexicon@0.12.16 - text-size@1.1.1 - thiserror-impl@1.0.64 - thiserror@1.0.64 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - toml_datetime@0.6.8 - toml_edit@0.22.22 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - unicode-bidi@0.3.17 - unicode-ident@1.0.13 - unicode-normalization@0.1.24 - unicode-width@0.1.14 - unindent@0.2.3 - unscanny@0.1.0 - url@2.5.2 - urlencoding@2.1.3 - version_check@0.9.5 - wasi@0.11.0+wasi-snapshot-preview1 - winnow@0.6.20 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Format your pyproject.toml file" -HOMEPAGE=" - https://github.com/tox-dev/pyproject-fmt/ - https://pypi.org/project/pyproject-fmt/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 - || ( Apache-2.0 BSD-2 ) - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86" - -RDEPEND=" - $(python_gen_cond_dep ' - >=dev-python/tomli-2.0.2[${PYTHON_USEDEP}] - ' 3.10) -" -# tox is called as a subprocess, to get targets from tox.ini -BDEPEND=" - dev-python/hatch-vcs[${PYTHON_USEDEP}] - test? ( - >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}] - dev-python/tox - ) -" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so" - -src_prepare() { - distutils-r1_src_prepare - sed -i -e '/strip/d' pyproject.toml || die -} - -python_test_all() { - cargo_src_test -} diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.5.0-r1.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.5.0-r1.ebuild new file mode 100644 index 000000000000..377b7a43756d --- /dev/null +++ b/dev-python/pyproject-fmt/pyproject-fmt-2.5.0-r1.ebuild @@ -0,0 +1,162 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + aho-corasick@1.1.3 + any_ascii@0.1.7 + arc-swap@1.7.1 + autocfg@1.4.0 + beef@0.5.2 + bstr@1.10.0 + cfg-if@1.0.0 + countme@3.0.1 + deranged@0.3.11 + either@1.13.0 + equivalent@1.0.1 + fnv@1.0.7 + form_urlencoded@1.2.1 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-timer@3.0.3 + futures-util@0.3.31 + futures@0.3.31 + getrandom@0.2.15 + glob@0.3.1 + globset@0.4.15 + hashbrown@0.14.5 + hashbrown@0.15.0 + heck@0.5.0 + idna@0.5.0 + indexmap@2.6.0 + indoc@2.0.5 + itertools@0.10.5 + itoa@1.0.11 + lexical-sort@0.3.1 + libc@0.2.161 + log@0.4.22 + logos-derive@0.12.1 + logos@0.12.1 + memchr@2.7.4 + memoffset@0.9.1 + num-conv@0.1.0 + once_cell@1.20.2 + pep440_rs@0.7.1 + pep508_rs@0.8.1 + percent-encoding@2.3.1 + pin-project-lite@0.2.15 + pin-utils@0.1.0 + portable-atomic@1.9.0 + powerfmt@0.2.0 + proc-macro-crate@3.2.0 + proc-macro2@1.0.89 + pyo3-build-config@0.22.5 + pyo3-ffi@0.22.5 + pyo3-macros-backend@0.22.5 + pyo3-macros@0.22.5 + pyo3@0.22.5 + quote@1.0.37 + regex-automata@0.4.8 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.1 + relative-path@1.9.3 + rowan@0.15.16 + rstest@0.23.0 + rstest_macros@0.23.0 + rustc-hash@1.1.0 + rustc_version@0.4.1 + ryu@1.0.18 + semver@1.0.23 + serde@1.0.214 + serde_derive@1.0.214 + serde_json@1.0.132 + slab@0.4.9 + syn@1.0.109 + syn@2.0.85 + taplo@0.13.2 + target-lexicon@0.12.16 + text-size@1.1.1 + thiserror-impl@1.0.65 + thiserror@1.0.65 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + toml_datetime@0.6.8 + toml_edit@0.22.22 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + unicode-bidi@0.3.17 + unicode-ident@1.0.13 + unicode-normalization@0.1.24 + unicode-width@0.2.0 + unindent@0.2.3 + unscanny@0.1.0 + url@2.5.2 + urlencoding@2.1.3 + version_check@0.9.5 + wasi@0.11.0+wasi-snapshot-preview1 + winnow@0.6.20 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo distutils-r1 pypi + +DESCRIPTION="Format your pyproject.toml file" +HOMEPAGE=" + https://github.com/tox-dev/pyproject-fmt/ + https://pypi.org/project/pyproject-fmt/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 + || ( Apache-2.0 BSD-2 ) + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~s390 ~x86" + +RDEPEND=" + ~dev-python/toml-fmt-common-1.0.1[${PYTHON_USEDEP}] +" +# tox is called as a subprocess, to get targets from tox.ini +BDEPEND=" + dev-python/hatch-vcs[${PYTHON_USEDEP}] + test? ( + >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}] + dev-python/tox + ) +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so" + +src_prepare() { + distutils-r1_src_prepare + sed -i -e '/strip/d' pyproject.toml || die +} + +python_test_all() { + cargo_src_test +} diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.5.0.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.5.0.ebuild deleted file mode 100644 index 377b7a43756d..000000000000 --- a/dev-python/pyproject-fmt/pyproject-fmt-2.5.0.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - aho-corasick@1.1.3 - any_ascii@0.1.7 - arc-swap@1.7.1 - autocfg@1.4.0 - beef@0.5.2 - bstr@1.10.0 - cfg-if@1.0.0 - countme@3.0.1 - deranged@0.3.11 - either@1.13.0 - equivalent@1.0.1 - fnv@1.0.7 - form_urlencoded@1.2.1 - futures-channel@0.3.31 - futures-core@0.3.31 - futures-executor@0.3.31 - futures-io@0.3.31 - futures-macro@0.3.31 - futures-sink@0.3.31 - futures-task@0.3.31 - futures-timer@3.0.3 - futures-util@0.3.31 - futures@0.3.31 - getrandom@0.2.15 - glob@0.3.1 - globset@0.4.15 - hashbrown@0.14.5 - hashbrown@0.15.0 - heck@0.5.0 - idna@0.5.0 - indexmap@2.6.0 - indoc@2.0.5 - itertools@0.10.5 - itoa@1.0.11 - lexical-sort@0.3.1 - libc@0.2.161 - log@0.4.22 - logos-derive@0.12.1 - logos@0.12.1 - memchr@2.7.4 - memoffset@0.9.1 - num-conv@0.1.0 - once_cell@1.20.2 - pep440_rs@0.7.1 - pep508_rs@0.8.1 - percent-encoding@2.3.1 - pin-project-lite@0.2.15 - pin-utils@0.1.0 - portable-atomic@1.9.0 - powerfmt@0.2.0 - proc-macro-crate@3.2.0 - proc-macro2@1.0.89 - pyo3-build-config@0.22.5 - pyo3-ffi@0.22.5 - pyo3-macros-backend@0.22.5 - pyo3-macros@0.22.5 - pyo3@0.22.5 - quote@1.0.37 - regex-automata@0.4.8 - regex-syntax@0.6.29 - regex-syntax@0.8.5 - regex@1.11.1 - relative-path@1.9.3 - rowan@0.15.16 - rstest@0.23.0 - rstest_macros@0.23.0 - rustc-hash@1.1.0 - rustc_version@0.4.1 - ryu@1.0.18 - semver@1.0.23 - serde@1.0.214 - serde_derive@1.0.214 - serde_json@1.0.132 - slab@0.4.9 - syn@1.0.109 - syn@2.0.85 - taplo@0.13.2 - target-lexicon@0.12.16 - text-size@1.1.1 - thiserror-impl@1.0.65 - thiserror@1.0.65 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - toml_datetime@0.6.8 - toml_edit@0.22.22 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - unicode-bidi@0.3.17 - unicode-ident@1.0.13 - unicode-normalization@0.1.24 - unicode-width@0.2.0 - unindent@0.2.3 - unscanny@0.1.0 - url@2.5.2 - urlencoding@2.1.3 - version_check@0.9.5 - wasi@0.11.0+wasi-snapshot-preview1 - winnow@0.6.20 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Format your pyproject.toml file" -HOMEPAGE=" - https://github.com/tox-dev/pyproject-fmt/ - https://pypi.org/project/pyproject-fmt/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 - || ( Apache-2.0 BSD-2 ) - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~s390 ~x86" - -RDEPEND=" - ~dev-python/toml-fmt-common-1.0.1[${PYTHON_USEDEP}] -" -# tox is called as a subprocess, to get targets from tox.ini -BDEPEND=" - dev-python/hatch-vcs[${PYTHON_USEDEP}] - test? ( - >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}] - dev-python/tox - ) -" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt/_lib.*.so" - -src_prepare() { - distutils-r1_src_prepare - sed -i -e '/strip/d' pyproject.toml || die -} - -python_test_all() { - cargo_src_test -} diff --git a/dev-python/qiskit/qiskit-1.2.4-r1.ebuild b/dev-python/qiskit/qiskit-1.2.4-r1.ebuild new file mode 100644 index 000000000000..4dd579104bf4 --- /dev/null +++ b/dev-python/qiskit/qiskit-1.2.4-r1.ebuild @@ -0,0 +1,312 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +CRATES=" + ahash@0.7.8 + ahash@0.8.11 + allocator-api2@0.2.18 + always-assert@0.1.3 + approx@0.5.1 + ariadne@0.3.0 + autocfg@1.3.0 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + boolenum@0.1.0 + bytemuck@1.16.3 + bytemuck_derive@1.7.0 + byteorder@1.5.0 + cfg-if@1.0.0 + coe-rs@0.1.2 + concolor-query@0.3.3 + concolor@0.1.1 + countme@3.0.1 + cov-mark@2.0.0 + cpufeatures@0.2.12 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crunchy@0.2.2 + crypto-common@0.1.6 + dbgf@0.1.2 + digest@0.10.7 + drop_bomb@0.1.5 + dyn-stack@0.10.0 + either@1.13.0 + enum-as-inner@0.6.0 + equator-macro@0.2.1 + equator@0.2.2 + equivalent@1.0.1 + faer-entity@0.19.0 + faer-ext@0.2.0 + faer@0.19.1 + fixedbitset@0.4.2 + gemm-c32@0.18.0 + gemm-c64@0.18.0 + gemm-common@0.18.0 + gemm-f16@0.18.0 + gemm-f32@0.18.0 + gemm-f64@0.18.0 + gemm@0.18.0 + generic-array@0.14.7 + getrandom@0.2.15 + half@2.4.1 + hashbrown@0.12.3 + hashbrown@0.14.5 + heck@0.4.1 + hermit-abi@0.3.9 + indexmap@2.2.6 + indoc@2.0.5 + is-terminal@0.4.12 + itertools@0.10.5 + itertools@0.11.0 + itertools@0.13.0 + jod-thread@0.1.2 + libc@0.2.155 + libm@0.2.8 + lock_api@0.4.12 + log@0.4.22 + matrixcompare-core@0.1.0 + matrixcompare@0.3.0 + matrixmultiply@0.3.9 + memchr@2.7.4 + memoffset@0.9.1 + miow@0.5.0 + nano-gemm-c32@0.1.0 + nano-gemm-c64@0.1.0 + nano-gemm-codegen@0.1.0 + nano-gemm-core@0.1.0 + nano-gemm-f32@0.1.0 + nano-gemm-f64@0.1.0 + nano-gemm@0.1.2 + ndarray@0.15.6 + npyz@0.8.3 + num-bigint@0.4.6 + num-complex@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + numpy@0.21.0 + once_cell@1.19.0 + oq3_lexer@0.6.0 + oq3_parser@0.6.0 + oq3_semantics@0.6.0 + oq3_source_file@0.6.0 + oq3_syntax@0.6.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + pest@2.7.11 + pest_derive@2.7.11 + pest_generator@2.7.11 + pest_meta@2.7.11 + petgraph@0.6.5 + portable-atomic@1.7.0 + ppv-lite86@0.2.19 + priority-queue@2.0.3 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.86 + pulp-macro@0.1.1 + pulp@0.18.21 + py_literal@0.4.0 + pyo3-build-config@0.21.2 + pyo3-ffi@0.21.2 + pyo3-macros-backend@0.21.2 + pyo3-macros@0.21.2 + pyo3@0.21.2 + quote@1.0.36 + ra_ap_limit@0.0.188 + ra_ap_stdx@0.0.188 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rand_pcg@0.3.1 + raw-cpuid@10.7.0 + rawpointer@0.2.1 + rayon-cond@0.3.0 + rayon-core@1.12.1 + rayon@1.10.0 + reborrow@0.5.5 + redox_syscall@0.5.3 + rowan@0.15.15 + rustc-hash@1.1.0 + rustversion@1.0.17 + rustworkx-core@0.15.1 + same-file@1.0.6 + scopeguard@1.2.0 + seq-macro@0.3.5 + serde@1.0.204 + serde_derive@1.0.204 + sha2@0.10.8 + smallvec@1.13.2 + smol_str@0.2.2 + syn@1.0.109 + syn@2.0.72 + sysctl@0.5.5 + target-lexicon@0.12.16 + text-size@1.1.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + triomphe@0.1.11 + typenum@1.17.0 + ucd-trie@0.1.6 + unicode-ident@1.0.12 + unicode-properties@0.1.1 + unicode-width@0.1.13 + unicode-xid@0.2.4 + unindent@0.2.3 + version_check@0.9.5 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.42.0 + windows-sys@0.45.0 + windows-sys@0.52.0 + windows-targets@0.42.2 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.52.6 + xshell-macros@0.2.6 + xshell@0.2.6 + yansi@0.5.1 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo distutils-r1 + +MY_P=${P/_} +DESCRIPTION="An open-source SDK for working with quantum computers" +HOMEPAGE=" + https://github.com/Qiskit/qiskit/ + https://pypi.org/project/qiskit/ +" +SRC_URI=" + https://github.com/Qiskit/qiskit/archive/${PV/_}.tar.gz + -> ${MY_P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT + Unicode-DFS-2016 + || ( LGPL-3+ MPL-2.0 ) +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+visualization" + +RDEPEND=" + >=dev-python/dill-0.3[${PYTHON_USEDEP}] + >=dev-python/numpy-1.17[${PYTHON_USEDEP}] + >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}] + >=dev-python/rustworkx-0.15.0[${PYTHON_USEDEP}] + >=dev-python/scipy-1.5[${PYTHON_USEDEP}] + >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}] + >=dev-python/symengine-0.11.0[${PYTHON_USEDEP}] + >=dev-python/sympy-1.3[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/typing-extensions[${PYTHON_USEDEP}] + ' 3.10) + visualization? ( + >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}] + dev-python/pydot[${PYTHON_USEDEP}] + >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}] + >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}] + >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + >=dev-python/cython-0.27.1[${PYTHON_USEDEP}] + test? ( + app-text/poppler[png] + >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}] + >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}] + >=dev-python/networkx-2.2[${PYTHON_USEDEP}] + >=dev-python/qiskit-aer-0.14[${PYTHON_USEDEP}] + >=dev-python/scikit-learn-0.20.0[${PYTHON_USEDEP}] + ) +" + +# Files built without CFLAGS/LDFLAGS, acceptable for rust +QA_FLAGS_IGNORED=" + usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so + usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # strip forcing -Werror from tests that also leaks to other packages + sed -i -e '/filterwarnings.*error/d' test/utils/base.py || die +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO + test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw + test/python/quantum_info/operators/symplectic/test_sparse_pauli_op.py::TestSparsePauliOpConversions::test_to_matrix_zero + test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin + test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register + test/python/circuit/test_scheduled_circuit.py::TestScheduledCircuit::test_fail_to_assemble_circuits_with_unbounded_parameters + test/python/circuit/test_scheduled_circuit.py::TestScheduledCircuit::test_schedule_circuit_in_sec_when_no_one_tells_dt + test/python/compiler/test_assembler.py::TestCircuitAssembler::test_circuit_with_global_phase + test/python/compiler/test_assembler.py::TestPulseAssembler::test_assemble_user_rep_time_delay + # tiny image differences, sigh + test/python/visualization/test_gate_map.py::TestGateMap::test_plot_error_map_over_100_qubit + ) + + local EPYTEST_IGNORE=( + # Breaks xdist + test/python/qasm2/test_parse_errors.py + test/python/transpiler/test_preset_passmanagers.py + ) + + case ${EPYTHON} in + python3.13) + EPYTEST_DESELECT+=( + # docstring mismatches + test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_meta_lines + test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_multiple_entries + test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_no_meta_lines + ) + ;; + esac + + rm -rf qiskit || die + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + # Run the Python test suite rather than everything under test/ which + # includes the 'randomized' suite. Upstream run that in a separate CI job. + epytest test/python +} diff --git a/dev-python/qiskit/qiskit-1.2.4.ebuild b/dev-python/qiskit/qiskit-1.2.4.ebuild deleted file mode 100644 index 4dd579104bf4..000000000000 --- a/dev-python/qiskit/qiskit-1.2.4.ebuild +++ /dev/null @@ -1,312 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} ) - -CRATES=" - ahash@0.7.8 - ahash@0.8.11 - allocator-api2@0.2.18 - always-assert@0.1.3 - approx@0.5.1 - ariadne@0.3.0 - autocfg@1.3.0 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - boolenum@0.1.0 - bytemuck@1.16.3 - bytemuck_derive@1.7.0 - byteorder@1.5.0 - cfg-if@1.0.0 - coe-rs@0.1.2 - concolor-query@0.3.3 - concolor@0.1.1 - countme@3.0.1 - cov-mark@2.0.0 - cpufeatures@0.2.12 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.20 - crunchy@0.2.2 - crypto-common@0.1.6 - dbgf@0.1.2 - digest@0.10.7 - drop_bomb@0.1.5 - dyn-stack@0.10.0 - either@1.13.0 - enum-as-inner@0.6.0 - equator-macro@0.2.1 - equator@0.2.2 - equivalent@1.0.1 - faer-entity@0.19.0 - faer-ext@0.2.0 - faer@0.19.1 - fixedbitset@0.4.2 - gemm-c32@0.18.0 - gemm-c64@0.18.0 - gemm-common@0.18.0 - gemm-f16@0.18.0 - gemm-f32@0.18.0 - gemm-f64@0.18.0 - gemm@0.18.0 - generic-array@0.14.7 - getrandom@0.2.15 - half@2.4.1 - hashbrown@0.12.3 - hashbrown@0.14.5 - heck@0.4.1 - hermit-abi@0.3.9 - indexmap@2.2.6 - indoc@2.0.5 - is-terminal@0.4.12 - itertools@0.10.5 - itertools@0.11.0 - itertools@0.13.0 - jod-thread@0.1.2 - libc@0.2.155 - libm@0.2.8 - lock_api@0.4.12 - log@0.4.22 - matrixcompare-core@0.1.0 - matrixcompare@0.3.0 - matrixmultiply@0.3.9 - memchr@2.7.4 - memoffset@0.9.1 - miow@0.5.0 - nano-gemm-c32@0.1.0 - nano-gemm-c64@0.1.0 - nano-gemm-codegen@0.1.0 - nano-gemm-core@0.1.0 - nano-gemm-f32@0.1.0 - nano-gemm-f64@0.1.0 - nano-gemm@0.1.2 - ndarray@0.15.6 - npyz@0.8.3 - num-bigint@0.4.6 - num-complex@0.4.6 - num-integer@0.1.46 - num-traits@0.2.19 - numpy@0.21.0 - once_cell@1.19.0 - oq3_lexer@0.6.0 - oq3_parser@0.6.0 - oq3_semantics@0.6.0 - oq3_source_file@0.6.0 - oq3_syntax@0.6.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - paste@1.0.15 - pest@2.7.11 - pest_derive@2.7.11 - pest_generator@2.7.11 - pest_meta@2.7.11 - petgraph@0.6.5 - portable-atomic@1.7.0 - ppv-lite86@0.2.19 - priority-queue@2.0.3 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.86 - pulp-macro@0.1.1 - pulp@0.18.21 - py_literal@0.4.0 - pyo3-build-config@0.21.2 - pyo3-ffi@0.21.2 - pyo3-macros-backend@0.21.2 - pyo3-macros@0.21.2 - pyo3@0.21.2 - quote@1.0.36 - ra_ap_limit@0.0.188 - ra_ap_stdx@0.0.188 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rand_pcg@0.3.1 - raw-cpuid@10.7.0 - rawpointer@0.2.1 - rayon-cond@0.3.0 - rayon-core@1.12.1 - rayon@1.10.0 - reborrow@0.5.5 - redox_syscall@0.5.3 - rowan@0.15.15 - rustc-hash@1.1.0 - rustversion@1.0.17 - rustworkx-core@0.15.1 - same-file@1.0.6 - scopeguard@1.2.0 - seq-macro@0.3.5 - serde@1.0.204 - serde_derive@1.0.204 - sha2@0.10.8 - smallvec@1.13.2 - smol_str@0.2.2 - syn@1.0.109 - syn@2.0.72 - sysctl@0.5.5 - target-lexicon@0.12.16 - text-size@1.1.1 - thiserror-impl@1.0.63 - thiserror@1.0.63 - triomphe@0.1.11 - typenum@1.17.0 - ucd-trie@0.1.6 - unicode-ident@1.0.12 - unicode-properties@0.1.1 - unicode-width@0.1.13 - unicode-xid@0.2.4 - unindent@0.2.3 - version_check@0.9.5 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.42.0 - windows-sys@0.45.0 - windows-sys@0.52.0 - windows-targets@0.42.2 - windows-targets@0.52.6 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.52.6 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.52.6 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.52.6 - windows_i686_gnullvm@0.52.6 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.52.6 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.52.6 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.52.6 - xshell-macros@0.2.6 - xshell@0.2.6 - yansi@0.5.1 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit cargo distutils-r1 - -MY_P=${P/_} -DESCRIPTION="An open-source SDK for working with quantum computers" -HOMEPAGE=" - https://github.com/Qiskit/qiskit/ - https://pypi.org/project/qiskit/ -" -SRC_URI=" - https://github.com/Qiskit/qiskit/archive/${PV/_}.tar.gz - -> ${MY_P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" -S=${WORKDIR}/${MY_P} - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT - Unicode-DFS-2016 - || ( LGPL-3+ MPL-2.0 ) -" -SLOT="0" -KEYWORDS="~amd64" -IUSE="+visualization" - -RDEPEND=" - >=dev-python/dill-0.3[${PYTHON_USEDEP}] - >=dev-python/numpy-1.17[${PYTHON_USEDEP}] - >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}] - >=dev-python/rustworkx-0.15.0[${PYTHON_USEDEP}] - >=dev-python/scipy-1.5[${PYTHON_USEDEP}] - >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}] - >=dev-python/symengine-0.11.0[${PYTHON_USEDEP}] - >=dev-python/sympy-1.3[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/typing-extensions[${PYTHON_USEDEP}] - ' 3.10) - visualization? ( - >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}] - dev-python/pydot[${PYTHON_USEDEP}] - >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}] - >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}] - >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}] - ) -" -BDEPEND=" - >=dev-python/cython-0.27.1[${PYTHON_USEDEP}] - test? ( - app-text/poppler[png] - >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}] - >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}] - >=dev-python/networkx-2.2[${PYTHON_USEDEP}] - >=dev-python/qiskit-aer-0.14[${PYTHON_USEDEP}] - >=dev-python/scikit-learn-0.20.0[${PYTHON_USEDEP}] - ) -" - -# Files built without CFLAGS/LDFLAGS, acceptable for rust -QA_FLAGS_IGNORED=" - usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so - usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so -" - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - - # strip forcing -Werror from tests that also leaks to other packages - sed -i -e '/filterwarnings.*error/d' test/utils/base.py || die -} - -python_test() { - local EPYTEST_DESELECT=( - # TODO - test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw - test/python/quantum_info/operators/symplectic/test_sparse_pauli_op.py::TestSparsePauliOpConversions::test_to_matrix_zero - test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin - test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register - test/python/circuit/test_scheduled_circuit.py::TestScheduledCircuit::test_fail_to_assemble_circuits_with_unbounded_parameters - test/python/circuit/test_scheduled_circuit.py::TestScheduledCircuit::test_schedule_circuit_in_sec_when_no_one_tells_dt - test/python/compiler/test_assembler.py::TestCircuitAssembler::test_circuit_with_global_phase - test/python/compiler/test_assembler.py::TestPulseAssembler::test_assemble_user_rep_time_delay - # tiny image differences, sigh - test/python/visualization/test_gate_map.py::TestGateMap::test_plot_error_map_over_100_qubit - ) - - local EPYTEST_IGNORE=( - # Breaks xdist - test/python/qasm2/test_parse_errors.py - test/python/transpiler/test_preset_passmanagers.py - ) - - case ${EPYTHON} in - python3.13) - EPYTEST_DESELECT+=( - # docstring mismatches - test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_meta_lines - test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_multiple_entries - test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_no_meta_lines - ) - ;; - esac - - rm -rf qiskit || die - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - # Run the Python test suite rather than everything under test/ which - # includes the 'randomized' suite. Upstream run that in a separate CI job. - epytest test/python -} diff --git a/dev-python/qiskit/qiskit-1.3.0_rc1-r1.ebuild b/dev-python/qiskit/qiskit-1.3.0_rc1-r1.ebuild new file mode 100644 index 000000000000..86853089155e --- /dev/null +++ b/dev-python/qiskit/qiskit-1.3.0_rc1-r1.ebuild @@ -0,0 +1,309 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +CRATES=" + ahash@0.7.8 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + approx@0.4.0 + approx@0.5.1 + ariadne@0.3.0 + autocfg@1.4.0 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + boolenum@0.1.0 + bytemuck@1.19.0 + bytemuck_derive@1.8.0 + byteorder@1.5.0 + cfg-if@1.0.0 + coe-rs@0.1.2 + concolor-query@0.3.3 + concolor@0.1.1 + countme@3.0.1 + cov-mark@2.0.0 + cpufeatures@0.2.14 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crunchy@0.2.2 + crypto-common@0.1.6 + dbgf@0.1.2 + digest@0.10.7 + drop_bomb@0.1.5 + dyn-stack@0.10.0 + either@1.13.0 + enum-as-inner@0.6.1 + equator-macro@0.2.1 + equator-macro@0.4.1 + equator@0.2.2 + equator@0.4.1 + equivalent@1.0.1 + faer-entity@0.19.2 + faer-ext@0.2.0 + faer@0.19.4 + fixedbitset@0.4.2 + gemm-c32@0.18.0 + gemm-c64@0.18.0 + gemm-common@0.18.0 + gemm-f16@0.18.0 + gemm-f32@0.18.0 + gemm-f64@0.18.0 + gemm@0.18.0 + generic-array@0.14.7 + getrandom@0.2.15 + half@2.4.1 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashbrown@0.15.0 + heck@0.5.0 + hermit-abi@0.4.0 + indexmap@2.6.0 + indoc@2.0.5 + is-terminal@0.4.13 + itertools@0.10.5 + itertools@0.11.0 + itertools@0.13.0 + lazy_static@1.5.0 + libc@0.2.159 + libm@0.2.8 + matrixcompare-core@0.1.0 + matrixcompare@0.3.0 + matrixmultiply@0.3.9 + memchr@2.7.4 + memoffset@0.9.1 + nano-gemm-c32@0.1.0 + nano-gemm-c64@0.1.0 + nano-gemm-codegen@0.1.0 + nano-gemm-core@0.1.0 + nano-gemm-f32@0.1.0 + nano-gemm-f64@0.1.0 + nano-gemm@0.1.2 + ndarray@0.15.6 + ndarray_einsum_beta@0.7.0 + npyz@0.8.3 + num-bigint@0.4.6 + num-complex@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + numpy@0.22.1 + once_cell@1.20.2 + oq3_lexer@0.7.0 + oq3_parser@0.7.0 + oq3_semantics@0.7.0 + oq3_source_file@0.7.0 + oq3_syntax@0.7.0 + paste@1.0.15 + pest@2.7.13 + pest_derive@2.7.13 + pest_generator@2.7.13 + pest_meta@2.7.13 + petgraph@0.6.5 + portable-atomic@1.9.0 + ppv-lite86@0.2.20 + priority-queue@2.1.1 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.87 + pulp-macro@0.1.1 + pulp@0.18.22 + py_literal@0.4.0 + pyo3-build-config@0.22.6 + pyo3-ffi@0.22.6 + pyo3-macros-backend@0.22.6 + pyo3-macros@0.22.6 + pyo3@0.22.6 + quote@1.0.37 + ra_ap_limit@0.0.188 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rand_pcg@0.3.1 + raw-cpuid@10.7.0 + rawpointer@0.2.1 + rayon-cond@0.3.0 + rayon-core@1.12.1 + rayon@1.10.0 + reborrow@0.5.5 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.0 + rowan@0.15.15 + rustc-hash@1.1.0 + rustiq-core@0.0.10 + rustversion@1.0.17 + rustworkx-core@0.15.1 + same-file@1.0.6 + seq-macro@0.3.5 + serde@1.0.210 + serde_derive@1.0.210 + sha2@0.10.8 + smallvec@1.13.2 + smol_str@0.2.2 + syn@1.0.109 + syn@2.0.79 + sysctl@0.5.5 + target-lexicon@0.12.16 + text-size@1.1.1 + thiserror-impl@1.0.65 + thiserror@1.0.65 + triomphe@0.1.11 + typenum@1.17.0 + ucd-trie@0.1.7 + unicode-ident@1.0.13 + unicode-properties@0.1.3 + unicode-width@0.1.14 + unicode-xid@0.2.6 + unindent@0.2.3 + version_check@0.9.5 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-util@0.1.9 + windows-sys@0.45.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.42.2 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.52.6 + xshell-macros@0.2.6 + xshell@0.2.6 + yansi@0.5.1 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo distutils-r1 + +MY_P=${P/_} +DESCRIPTION="An open-source SDK for working with quantum computers" +HOMEPAGE=" + https://github.com/Qiskit/qiskit/ + https://pypi.org/project/qiskit/ +" +SRC_URI=" + https://github.com/Qiskit/qiskit/archive/${PV/_}.tar.gz + -> ${MY_P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +S=${WORKDIR}/${MY_P} + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT + Unicode-DFS-2016 + || ( LGPL-3+ MPL-2.0 ) +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+visualization" + +RDEPEND=" + >=dev-python/dill-0.3[${PYTHON_USEDEP}] + >=dev-python/numpy-1.17[${PYTHON_USEDEP}] + >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}] + >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}] + >=dev-python/rustworkx-0.15.0[${PYTHON_USEDEP}] + >=dev-python/scipy-1.5[${PYTHON_USEDEP}] + >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}] + >=dev-python/symengine-0.11.0[${PYTHON_USEDEP}] + >=dev-python/sympy-1.3[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/typing-extensions[${PYTHON_USEDEP}] + ' 3.10) + visualization? ( + >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}] + dev-python/pydot[${PYTHON_USEDEP}] + >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}] + >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}] + >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}] + ) +" +BDEPEND=" + >=dev-python/cython-0.27.1[${PYTHON_USEDEP}] + test? ( + app-text/poppler[png] + >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}] + >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}] + >=dev-python/networkx-2.2[${PYTHON_USEDEP}] + >=dev-python/qiskit-aer-0.14[${PYTHON_USEDEP}] + >=dev-python/scikit-learn-0.20.0[${PYTHON_USEDEP}] + ) +" + +# Files built without CFLAGS/LDFLAGS, acceptable for rust +QA_FLAGS_IGNORED=" + usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so + usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so +" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # strip forcing -Werror from tests that also leaks to other packages + sed -i -e '/filterwarnings.*error/d' test/utils/base.py || die +} + +python_test() { + local EPYTEST_DESELECT=( + # TODO + test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw + test/python/quantum_info/operators/symplectic/test_sparse_pauli_op.py::TestSparsePauliOpConversions::test_to_matrix_zero + test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin + test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register + test/python/circuit/test_scheduled_circuit.py::TestScheduledCircuit::test_fail_to_assemble_circuits_with_unbounded_parameters + test/python/circuit/test_scheduled_circuit.py::TestScheduledCircuit::test_schedule_circuit_in_sec_when_no_one_tells_dt + test/python/compiler/test_assembler.py::TestCircuitAssembler::test_circuit_with_global_phase + test/python/compiler/test_assembler.py::TestPulseAssembler::test_assemble_user_rep_time_delay + # tiny image differences, sigh + test/python/visualization/test_gate_map.py::TestGateMap::test_plot_error_map_over_100_qubit + ) + + local EPYTEST_IGNORE=( + # Breaks xdist + test/python/qasm2/test_parse_errors.py + test/python/transpiler/test_preset_passmanagers.py + ) + + case ${EPYTHON} in + python3.13) + EPYTEST_DESELECT+=( + # docstring mismatches + test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_meta_lines + test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_multiple_entries + test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_no_meta_lines + ) + ;; + esac + + rm -rf qiskit || die + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + # Run the Python test suite rather than everything under test/ which + # includes the 'randomized' suite. Upstream run that in a separate CI job. + epytest test/python +} diff --git a/dev-python/qiskit/qiskit-1.3.0_rc1.ebuild b/dev-python/qiskit/qiskit-1.3.0_rc1.ebuild deleted file mode 100644 index 86853089155e..000000000000 --- a/dev-python/qiskit/qiskit-1.3.0_rc1.ebuild +++ /dev/null @@ -1,309 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} ) - -CRATES=" - ahash@0.7.8 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - approx@0.4.0 - approx@0.5.1 - ariadne@0.3.0 - autocfg@1.4.0 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - boolenum@0.1.0 - bytemuck@1.19.0 - bytemuck_derive@1.8.0 - byteorder@1.5.0 - cfg-if@1.0.0 - coe-rs@0.1.2 - concolor-query@0.3.3 - concolor@0.1.1 - countme@3.0.1 - cov-mark@2.0.0 - cpufeatures@0.2.14 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.20 - crunchy@0.2.2 - crypto-common@0.1.6 - dbgf@0.1.2 - digest@0.10.7 - drop_bomb@0.1.5 - dyn-stack@0.10.0 - either@1.13.0 - enum-as-inner@0.6.1 - equator-macro@0.2.1 - equator-macro@0.4.1 - equator@0.2.2 - equator@0.4.1 - equivalent@1.0.1 - faer-entity@0.19.2 - faer-ext@0.2.0 - faer@0.19.4 - fixedbitset@0.4.2 - gemm-c32@0.18.0 - gemm-c64@0.18.0 - gemm-common@0.18.0 - gemm-f16@0.18.0 - gemm-f32@0.18.0 - gemm-f64@0.18.0 - gemm@0.18.0 - generic-array@0.14.7 - getrandom@0.2.15 - half@2.4.1 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashbrown@0.15.0 - heck@0.5.0 - hermit-abi@0.4.0 - indexmap@2.6.0 - indoc@2.0.5 - is-terminal@0.4.13 - itertools@0.10.5 - itertools@0.11.0 - itertools@0.13.0 - lazy_static@1.5.0 - libc@0.2.159 - libm@0.2.8 - matrixcompare-core@0.1.0 - matrixcompare@0.3.0 - matrixmultiply@0.3.9 - memchr@2.7.4 - memoffset@0.9.1 - nano-gemm-c32@0.1.0 - nano-gemm-c64@0.1.0 - nano-gemm-codegen@0.1.0 - nano-gemm-core@0.1.0 - nano-gemm-f32@0.1.0 - nano-gemm-f64@0.1.0 - nano-gemm@0.1.2 - ndarray@0.15.6 - ndarray_einsum_beta@0.7.0 - npyz@0.8.3 - num-bigint@0.4.6 - num-complex@0.4.6 - num-integer@0.1.46 - num-traits@0.2.19 - numpy@0.22.1 - once_cell@1.20.2 - oq3_lexer@0.7.0 - oq3_parser@0.7.0 - oq3_semantics@0.7.0 - oq3_source_file@0.7.0 - oq3_syntax@0.7.0 - paste@1.0.15 - pest@2.7.13 - pest_derive@2.7.13 - pest_generator@2.7.13 - pest_meta@2.7.13 - petgraph@0.6.5 - portable-atomic@1.9.0 - ppv-lite86@0.2.20 - priority-queue@2.1.1 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.87 - pulp-macro@0.1.1 - pulp@0.18.22 - py_literal@0.4.0 - pyo3-build-config@0.22.6 - pyo3-ffi@0.22.6 - pyo3-macros-backend@0.22.6 - pyo3-macros@0.22.6 - pyo3@0.22.6 - quote@1.0.37 - ra_ap_limit@0.0.188 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rand_pcg@0.3.1 - raw-cpuid@10.7.0 - rawpointer@0.2.1 - rayon-cond@0.3.0 - rayon-core@1.12.1 - rayon@1.10.0 - reborrow@0.5.5 - regex-automata@0.4.8 - regex-syntax@0.8.5 - regex@1.11.0 - rowan@0.15.15 - rustc-hash@1.1.0 - rustiq-core@0.0.10 - rustversion@1.0.17 - rustworkx-core@0.15.1 - same-file@1.0.6 - seq-macro@0.3.5 - serde@1.0.210 - serde_derive@1.0.210 - sha2@0.10.8 - smallvec@1.13.2 - smol_str@0.2.2 - syn@1.0.109 - syn@2.0.79 - sysctl@0.5.5 - target-lexicon@0.12.16 - text-size@1.1.1 - thiserror-impl@1.0.65 - thiserror@1.0.65 - triomphe@0.1.11 - typenum@1.17.0 - ucd-trie@0.1.7 - unicode-ident@1.0.13 - unicode-properties@0.1.3 - unicode-width@0.1.14 - unicode-xid@0.2.6 - unindent@0.2.3 - version_check@0.9.5 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-util@0.1.9 - windows-sys@0.45.0 - windows-sys@0.52.0 - windows-sys@0.59.0 - windows-targets@0.42.2 - windows-targets@0.52.6 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.52.6 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.52.6 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.52.6 - windows_i686_gnullvm@0.52.6 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.52.6 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.52.6 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.52.6 - xshell-macros@0.2.6 - xshell@0.2.6 - yansi@0.5.1 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit cargo distutils-r1 - -MY_P=${P/_} -DESCRIPTION="An open-source SDK for working with quantum computers" -HOMEPAGE=" - https://github.com/Qiskit/qiskit/ - https://pypi.org/project/qiskit/ -" -SRC_URI=" - https://github.com/Qiskit/qiskit/archive/${PV/_}.tar.gz - -> ${MY_P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" -S=${WORKDIR}/${MY_P} - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT - Unicode-DFS-2016 - || ( LGPL-3+ MPL-2.0 ) -" -SLOT="0" -KEYWORDS="~amd64" -IUSE="+visualization" - -RDEPEND=" - >=dev-python/dill-0.3[${PYTHON_USEDEP}] - >=dev-python/numpy-1.17[${PYTHON_USEDEP}] - >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}] - >=dev-python/rustworkx-0.15.0[${PYTHON_USEDEP}] - >=dev-python/scipy-1.5[${PYTHON_USEDEP}] - >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}] - >=dev-python/symengine-0.11.0[${PYTHON_USEDEP}] - >=dev-python/sympy-1.3[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/typing-extensions[${PYTHON_USEDEP}] - ' 3.10) - visualization? ( - >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}] - dev-python/pydot[${PYTHON_USEDEP}] - >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}] - >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}] - >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}] - ) -" -BDEPEND=" - >=dev-python/cython-0.27.1[${PYTHON_USEDEP}] - test? ( - app-text/poppler[png] - >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}] - >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}] - >=dev-python/networkx-2.2[${PYTHON_USEDEP}] - >=dev-python/qiskit-aer-0.14[${PYTHON_USEDEP}] - >=dev-python/scikit-learn-0.20.0[${PYTHON_USEDEP}] - ) -" - -# Files built without CFLAGS/LDFLAGS, acceptable for rust -QA_FLAGS_IGNORED=" - usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so - usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so -" - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - - # strip forcing -Werror from tests that also leaks to other packages - sed -i -e '/filterwarnings.*error/d' test/utils/base.py || die -} - -python_test() { - local EPYTEST_DESELECT=( - # TODO - test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw - test/python/quantum_info/operators/symplectic/test_sparse_pauli_op.py::TestSparsePauliOpConversions::test_to_matrix_zero - test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin - test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register - test/python/circuit/test_scheduled_circuit.py::TestScheduledCircuit::test_fail_to_assemble_circuits_with_unbounded_parameters - test/python/circuit/test_scheduled_circuit.py::TestScheduledCircuit::test_schedule_circuit_in_sec_when_no_one_tells_dt - test/python/compiler/test_assembler.py::TestCircuitAssembler::test_circuit_with_global_phase - test/python/compiler/test_assembler.py::TestPulseAssembler::test_assemble_user_rep_time_delay - # tiny image differences, sigh - test/python/visualization/test_gate_map.py::TestGateMap::test_plot_error_map_over_100_qubit - ) - - local EPYTEST_IGNORE=( - # Breaks xdist - test/python/qasm2/test_parse_errors.py - test/python/transpiler/test_preset_passmanagers.py - ) - - case ${EPYTHON} in - python3.13) - EPYTEST_DESELECT+=( - # docstring mismatches - test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_meta_lines - test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_multiple_entries - test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_no_meta_lines - ) - ;; - esac - - rm -rf qiskit || die - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - # Run the Python test suite rather than everything under test/ which - # includes the 'randomized' suite. Upstream run that in a separate CI job. - epytest test/python -} diff --git a/dev-python/regress/regress-2024.11.1-r1.ebuild b/dev-python/regress/regress-2024.11.1-r1.ebuild new file mode 100644 index 000000000000..7f155c521cdc --- /dev/null +++ b/dev-python/regress/regress-2024.11.1-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + allocator-api2@0.2.18 + autocfg@1.1.0 + cc@1.1.7 + cfg-if@1.0.0 + hashbrown@0.14.5 + heck@0.5.0 + indoc@2.0.4 + libc@0.2.140 + memchr@2.5.0 + memoffset@0.9.0 + once_cell@1.19.0 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.5 + pyo3-ffi@0.22.5 + pyo3-macros-backend@0.22.5 + pyo3-macros@0.22.5 + pyo3@0.22.5 + python3-dll-a@0.2.10 + quote@1.0.36 + regress@0.10.1 + syn@2.0.72 + target-lexicon@0.12.16 + unicode-ident@1.0.8 + unindent@0.2.3 + version_check@0.9.4 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo distutils-r1 + +DESCRIPTION="Python bindings to the Rust regress crate" +HOMEPAGE=" + https://pypi.org/project/regress/ + https://github.com/crate-py/regress +" +SRC_URI=" + https://github.com/crate-py/regress/releases/download/v${PV}/${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~riscv" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/regress/regress.*.so" diff --git a/dev-python/regress/regress-2024.11.1.ebuild b/dev-python/regress/regress-2024.11.1.ebuild deleted file mode 100644 index 7f155c521cdc..000000000000 --- a/dev-python/regress/regress-2024.11.1.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - allocator-api2@0.2.18 - autocfg@1.1.0 - cc@1.1.7 - cfg-if@1.0.0 - hashbrown@0.14.5 - heck@0.5.0 - indoc@2.0.4 - libc@0.2.140 - memchr@2.5.0 - memoffset@0.9.0 - once_cell@1.19.0 - portable-atomic@1.6.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.5 - pyo3-ffi@0.22.5 - pyo3-macros-backend@0.22.5 - pyo3-macros@0.22.5 - pyo3@0.22.5 - python3-dll-a@0.2.10 - quote@1.0.36 - regress@0.10.1 - syn@2.0.72 - target-lexicon@0.12.16 - unicode-ident@1.0.8 - unindent@0.2.3 - version_check@0.9.4 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit cargo distutils-r1 - -DESCRIPTION="Python bindings to the Rust regress crate" -HOMEPAGE=" - https://pypi.org/project/regress/ - https://github.com/crate-py/regress -" -SRC_URI=" - https://github.com/crate-py/regress/releases/download/v${PV}/${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~riscv" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/regress/regress.*.so" diff --git a/dev-python/regress/regress-2024.8.1-r1.ebuild b/dev-python/regress/regress-2024.8.1-r1.ebuild new file mode 100644 index 000000000000..108fba133b20 --- /dev/null +++ b/dev-python/regress/regress-2024.8.1-r1.ebuild @@ -0,0 +1,62 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + allocator-api2@0.2.18 + autocfg@1.1.0 + cc@1.1.7 + cfg-if@1.0.0 + hashbrown@0.14.5 + heck@0.5.0 + indoc@2.0.4 + libc@0.2.140 + memchr@2.5.0 + memoffset@0.9.0 + once_cell@1.19.0 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.2 + pyo3-ffi@0.22.2 + pyo3-macros-backend@0.22.2 + pyo3-macros@0.22.2 + pyo3@0.22.2 + python3-dll-a@0.2.10 + quote@1.0.36 + regress@0.10.0 + syn@2.0.72 + target-lexicon@0.12.16 + unicode-ident@1.0.8 + unindent@0.2.3 + version_check@0.9.4 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo distutils-r1 + +DESCRIPTION="Python bindings to the Rust regress crate" +HOMEPAGE=" + https://pypi.org/project/regress/ + https://github.com/crate-py/regress +" +SRC_URI=" + https://github.com/crate-py/regress/releases/download/v${PV}/${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~riscv" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/regress/regress.*.so" diff --git a/dev-python/regress/regress-2024.8.1.ebuild b/dev-python/regress/regress-2024.8.1.ebuild deleted file mode 100644 index 108fba133b20..000000000000 --- a/dev-python/regress/regress-2024.8.1.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - allocator-api2@0.2.18 - autocfg@1.1.0 - cc@1.1.7 - cfg-if@1.0.0 - hashbrown@0.14.5 - heck@0.5.0 - indoc@2.0.4 - libc@0.2.140 - memchr@2.5.0 - memoffset@0.9.0 - once_cell@1.19.0 - portable-atomic@1.6.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.2 - pyo3-ffi@0.22.2 - pyo3-macros-backend@0.22.2 - pyo3-macros@0.22.2 - pyo3@0.22.2 - python3-dll-a@0.2.10 - quote@1.0.36 - regress@0.10.0 - syn@2.0.72 - target-lexicon@0.12.16 - unicode-ident@1.0.8 - unindent@0.2.3 - version_check@0.9.4 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit cargo distutils-r1 - -DESCRIPTION="Python bindings to the Rust regress crate" -HOMEPAGE=" - https://pypi.org/project/regress/ - https://github.com/crate-py/regress -" -SRC_URI=" - https://github.com/crate-py/regress/releases/download/v${PV}/${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~riscv" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/regress/regress.*.so" diff --git a/dev-python/rpds-py/rpds-py-0.19.1-r1.ebuild b/dev-python/rpds-py/rpds-py-0.19.1-r1.ebuild new file mode 100644 index 000000000000..629949dd782e --- /dev/null +++ b/dev-python/rpds-py/rpds-py-0.19.1-r1.ebuild @@ -0,0 +1,61 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + archery@1.2.0 + autocfg@1.3.0 + cc@1.0.90 + cfg-if@1.0.0 + heck@0.5.0 + indoc@2.0.5 + libc@0.2.155 + memoffset@0.9.1 + once_cell@1.19.0 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.2 + pyo3-ffi@0.22.2 + pyo3-macros-backend@0.22.2 + pyo3-macros@0.22.2 + pyo3@0.22.2 + python3-dll-a@0.2.10 + quote@1.0.36 + rpds@1.1.0 + static_assertions@1.1.0 + syn@2.0.69 + target-lexicon@0.12.14 + triomphe@0.1.13 + unicode-ident@1.0.12 + 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)" +HOMEPAGE=" + https://github.com/crate-py/rpds/ + https://pypi.org/project/rpds-py/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +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" + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so" + +distutils_enable_tests pytest + +export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 diff --git a/dev-python/rpds-py/rpds-py-0.19.1.ebuild b/dev-python/rpds-py/rpds-py-0.19.1.ebuild deleted file mode 100644 index 28d2cfbee5ee..000000000000 --- a/dev-python/rpds-py/rpds-py-0.19.1.ebuild +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - archery@1.2.0 - autocfg@1.3.0 - cc@1.0.90 - cfg-if@1.0.0 - heck@0.5.0 - indoc@2.0.5 - libc@0.2.155 - memoffset@0.9.1 - once_cell@1.19.0 - portable-atomic@1.6.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.2 - pyo3-ffi@0.22.2 - pyo3-macros-backend@0.22.2 - pyo3-macros@0.22.2 - pyo3@0.22.2 - python3-dll-a@0.2.10 - quote@1.0.36 - rpds@1.1.0 - static_assertions@1.1.0 - syn@2.0.69 - target-lexicon@0.12.14 - triomphe@0.1.13 - unicode-ident@1.0.12 - unindent@0.2.3 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)" -HOMEPAGE=" - https://github.com/crate-py/rpds/ - https://pypi.org/project/rpds-py/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -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 - -export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 diff --git a/dev-python/rpds-py/rpds-py-0.20.1-r1.ebuild b/dev-python/rpds-py/rpds-py-0.20.1-r1.ebuild new file mode 100644 index 000000000000..a7c044d8f8fd --- /dev/null +++ b/dev-python/rpds-py/rpds-py-0.20.1-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + archery@1.2.1 + autocfg@1.3.0 + cc@1.0.90 + cfg-if@1.0.0 + heck@0.5.0 + indoc@2.0.5 + libc@0.2.155 + memoffset@0.9.1 + once_cell@1.19.0 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.5 + pyo3-ffi@0.22.5 + pyo3-macros-backend@0.22.5 + pyo3-macros@0.22.5 + pyo3@0.22.5 + python3-dll-a@0.2.10 + quote@1.0.36 + rpds@1.1.0 + syn@2.0.69 + target-lexicon@0.12.14 + triomphe@0.1.13 + unicode-ident@1.0.12 + 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)" +HOMEPAGE=" + https://github.com/crate-py/rpds/ + https://pypi.org/project/rpds-py/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +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" + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so" + +distutils_enable_tests pytest + +export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 diff --git a/dev-python/rpds-py/rpds-py-0.20.1.ebuild b/dev-python/rpds-py/rpds-py-0.20.1.ebuild deleted file mode 100644 index 86c8f68d545d..000000000000 --- a/dev-python/rpds-py/rpds-py-0.20.1.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - archery@1.2.1 - autocfg@1.3.0 - cc@1.0.90 - cfg-if@1.0.0 - heck@0.5.0 - indoc@2.0.5 - libc@0.2.155 - memoffset@0.9.1 - once_cell@1.19.0 - portable-atomic@1.6.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.5 - pyo3-ffi@0.22.5 - pyo3-macros-backend@0.22.5 - pyo3-macros@0.22.5 - pyo3@0.22.5 - python3-dll-a@0.2.10 - quote@1.0.36 - rpds@1.1.0 - syn@2.0.69 - target-lexicon@0.12.14 - triomphe@0.1.13 - unicode-ident@1.0.12 - unindent@0.2.3 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)" -HOMEPAGE=" - https://github.com/crate-py/rpds/ - https://pypi.org/project/rpds-py/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -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 - -export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 diff --git a/dev-python/rpds-py/rpds-py-0.21.0-r1.ebuild b/dev-python/rpds-py/rpds-py-0.21.0-r1.ebuild new file mode 100644 index 000000000000..593819cdcb35 --- /dev/null +++ b/dev-python/rpds-py/rpds-py-0.21.0-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( pypy3 python3_{10..13} ) + +CRATES=" + archery@1.2.1 + autocfg@1.3.0 + cc@1.0.90 + cfg-if@1.0.0 + heck@0.5.0 + indoc@2.0.5 + libc@0.2.155 + memoffset@0.9.1 + once_cell@1.19.0 + portable-atomic@1.6.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.6 + pyo3-ffi@0.22.6 + pyo3-macros-backend@0.22.6 + pyo3-macros@0.22.6 + pyo3@0.22.6 + python3-dll-a@0.2.10 + quote@1.0.36 + rpds@1.1.0 + syn@2.0.69 + target-lexicon@0.12.14 + triomphe@0.1.13 + unicode-ident@1.0.12 + 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)" +HOMEPAGE=" + https://github.com/crate-py/rpds/ + https://pypi.org/project/rpds-py/ +" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +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" + +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so" + +distutils_enable_tests pytest + +export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 diff --git a/dev-python/rpds-py/rpds-py-0.21.0.ebuild b/dev-python/rpds-py/rpds-py-0.21.0.ebuild deleted file mode 100644 index 36e0b76d46b8..000000000000 --- a/dev-python/rpds-py/rpds-py-0.21.0.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( pypy3 python3_{10..13} ) - -CRATES=" - archery@1.2.1 - autocfg@1.3.0 - cc@1.0.90 - cfg-if@1.0.0 - heck@0.5.0 - indoc@2.0.5 - libc@0.2.155 - memoffset@0.9.1 - once_cell@1.19.0 - portable-atomic@1.6.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.6 - pyo3-ffi@0.22.6 - pyo3-macros-backend@0.22.6 - pyo3-macros@0.22.6 - pyo3@0.22.6 - python3-dll-a@0.2.10 - quote@1.0.36 - rpds@1.1.0 - syn@2.0.69 - target-lexicon@0.12.14 - triomphe@0.1.13 - unicode-ident@1.0.12 - unindent@0.2.3 -" - -inherit cargo distutils-r1 pypi - -DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)" -HOMEPAGE=" - https://github.com/crate-py/rpds/ - https://pypi.org/project/rpds-py/ -" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -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 - -export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 diff --git a/dev-python/rustworkx/rustworkx-0.14.2-r1.ebuild b/dev-python/rustworkx/rustworkx-0.14.2-r1.ebuild deleted file mode 100644 index 7f9ec72bc304..000000000000 --- a/dev-python/rustworkx/rustworkx-0.14.2-r1.ebuild +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} ) - -CRATES=" - ahash@0.8.6 - alga@0.9.3 - allocator-api2@0.2.16 - approx@0.3.2 - autocfg@1.1.0 - bitflags@1.3.2 - cfg-if@1.0.0 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.19 - either@1.9.0 - equivalent@1.0.1 - fixedbitset@0.4.2 - getrandom@0.2.12 - hashbrown@0.12.3 - hashbrown@0.14.3 - heck@0.4.1 - hermit-abi@0.3.4 - indexmap@1.9.3 - indexmap@2.1.0 - indoc@2.0.4 - itertools@0.10.5 - itertools@0.11.0 - itoa@1.0.10 - libc@0.2.152 - libm@0.2.8 - lock_api@0.4.11 - matrixmultiply@0.3.8 - memchr@2.7.1 - memoffset@0.9.0 - ndarray-stats@0.5.1 - ndarray@0.15.6 - noisy_float@0.2.0 - num-bigint@0.4.4 - num-complex@0.2.4 - num-complex@0.4.4 - num-integer@0.1.45 - num-traits@0.2.17 - num_cpus@1.16.0 - numpy@0.20.0 - once_cell@1.19.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - petgraph@0.6.4 - ppv-lite86@0.2.17 - priority-queue@1.3.2 - proc-macro2@1.0.78 - pyo3-build-config@0.20.2 - pyo3-ffi@0.20.2 - pyo3-macros-backend@0.20.2 - pyo3-macros@0.20.2 - pyo3@0.20.2 - quick-xml@0.31.0 - quote@1.0.35 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_pcg@0.3.1 - rawpointer@0.2.1 - rayon-cond@0.3.0 - rayon-core@1.12.1 - rayon@1.8.1 - redox_syscall@0.4.1 - rustc-hash@1.1.0 - ryu@1.0.16 - scopeguard@1.2.0 - serde@1.0.195 - serde_derive@1.0.195 - serde_json@1.0.111 - smallvec@1.13.1 - sprs@0.11.1 - syn@2.0.48 - target-lexicon@0.12.13 - unicode-ident@1.0.12 - unindent@0.2.3 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - 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 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 -" - -inherit cargo distutils-r1 - -DESCRIPTION="A high performance Python graph library implemented in Rust" -HOMEPAGE=" - https://github.com/Qiskit/rustworkx/ - https://pypi.org/project/rustworkx/ -" -SRC_URI=" - https://github.com/Qiskit/rustworkx/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT - Unicode-DFS-2016 - || ( LGPL-3 MPL-2.0 ) -" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/setuptools-rust[${PYTHON_USEDEP}] - test? ( - dev-python/fixtures[${PYTHON_USEDEP}] - dev-python/graphviz[${PYTHON_USEDEP}] - >=dev-python/networkx-2.5[${PYTHON_USEDEP}] - dev-python/stestr[${PYTHON_USEDEP}] - >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}] - media-gfx/graphviz[gts] - ) -" - -# Libraries built with rust do not use CFLAGS and LDFLAGS. -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rustworkx/rustworkx.*\\.so" - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -PATCHES=( - # https://github.com/Qiskit/rustworkx/pull/1156 - # part of https://github.com/Qiskit/rustworkx/pull/1172 - "${FILESDIR}/${P}-numpy-2.patch" -) - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - local EPYTEST_DESELECT=( - # TODO: hangs - tests/retworkx_backwards_compat/visualization/test_mpl.py - tests/rustworkx_tests/visualization/test_mpl.py - ) - rm -rf rustworkx || die - epytest -} diff --git a/dev-python/rustworkx/rustworkx-0.14.2-r2.ebuild b/dev-python/rustworkx/rustworkx-0.14.2-r2.ebuild new file mode 100644 index 000000000000..7f9ec72bc304 --- /dev/null +++ b/dev-python/rustworkx/rustworkx-0.14.2-r2.ebuild @@ -0,0 +1,159 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +CRATES=" + ahash@0.8.6 + alga@0.9.3 + allocator-api2@0.2.16 + approx@0.3.2 + autocfg@1.1.0 + bitflags@1.3.2 + cfg-if@1.0.0 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.19 + either@1.9.0 + equivalent@1.0.1 + fixedbitset@0.4.2 + getrandom@0.2.12 + hashbrown@0.12.3 + hashbrown@0.14.3 + heck@0.4.1 + hermit-abi@0.3.4 + indexmap@1.9.3 + indexmap@2.1.0 + indoc@2.0.4 + itertools@0.10.5 + itertools@0.11.0 + itoa@1.0.10 + libc@0.2.152 + libm@0.2.8 + lock_api@0.4.11 + matrixmultiply@0.3.8 + memchr@2.7.1 + memoffset@0.9.0 + ndarray-stats@0.5.1 + ndarray@0.15.6 + noisy_float@0.2.0 + num-bigint@0.4.4 + num-complex@0.2.4 + num-complex@0.4.4 + num-integer@0.1.45 + num-traits@0.2.17 + num_cpus@1.16.0 + numpy@0.20.0 + once_cell@1.19.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + petgraph@0.6.4 + ppv-lite86@0.2.17 + priority-queue@1.3.2 + proc-macro2@1.0.78 + pyo3-build-config@0.20.2 + pyo3-ffi@0.20.2 + pyo3-macros-backend@0.20.2 + pyo3-macros@0.20.2 + pyo3@0.20.2 + quick-xml@0.31.0 + quote@1.0.35 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_pcg@0.3.1 + rawpointer@0.2.1 + rayon-cond@0.3.0 + rayon-core@1.12.1 + rayon@1.8.1 + redox_syscall@0.4.1 + rustc-hash@1.1.0 + ryu@1.0.16 + scopeguard@1.2.0 + serde@1.0.195 + serde_derive@1.0.195 + serde_json@1.0.111 + smallvec@1.13.1 + sprs@0.11.1 + syn@2.0.48 + target-lexicon@0.12.13 + unicode-ident@1.0.12 + unindent@0.2.3 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + 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 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 +" + +inherit cargo distutils-r1 + +DESCRIPTION="A high performance Python graph library implemented in Rust" +HOMEPAGE=" + https://github.com/Qiskit/rustworkx/ + https://pypi.org/project/rustworkx/ +" +SRC_URI=" + https://github.com/Qiskit/rustworkx/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT + Unicode-DFS-2016 + || ( LGPL-3 MPL-2.0 ) +" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] + test? ( + dev-python/fixtures[${PYTHON_USEDEP}] + dev-python/graphviz[${PYTHON_USEDEP}] + >=dev-python/networkx-2.5[${PYTHON_USEDEP}] + dev-python/stestr[${PYTHON_USEDEP}] + >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}] + media-gfx/graphviz[gts] + ) +" + +# Libraries built with rust do not use CFLAGS and LDFLAGS. +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rustworkx/rustworkx.*\\.so" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/Qiskit/rustworkx/pull/1156 + # part of https://github.com/Qiskit/rustworkx/pull/1172 + "${FILESDIR}/${P}-numpy-2.patch" +) + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local EPYTEST_DESELECT=( + # TODO: hangs + tests/retworkx_backwards_compat/visualization/test_mpl.py + tests/rustworkx_tests/visualization/test_mpl.py + ) + rm -rf rustworkx || die + epytest +} diff --git a/dev-python/rustworkx/rustworkx-0.15.0-r1.ebuild b/dev-python/rustworkx/rustworkx-0.15.0-r1.ebuild new file mode 100644 index 000000000000..2809ede475f2 --- /dev/null +++ b/dev-python/rustworkx/rustworkx-0.15.0-r1.ebuild @@ -0,0 +1,154 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) + +CRATES=" + ahash@0.8.11 + alga@0.9.3 + allocator-api2@0.2.16 + approx@0.3.2 + autocfg@1.2.0 + bitflags@1.3.2 + cfg-if@1.0.0 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.19 + either@1.10.0 + equivalent@1.0.1 + fixedbitset@0.4.2 + getrandom@0.2.12 + hashbrown@0.12.3 + hashbrown@0.14.5 + heck@0.4.1 + hermit-abi@0.3.9 + indexmap@1.9.3 + indexmap@2.2.6 + indoc@2.0.5 + itertools@0.10.5 + itertools@0.11.0 + itoa@1.0.11 + libc@0.2.153 + libm@0.2.8 + lock_api@0.4.11 + matrixmultiply@0.3.8 + memchr@2.7.2 + memoffset@0.9.1 + ndarray-stats@0.5.1 + ndarray@0.15.6 + noisy_float@0.2.0 + num-bigint@0.4.5 + num-complex@0.2.4 + num-complex@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + num_cpus@1.16.0 + numpy@0.21.0 + once_cell@1.19.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + petgraph@0.6.5 + portable-atomic@1.6.0 + ppv-lite86@0.2.17 + priority-queue@2.0.3 + proc-macro2@1.0.79 + pyo3-build-config@0.21.2 + pyo3-ffi@0.21.2 + pyo3-macros-backend@0.21.2 + pyo3-macros@0.21.2 + pyo3@0.21.2 + quick-xml@0.34.0 + quote@1.0.35 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_pcg@0.3.1 + rawpointer@0.2.1 + rayon-cond@0.3.0 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + rustc-hash@1.1.0 + ryu@1.0.17 + scopeguard@1.2.0 + serde@1.0.203 + serde_derive@1.0.203 + serde_json@1.0.118 + smallvec@1.13.2 + sprs@0.11.1 + syn@2.0.57 + target-lexicon@0.12.14 + unicode-ident@1.0.12 + unindent@0.2.3 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + 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 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 +" + +inherit cargo distutils-r1 + +DESCRIPTION="A high performance Python graph library implemented in Rust" +HOMEPAGE=" + https://github.com/Qiskit/rustworkx/ + https://pypi.org/project/rustworkx/ +" +SRC_URI=" + https://github.com/Qiskit/rustworkx/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT + Unicode-DFS-2016 + || ( LGPL-3+ MPL-2.0 ) +" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] + test? ( + dev-python/fixtures[${PYTHON_USEDEP}] + dev-python/graphviz[${PYTHON_USEDEP}] + >=dev-python/networkx-2.5[${PYTHON_USEDEP}] + dev-python/stestr[${PYTHON_USEDEP}] + >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}] + media-gfx/graphviz[gts] + ) +" + +# Libraries built with rust do not use CFLAGS and LDFLAGS. +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rustworkx/rustworkx.*\\.so" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local EPYTEST_DESELECT=( + # TODO: hangs + tests/retworkx_backwards_compat/visualization/test_mpl.py + tests/rustworkx_tests/visualization/test_mpl.py + ) + rm -rf rustworkx || die + epytest +} diff --git a/dev-python/rustworkx/rustworkx-0.15.0.ebuild b/dev-python/rustworkx/rustworkx-0.15.0.ebuild deleted file mode 100644 index 2809ede475f2..000000000000 --- a/dev-python/rustworkx/rustworkx-0.15.0.ebuild +++ /dev/null @@ -1,154 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} ) - -CRATES=" - ahash@0.8.11 - alga@0.9.3 - allocator-api2@0.2.16 - approx@0.3.2 - autocfg@1.2.0 - bitflags@1.3.2 - cfg-if@1.0.0 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.19 - either@1.10.0 - equivalent@1.0.1 - fixedbitset@0.4.2 - getrandom@0.2.12 - hashbrown@0.12.3 - hashbrown@0.14.5 - heck@0.4.1 - hermit-abi@0.3.9 - indexmap@1.9.3 - indexmap@2.2.6 - indoc@2.0.5 - itertools@0.10.5 - itertools@0.11.0 - itoa@1.0.11 - libc@0.2.153 - libm@0.2.8 - lock_api@0.4.11 - matrixmultiply@0.3.8 - memchr@2.7.2 - memoffset@0.9.1 - ndarray-stats@0.5.1 - ndarray@0.15.6 - noisy_float@0.2.0 - num-bigint@0.4.5 - num-complex@0.2.4 - num-complex@0.4.6 - num-integer@0.1.46 - num-traits@0.2.19 - num_cpus@1.16.0 - numpy@0.21.0 - once_cell@1.19.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - petgraph@0.6.5 - portable-atomic@1.6.0 - ppv-lite86@0.2.17 - priority-queue@2.0.3 - proc-macro2@1.0.79 - pyo3-build-config@0.21.2 - pyo3-ffi@0.21.2 - pyo3-macros-backend@0.21.2 - pyo3-macros@0.21.2 - pyo3@0.21.2 - quick-xml@0.34.0 - quote@1.0.35 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_pcg@0.3.1 - rawpointer@0.2.1 - rayon-cond@0.3.0 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - rustc-hash@1.1.0 - ryu@1.0.17 - scopeguard@1.2.0 - serde@1.0.203 - serde_derive@1.0.203 - serde_json@1.0.118 - smallvec@1.13.2 - sprs@0.11.1 - syn@2.0.57 - target-lexicon@0.12.14 - unicode-ident@1.0.12 - unindent@0.2.3 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - 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 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 -" - -inherit cargo distutils-r1 - -DESCRIPTION="A high performance Python graph library implemented in Rust" -HOMEPAGE=" - https://github.com/Qiskit/rustworkx/ - https://pypi.org/project/rustworkx/ -" -SRC_URI=" - https://github.com/Qiskit/rustworkx/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT - Unicode-DFS-2016 - || ( LGPL-3+ MPL-2.0 ) -" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/setuptools-rust[${PYTHON_USEDEP}] - test? ( - dev-python/fixtures[${PYTHON_USEDEP}] - dev-python/graphviz[${PYTHON_USEDEP}] - >=dev-python/networkx-2.5[${PYTHON_USEDEP}] - dev-python/stestr[${PYTHON_USEDEP}] - >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}] - media-gfx/graphviz[gts] - ) -" - -# Libraries built with rust do not use CFLAGS and LDFLAGS. -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rustworkx/rustworkx.*\\.so" - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - local EPYTEST_DESELECT=( - # TODO: hangs - tests/retworkx_backwards_compat/visualization/test_mpl.py - tests/rustworkx_tests/visualization/test_mpl.py - ) - rm -rf rustworkx || die - epytest -} diff --git a/dev-python/rustworkx/rustworkx-0.15.1-r1.ebuild b/dev-python/rustworkx/rustworkx-0.15.1-r1.ebuild new file mode 100644 index 000000000000..e152e322a49b --- /dev/null +++ b/dev-python/rustworkx/rustworkx-0.15.1-r1.ebuild @@ -0,0 +1,155 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +CRATES=" + ahash@0.8.11 + alga@0.9.3 + allocator-api2@0.2.18 + approx@0.3.2 + autocfg@1.3.0 + bitflags@2.6.0 + cfg-if@1.0.0 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + either@1.13.0 + equivalent@1.0.1 + fixedbitset@0.4.2 + getrandom@0.2.15 + hashbrown@0.12.3 + hashbrown@0.14.5 + heck@0.4.1 + hermit-abi@0.3.9 + indexmap@1.9.3 + indexmap@2.2.6 + indoc@2.0.5 + itertools@0.10.5 + itertools@0.11.0 + itoa@1.0.11 + libc@0.2.155 + libm@0.2.8 + lock_api@0.4.12 + matrixmultiply@0.3.8 + memchr@2.7.4 + memoffset@0.9.1 + ndarray-stats@0.5.1 + ndarray@0.15.6 + noisy_float@0.2.0 + num-bigint@0.4.6 + num-complex@0.2.4 + num-complex@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + num_cpus@1.16.0 + numpy@0.21.0 + once_cell@1.19.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + petgraph@0.6.5 + portable-atomic@1.6.0 + ppv-lite86@0.2.17 + priority-queue@2.0.3 + proc-macro2@1.0.86 + pyo3-build-config@0.21.2 + pyo3-ffi@0.21.2 + pyo3-macros-backend@0.21.2 + pyo3-macros@0.21.2 + pyo3@0.21.2 + quick-xml@0.34.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_pcg@0.3.1 + rawpointer@0.2.1 + rayon-cond@0.3.0 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.2 + rustc-hash@1.1.0 + ryu@1.0.18 + scopeguard@1.2.0 + serde@1.0.203 + serde_derive@1.0.203 + serde_json@1.0.118 + smallvec@1.13.2 + sprs@0.11.1 + syn@2.0.68 + target-lexicon@0.12.14 + unicode-ident@1.0.12 + unindent@0.2.3 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.52.5 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 +" + +inherit cargo distutils-r1 + +DESCRIPTION="A high performance Python graph library implemented in Rust" +HOMEPAGE=" + https://github.com/Qiskit/rustworkx/ + https://pypi.org/project/rustworkx/ +" +SRC_URI=" + https://github.com/Qiskit/rustworkx/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT + Unicode-DFS-2016 + || ( LGPL-3+ MPL-2.0 ) +" +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND=" + >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] + test? ( + dev-python/fixtures[${PYTHON_USEDEP}] + dev-python/graphviz[${PYTHON_USEDEP}] + >=dev-python/networkx-2.5[${PYTHON_USEDEP}] + dev-python/stestr[${PYTHON_USEDEP}] + >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}] + media-gfx/graphviz[gts] + ) +" + +# Libraries built with rust do not use CFLAGS and LDFLAGS. +QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rustworkx/rustworkx.*\\.so" + +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +python_test() { + local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 + local EPYTEST_DESELECT=( + # TODO: hangs + tests/retworkx_backwards_compat/visualization/test_mpl.py + tests/rustworkx_tests/visualization/test_mpl.py + ) + rm -rf rustworkx || die + epytest +} diff --git a/dev-python/rustworkx/rustworkx-0.15.1.ebuild b/dev-python/rustworkx/rustworkx-0.15.1.ebuild deleted file mode 100644 index e152e322a49b..000000000000 --- a/dev-python/rustworkx/rustworkx-0.15.1.ebuild +++ /dev/null @@ -1,155 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} ) - -CRATES=" - ahash@0.8.11 - alga@0.9.3 - allocator-api2@0.2.18 - approx@0.3.2 - autocfg@1.3.0 - bitflags@2.6.0 - cfg-if@1.0.0 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.20 - either@1.13.0 - equivalent@1.0.1 - fixedbitset@0.4.2 - getrandom@0.2.15 - hashbrown@0.12.3 - hashbrown@0.14.5 - heck@0.4.1 - hermit-abi@0.3.9 - indexmap@1.9.3 - indexmap@2.2.6 - indoc@2.0.5 - itertools@0.10.5 - itertools@0.11.0 - itoa@1.0.11 - libc@0.2.155 - libm@0.2.8 - lock_api@0.4.12 - matrixmultiply@0.3.8 - memchr@2.7.4 - memoffset@0.9.1 - ndarray-stats@0.5.1 - ndarray@0.15.6 - noisy_float@0.2.0 - num-bigint@0.4.6 - num-complex@0.2.4 - num-complex@0.4.6 - num-integer@0.1.46 - num-traits@0.2.19 - num_cpus@1.16.0 - numpy@0.21.0 - once_cell@1.19.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - petgraph@0.6.5 - portable-atomic@1.6.0 - ppv-lite86@0.2.17 - priority-queue@2.0.3 - proc-macro2@1.0.86 - pyo3-build-config@0.21.2 - pyo3-ffi@0.21.2 - pyo3-macros-backend@0.21.2 - pyo3-macros@0.21.2 - pyo3@0.21.2 - quick-xml@0.34.0 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_pcg@0.3.1 - rawpointer@0.2.1 - rayon-cond@0.3.0 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.5.2 - rustc-hash@1.1.0 - ryu@1.0.18 - scopeguard@1.2.0 - serde@1.0.203 - serde_derive@1.0.203 - serde_json@1.0.118 - smallvec@1.13.2 - sprs@0.11.1 - syn@2.0.68 - target-lexicon@0.12.14 - unicode-ident@1.0.12 - unindent@0.2.3 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.52.5 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 -" - -inherit cargo distutils-r1 - -DESCRIPTION="A high performance Python graph library implemented in Rust" -HOMEPAGE=" - https://github.com/Qiskit/rustworkx/ - https://pypi.org/project/rustworkx/ -" -SRC_URI=" - https://github.com/Qiskit/rustworkx/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT - Unicode-DFS-2016 - || ( LGPL-3+ MPL-2.0 ) -" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/setuptools-rust[${PYTHON_USEDEP}] - test? ( - dev-python/fixtures[${PYTHON_USEDEP}] - dev-python/graphviz[${PYTHON_USEDEP}] - >=dev-python/networkx-2.5[${PYTHON_USEDEP}] - dev-python/stestr[${PYTHON_USEDEP}] - >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}] - media-gfx/graphviz[gts] - ) -" - -# Libraries built with rust do not use CFLAGS and LDFLAGS. -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rustworkx/rustworkx.*\\.so" - -EPYTEST_XDIST=1 -distutils_enable_tests pytest - -python_test() { - local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 - local EPYTEST_DESELECT=( - # TODO: hangs - tests/retworkx_backwards_compat/visualization/test_mpl.py - tests/rustworkx_tests/visualization/test_mpl.py - ) - rm -rf rustworkx || die - epytest -} diff --git a/dev-python/setuptools-rust/setuptools-rust-1.10.2-r1.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.10.2-r1.ebuild new file mode 100644 index 000000000000..bd8b5b3cbb58 --- /dev/null +++ b/dev-python/setuptools-rust/setuptools-rust-1.10.2-r1.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=yes +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} pypy3 ) + +CRATES=" + autocfg@1.3.0 + bitflags@1.3.2 + bitflags@2.5.0 + byteorder@1.5.0 + cfg-if@1.0.0 + convert_case@0.4.0 + cssparser-macros@0.6.1 + cssparser@0.27.2 + derive_more@0.99.17 + dtoa-short@0.3.4 + dtoa@1.0.9 + futf@0.1.5 + fxhash@0.2.1 + getrandom@0.1.16 + getrandom@0.2.15 + heck@0.5.0 + html5ever@0.25.2 + indoc@2.0.5 + itoa@0.4.8 + kuchiki@0.8.1 + libc@0.2.154 + lock_api@0.4.12 + log@0.4.21 + mac@0.1.1 + markup5ever@0.10.1 + matches@0.1.10 + memoffset@0.9.1 + new_debug_unreachable@1.0.6 + nodrop@0.1.14 + once_cell@1.19.0 + parking_lot@0.12.2 + parking_lot_core@0.9.10 + phf@0.8.0 + phf_codegen@0.8.0 + phf_generator@0.10.0 + phf_generator@0.8.0 + phf_macros@0.8.0 + phf_shared@0.10.0 + phf_shared@0.8.0 + portable-atomic@1.6.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + proc-macro-hack@0.5.20+deprecated + proc-macro2@1.0.82 + pyo3-build-config@0.22.3 + pyo3-ffi@0.22.3 + pyo3-macros-backend@0.22.3 + pyo3-macros@0.22.3 + pyo3@0.22.3 + quote@1.0.36 + rand@0.7.3 + rand@0.8.5 + rand_chacha@0.2.2 + rand_chacha@0.3.1 + rand_core@0.5.1 + rand_core@0.6.4 + rand_hc@0.2.0 + rand_pcg@0.2.1 + redox_syscall@0.5.1 + rustc_version@0.4.0 + scopeguard@1.2.0 + selectors@0.22.0 + semver@1.0.23 + serde@1.0.200 + serde_derive@1.0.200 + servo_arc@0.1.1 + siphasher@0.3.11 + smallvec@1.13.2 + stable_deref_trait@1.2.0 + string_cache@0.8.7 + string_cache_codegen@0.5.2 + syn@1.0.109 + syn@2.0.61 + target-lexicon@0.12.14 + tendril@0.4.3 + thin-slice@0.1.1 + unicode-ident@1.0.12 + unindent@0.2.3 + utf-8@0.7.6 + wasi@0.11.0+wasi-snapshot-preview1 + wasi@0.9.0+wasi-snapshot-preview1 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.52.5 +" + +inherit distutils-r1 cargo + +DESCRIPTION="A plugin for setuptools to build Rust Python extensions" +HOMEPAGE=" + https://github.com/PyO3/setuptools-rust/ + https://pypi.org/project/setuptools-rust/ +" +SRC_URI=" + https://github.com/PyO3/setuptools-rust/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + test? ( ${CARGO_CRATE_URIS} ) +" + +# crates are used at test time only, update via pycargoebuild -L -i ... +LICENSE="MIT" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + ${RUST_DEPEND} + =dev-python/semantic-version-2.8.2[${PYTHON_USEDEP}] + >=dev-python/setuptools-62.4[${PYTHON_USEDEP}] +" +BDEPEND=" + >=dev-python/setuptools-62.4[${PYTHON_USEDEP}] + test? ( + ${RDEPEND} + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + $(python_gen_cond_dep ' + dev-python/cffi[${PYTHON_USEDEP}] + ' 'python*') + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + ) +" + +src_unpack() { + cargo_src_unpack +} + +python_test() { + local -x UNSAFE_PYO3_SKIP_VERSION_CHECK=1 + + local examples=( + html-py-ever + namespace_package + rust_with_cffi + ) + for example_dir in ${examples[@]}; do + pushd examples/${example_dir} >/dev/null || die + einfo "Running ${example_dir} test" + esetup.py build --build-lib=build/lib + + case ${example_dir} in + html-py-ever) + pushd tests >/dev/null || die + local -x PYTHONPATH=../build/lib + ${EPYTHON} run_all.py || die "Tests failed with ${EPYTHON}" + popd >/dev/null || die + ;; + *) + pushd build/lib >/dev/null || die + epytest ../../tests + popd >/dev/null || die + ;; + esac + + rm -rf build || die + popd >/dev/null || die + done +} diff --git a/dev-python/setuptools-rust/setuptools-rust-1.10.2.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.10.2.ebuild deleted file mode 100644 index 927ad25c0bb7..000000000000 --- a/dev-python/setuptools-rust/setuptools-rust-1.10.2.ebuild +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=yes -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} pypy3 ) - -CRATES=" - autocfg@1.3.0 - bitflags@1.3.2 - bitflags@2.5.0 - byteorder@1.5.0 - cfg-if@1.0.0 - convert_case@0.4.0 - cssparser-macros@0.6.1 - cssparser@0.27.2 - derive_more@0.99.17 - dtoa-short@0.3.4 - dtoa@1.0.9 - futf@0.1.5 - fxhash@0.2.1 - getrandom@0.1.16 - getrandom@0.2.15 - heck@0.5.0 - html5ever@0.25.2 - indoc@2.0.5 - itoa@0.4.8 - kuchiki@0.8.1 - libc@0.2.154 - lock_api@0.4.12 - log@0.4.21 - mac@0.1.1 - markup5ever@0.10.1 - matches@0.1.10 - memoffset@0.9.1 - new_debug_unreachable@1.0.6 - nodrop@0.1.14 - once_cell@1.19.0 - parking_lot@0.12.2 - parking_lot_core@0.9.10 - phf@0.8.0 - phf_codegen@0.8.0 - phf_generator@0.10.0 - phf_generator@0.8.0 - phf_macros@0.8.0 - phf_shared@0.10.0 - phf_shared@0.8.0 - portable-atomic@1.6.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - proc-macro-hack@0.5.20+deprecated - proc-macro2@1.0.82 - pyo3-build-config@0.22.3 - pyo3-ffi@0.22.3 - pyo3-macros-backend@0.22.3 - pyo3-macros@0.22.3 - pyo3@0.22.3 - quote@1.0.36 - rand@0.7.3 - rand@0.8.5 - rand_chacha@0.2.2 - rand_chacha@0.3.1 - rand_core@0.5.1 - rand_core@0.6.4 - rand_hc@0.2.0 - rand_pcg@0.2.1 - redox_syscall@0.5.1 - rustc_version@0.4.0 - scopeguard@1.2.0 - selectors@0.22.0 - semver@1.0.23 - serde@1.0.200 - serde_derive@1.0.200 - servo_arc@0.1.1 - siphasher@0.3.11 - smallvec@1.13.2 - stable_deref_trait@1.2.0 - string_cache@0.8.7 - string_cache_codegen@0.5.2 - syn@1.0.109 - syn@2.0.61 - target-lexicon@0.12.14 - tendril@0.4.3 - thin-slice@0.1.1 - unicode-ident@1.0.12 - unindent@0.2.3 - utf-8@0.7.6 - wasi@0.11.0+wasi-snapshot-preview1 - wasi@0.9.0+wasi-snapshot-preview1 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.52.5 -" - -inherit distutils-r1 cargo - -DESCRIPTION="A plugin for setuptools to build Rust Python extensions" -HOMEPAGE=" - https://github.com/PyO3/setuptools-rust/ - https://pypi.org/project/setuptools-rust/ -" -SRC_URI=" - https://github.com/PyO3/setuptools-rust/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz - test? ( ${CARGO_CRATE_URIS} ) -" - -# crates are used at test time only, update via pycargoebuild -L -i ... -LICENSE="MIT" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="test" -RESTRICT="!test? ( test )" - -RDEPEND=" - virtual/rust - =dev-python/semantic-version-2.8.2[${PYTHON_USEDEP}] - >=dev-python/setuptools-62.4[${PYTHON_USEDEP}] -" -BDEPEND=" - >=dev-python/setuptools-62.4[${PYTHON_USEDEP}] - test? ( - ${RDEPEND} - dev-python/beautifulsoup4[${PYTHON_USEDEP}] - $(python_gen_cond_dep ' - dev-python/cffi[${PYTHON_USEDEP}] - ' 'python*') - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/pytest[${PYTHON_USEDEP}] - ) -" - -src_unpack() { - cargo_src_unpack -} - -python_test() { - local -x UNSAFE_PYO3_SKIP_VERSION_CHECK=1 - - local examples=( - html-py-ever - namespace_package - rust_with_cffi - ) - for example_dir in ${examples[@]}; do - pushd examples/${example_dir} >/dev/null || die - einfo "Running ${example_dir} test" - esetup.py build --build-lib=build/lib - - case ${example_dir} in - html-py-ever) - pushd tests >/dev/null || die - local -x PYTHONPATH=../build/lib - ${EPYTHON} run_all.py || die "Tests failed with ${EPYTHON}" - popd >/dev/null || die - ;; - *) - pushd build/lib >/dev/null || die - epytest ../../tests - popd >/dev/null || die - ;; - esac - - rm -rf build || die - popd >/dev/null || die - done -} diff --git a/dev-python/sqlglot/sqlglot-25.28.0-r1.ebuild b/dev-python/sqlglot/sqlglot-25.28.0-r1.ebuild new file mode 100644 index 000000000000..57b6841009e1 --- /dev/null +++ b/dev-python/sqlglot/sqlglot-25.28.0-r1.ebuild @@ -0,0 +1,133 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +CARGO_OPTIONAL=1 +CRATES=" + autocfg@1.1.0 + bitflags@1.3.2 + cfg-if@1.0.0 + heck@0.4.1 + indoc@2.0.4 + libc@0.2.150 + lock_api@0.4.11 + memoffset@0.9.0 + once_cell@1.19.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + proc-macro2@1.0.70 + pyo3-build-config@0.20.0 + pyo3-ffi@0.20.0 + pyo3-macros-backend@0.20.0 + pyo3-macros@0.20.0 + pyo3@0.20.0 + quote@1.0.33 + redox_syscall@0.4.1 + scopeguard@1.2.0 + smallvec@1.11.2 + syn@2.0.41 + target-lexicon@0.12.12 + unicode-ident@1.0.12 + unindent@0.2.3 + 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 +" + +inherit cargo distutils-r1 pypi optfeature + +DESCRIPTION="An easily customizable SQL parser and transpiler" +HOMEPAGE=" + https://sqlglot.com/ + https://github.com/tobymao/sqlglot/ + https://pypi.org/project/sqlglot/ +" +SRC_URI+=" + native-extensions? ( + ${CARGO_CRATE_URIS} + ) +" + +LICENSE="MIT" +LICENSE+=" native-extensions? (" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" +LICENSE+=" )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="+native-extensions" + +BDEPEND=" + native-extensions? ( + ${RUST_DEPEND} + dev-util/maturin[${PYTHON_USEDEP}] + ) + test? ( + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +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 +} + +src_prepare() { + # remove fragile timing check + sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die + distutils-r1_src_prepare +} + +python_compile() { + distutils-r1_python_compile + + if use native-extensions; then + local DISTUTILS_USE_PEP517=maturin + cd sqlglotrs || die + distutils-r1_python_compile + cd - >/dev/null || die + fi +} + +python_test() { + local EPYTEST_DESELECT=( + # timing, sigh + # https://github.com/tobymao/sqlglot/issues/3961 + tests/test_generator.py::TestGenerator::test_generate_nested_binary + ) + local EPYTEST_IGNORE=( + # Tests require pyspark or duckdb which aren't in the tree. + # Pandas would be a requirement normally, but it gets ignored by proxy. + "tests/dataframe/integration/test_dataframe.py" + "tests/dataframe/integration/test_grouped_data.py" + "tests/dataframe/integration/test_session.py" + "tests/test_executor.py" + "tests/test_optimizer.py" + ) + + # make sure not to use an earlier installed version + local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0) + rm -rf sqlglotrs || die + epytest +} + +pkg_postinst() { + optfeature "simplifying timedelta expressions" dev-python/python-dateutil +} diff --git a/dev-python/sqlglot/sqlglot-25.28.0.ebuild b/dev-python/sqlglot/sqlglot-25.28.0.ebuild deleted file mode 100644 index 456b6e98cfce..000000000000 --- a/dev-python/sqlglot/sqlglot-25.28.0.ebuild +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} ) - -CARGO_OPTIONAL=1 -CRATES=" - autocfg@1.1.0 - bitflags@1.3.2 - cfg-if@1.0.0 - heck@0.4.1 - indoc@2.0.4 - libc@0.2.150 - lock_api@0.4.11 - memoffset@0.9.0 - once_cell@1.19.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - proc-macro2@1.0.70 - pyo3-build-config@0.20.0 - pyo3-ffi@0.20.0 - pyo3-macros-backend@0.20.0 - pyo3-macros@0.20.0 - pyo3@0.20.0 - quote@1.0.33 - redox_syscall@0.4.1 - scopeguard@1.2.0 - smallvec@1.11.2 - syn@2.0.41 - target-lexicon@0.12.12 - unicode-ident@1.0.12 - unindent@0.2.3 - 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 -" - -inherit cargo distutils-r1 pypi optfeature - -DESCRIPTION="An easily customizable SQL parser and transpiler" -HOMEPAGE=" - https://sqlglot.com/ - https://github.com/tobymao/sqlglot/ - https://pypi.org/project/sqlglot/ -" -SRC_URI+=" - native-extensions? ( - ${CARGO_CRATE_URIS} - ) -" - -LICENSE="MIT" -LICENSE+=" native-extensions? (" -# Dependent crate licenses -LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" -LICENSE+=" )" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+native-extensions" - -BDEPEND=" - native-extensions? ( - ${RUST_DEPEND} - dev-util/maturin[${PYTHON_USEDEP}] - ) - test? ( - dev-python/pytz[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so" - -src_unpack() { - cargo_src_unpack -} - -src_prepare() { - # remove fragile timing check - sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die - distutils-r1_src_prepare -} - -python_compile() { - distutils-r1_python_compile - - if use native-extensions; then - local DISTUTILS_USE_PEP517=maturin - cd sqlglotrs || die - distutils-r1_python_compile - cd - >/dev/null || die - fi -} - -python_test() { - local EPYTEST_DESELECT=( - # timing, sigh - # https://github.com/tobymao/sqlglot/issues/3961 - tests/test_generator.py::TestGenerator::test_generate_nested_binary - ) - local EPYTEST_IGNORE=( - # Tests require pyspark or duckdb which aren't in the tree. - # Pandas would be a requirement normally, but it gets ignored by proxy. - "tests/dataframe/integration/test_dataframe.py" - "tests/dataframe/integration/test_grouped_data.py" - "tests/dataframe/integration/test_session.py" - "tests/test_executor.py" - "tests/test_optimizer.py" - ) - - # make sure not to use an earlier installed version - local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0) - rm -rf sqlglotrs || die - epytest -} - -pkg_postinst() { - optfeature "simplifying timedelta expressions" dev-python/python-dateutil -} diff --git a/dev-python/sqlglot/sqlglot-25.29.0-r1.ebuild b/dev-python/sqlglot/sqlglot-25.29.0-r1.ebuild new file mode 100644 index 000000000000..57b6841009e1 --- /dev/null +++ b/dev-python/sqlglot/sqlglot-25.29.0-r1.ebuild @@ -0,0 +1,133 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) + +CARGO_OPTIONAL=1 +CRATES=" + autocfg@1.1.0 + bitflags@1.3.2 + cfg-if@1.0.0 + heck@0.4.1 + indoc@2.0.4 + libc@0.2.150 + lock_api@0.4.11 + memoffset@0.9.0 + once_cell@1.19.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + proc-macro2@1.0.70 + pyo3-build-config@0.20.0 + pyo3-ffi@0.20.0 + pyo3-macros-backend@0.20.0 + pyo3-macros@0.20.0 + pyo3@0.20.0 + quote@1.0.33 + redox_syscall@0.4.1 + scopeguard@1.2.0 + smallvec@1.11.2 + syn@2.0.41 + target-lexicon@0.12.12 + unicode-ident@1.0.12 + unindent@0.2.3 + 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 +" + +inherit cargo distutils-r1 pypi optfeature + +DESCRIPTION="An easily customizable SQL parser and transpiler" +HOMEPAGE=" + https://sqlglot.com/ + https://github.com/tobymao/sqlglot/ + https://pypi.org/project/sqlglot/ +" +SRC_URI+=" + native-extensions? ( + ${CARGO_CRATE_URIS} + ) +" + +LICENSE="MIT" +LICENSE+=" native-extensions? (" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" +LICENSE+=" )" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="+native-extensions" + +BDEPEND=" + native-extensions? ( + ${RUST_DEPEND} + dev-util/maturin[${PYTHON_USEDEP}] + ) + test? ( + dev-python/pytz[${PYTHON_USEDEP}] + ) +" + +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 +} + +src_prepare() { + # remove fragile timing check + sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die + distutils-r1_src_prepare +} + +python_compile() { + distutils-r1_python_compile + + if use native-extensions; then + local DISTUTILS_USE_PEP517=maturin + cd sqlglotrs || die + distutils-r1_python_compile + cd - >/dev/null || die + fi +} + +python_test() { + local EPYTEST_DESELECT=( + # timing, sigh + # https://github.com/tobymao/sqlglot/issues/3961 + tests/test_generator.py::TestGenerator::test_generate_nested_binary + ) + local EPYTEST_IGNORE=( + # Tests require pyspark or duckdb which aren't in the tree. + # Pandas would be a requirement normally, but it gets ignored by proxy. + "tests/dataframe/integration/test_dataframe.py" + "tests/dataframe/integration/test_grouped_data.py" + "tests/dataframe/integration/test_session.py" + "tests/test_executor.py" + "tests/test_optimizer.py" + ) + + # make sure not to use an earlier installed version + local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0) + rm -rf sqlglotrs || die + epytest +} + +pkg_postinst() { + optfeature "simplifying timedelta expressions" dev-python/python-dateutil +} diff --git a/dev-python/sqlglot/sqlglot-25.29.0.ebuild b/dev-python/sqlglot/sqlglot-25.29.0.ebuild deleted file mode 100644 index 456b6e98cfce..000000000000 --- a/dev-python/sqlglot/sqlglot-25.29.0.ebuild +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..13} ) - -CARGO_OPTIONAL=1 -CRATES=" - autocfg@1.1.0 - bitflags@1.3.2 - cfg-if@1.0.0 - heck@0.4.1 - indoc@2.0.4 - libc@0.2.150 - lock_api@0.4.11 - memoffset@0.9.0 - once_cell@1.19.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - proc-macro2@1.0.70 - pyo3-build-config@0.20.0 - pyo3-ffi@0.20.0 - pyo3-macros-backend@0.20.0 - pyo3-macros@0.20.0 - pyo3@0.20.0 - quote@1.0.33 - redox_syscall@0.4.1 - scopeguard@1.2.0 - smallvec@1.11.2 - syn@2.0.41 - target-lexicon@0.12.12 - unicode-ident@1.0.12 - unindent@0.2.3 - 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 -" - -inherit cargo distutils-r1 pypi optfeature - -DESCRIPTION="An easily customizable SQL parser and transpiler" -HOMEPAGE=" - https://sqlglot.com/ - https://github.com/tobymao/sqlglot/ - https://pypi.org/project/sqlglot/ -" -SRC_URI+=" - native-extensions? ( - ${CARGO_CRATE_URIS} - ) -" - -LICENSE="MIT" -LICENSE+=" native-extensions? (" -# Dependent crate licenses -LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" -LICENSE+=" )" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE="+native-extensions" - -BDEPEND=" - native-extensions? ( - ${RUST_DEPEND} - dev-util/maturin[${PYTHON_USEDEP}] - ) - test? ( - dev-python/pytz[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so" - -src_unpack() { - cargo_src_unpack -} - -src_prepare() { - # remove fragile timing check - sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die - distutils-r1_src_prepare -} - -python_compile() { - distutils-r1_python_compile - - if use native-extensions; then - local DISTUTILS_USE_PEP517=maturin - cd sqlglotrs || die - distutils-r1_python_compile - cd - >/dev/null || die - fi -} - -python_test() { - local EPYTEST_DESELECT=( - # timing, sigh - # https://github.com/tobymao/sqlglot/issues/3961 - tests/test_generator.py::TestGenerator::test_generate_nested_binary - ) - local EPYTEST_IGNORE=( - # Tests require pyspark or duckdb which aren't in the tree. - # Pandas would be a requirement normally, but it gets ignored by proxy. - "tests/dataframe/integration/test_dataframe.py" - "tests/dataframe/integration/test_grouped_data.py" - "tests/dataframe/integration/test_session.py" - "tests/test_executor.py" - "tests/test_optimizer.py" - ) - - # make sure not to use an earlier installed version - local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0) - rm -rf sqlglotrs || die - epytest -} - -pkg_postinst() { - optfeature "simplifying timedelta expressions" dev-python/python-dateutil -} diff --git a/dev-python/uv/uv-0.4.30-r1.ebuild b/dev-python/uv/uv-0.4.30-r1.ebuild new file mode 100644 index 000000000000..4d826c5cfb40 --- /dev/null +++ b/dev-python/uv/uv-0.4.30-r1.ebuild @@ -0,0 +1,147 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [async_zip]='https://github.com/charliermarsh/rs-async-zip;011b24604fa7bc223daaad7712c0694bac8f0a87;rs-async-zip-%commit%' + [pubgrub]='https://github.com/astral-sh/pubgrub;95e1390399cdddee986b658be19587eb1fdb2d79;pubgrub-%commit%' + [reqwest-middleware]='https://github.com/TrueLayer/reqwest-middleware;d95ec5a99fcc9a4339e1850d40378bbfe55ab121;reqwest-middleware-%commit%/reqwest-middleware' + [reqwest-retry]='https://github.com/TrueLayer/reqwest-middleware;d95ec5a99fcc9a4339e1850d40378bbfe55ab121;reqwest-middleware-%commit%/reqwest-retry' + [tl]='https://github.com/charliermarsh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' + [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} +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT + MPL-2.0 Unicode-DFS-2016 +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-lang/python:3.8 + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # remove patch.* that breaks GIT_CRATES + local reqmw=${GIT_CRATES[reqwest-middleware]} + reqmw=${reqmw#*;} + reqmw=${reqmw%;*} + sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-${reqmw}/reqwest-middleware\" }@" Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_configure() { + local myfeatures=( + git + pypi + python + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + # work around https://github.com/astral-sh/uv/issues/4376 + local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH} + local -x COLUMNS=100 + local -x PYTHONDONTWRITEBYTECODE= + + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install +} diff --git a/dev-python/uv/uv-0.4.30.ebuild b/dev-python/uv/uv-0.4.30.ebuild deleted file mode 100644 index 8ce7f04ec3be..000000000000 --- a/dev-python/uv/uv-0.4.30.ebuild +++ /dev/null @@ -1,145 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -" - -declare -A GIT_CRATES=( - [async_zip]='https://github.com/charliermarsh/rs-async-zip;011b24604fa7bc223daaad7712c0694bac8f0a87;rs-async-zip-%commit%' - [pubgrub]='https://github.com/astral-sh/pubgrub;95e1390399cdddee986b658be19587eb1fdb2d79;pubgrub-%commit%' - [reqwest-middleware]='https://github.com/TrueLayer/reqwest-middleware;d95ec5a99fcc9a4339e1850d40378bbfe55ab121;reqwest-middleware-%commit%/reqwest-middleware' - [reqwest-retry]='https://github.com/TrueLayer/reqwest-middleware;d95ec5a99fcc9a4339e1850d40378bbfe55ab121;reqwest-middleware-%commit%/reqwest-retry' - [tl]='https://github.com/charliermarsh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' - [version-ranges]='https://github.com/astral-sh/pubgrub;95e1390399cdddee986b658be19587eb1fdb2d79;pubgrub-%commit%/version-ranges' -) - -inherit cargo check-reqs - -CRATE_PV=${PV} -DESCRIPTION="A Python package installer and resolver, written in Rust" -HOMEPAGE=" - https://github.com/astral-sh/uv/ - https://pypi.org/project/uv/ -" -# pypi sdist misses scripts/, needed for tests -SRC_URI=" - https://github.com/astral-sh/uv/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" -if [[ ${PKGBUMPING} != ${PVR} ]]; then - SRC_URI+=" - https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz - " -fi - -# most of the code -LICENSE="|| ( Apache-2.0 MIT )" -# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below -# Dependent crate licenses -LICENSE+=" - 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT - MPL-2.0 Unicode-DFS-2016 -" -# ring crate -LICENSE+=" openssl" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -IUSE="test" -RESTRICT="test" -PROPERTIES="test_network" - -DEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-arch/zstd:= -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - >=virtual/rust-1.80 - test? ( - dev-lang/python:3.8 - dev-lang/python:3.9 - dev-lang/python:3.10 - dev-lang/python:3.11 - dev-lang/python:3.12 - ) -" - -QA_FLAGS_IGNORED="usr/bin/.*" - -check_space() { - local CHECKREQS_DISK_BUILD=3G - use debug && CHECKREQS_DISK_BUILD=9G - check-reqs_pkg_setup -} - -pkg_pretend() { - check_space -} - -pkg_setup() { - check_space -} - -src_prepare() { - default - - # remove patch.* that breaks GIT_CRATES - local reqmw=${GIT_CRATES[reqwest-middleware]} - reqmw=${reqmw#*;} - reqmw=${reqmw%;*} - sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-${reqmw}/reqwest-middleware\" }@" Cargo.toml || die - - # enable system libraries where supported - export ZSTD_SYS_USE_PKG_CONFIG=1 - # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? - - # remove unbundled sources, just in case - find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die - - # bzip2-sys requires a pkg-config file - # https://github.com/alexcrichton/bzip2-rs/issues/104 - mkdir "${T}/pkg-config" || die - export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} - cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die - Name: bzip2 - Version: 9999 - Description: - Libs: -lbz2 - EOF -} - -src_configure() { - local myfeatures=( - git - pypi - python - ) - - cargo_src_configure --no-default-features -} - -src_compile() { - cd crates/uv || die - cargo_src_compile -} - -src_test() { - # work around https://github.com/astral-sh/uv/issues/4376 - local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH} - local -x COLUMNS=100 - local -x PYTHONDONTWRITEBYTECODE= - - cd crates/uv || die - cargo_src_test --no-fail-fast -} - -src_install() { - cd crates/uv || die - cargo_src_install -} diff --git a/dev-python/uv/uv-0.5.0-r1.ebuild b/dev-python/uv/uv-0.5.0-r1.ebuild new file mode 100644 index 000000000000..944b6b4eeafa --- /dev/null +++ b/dev-python/uv/uv-0.5.0-r1.ebuild @@ -0,0 +1,168 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +declare -A GIT_CRATES=( + [async_zip]='https://github.com/charliermarsh/rs-async-zip;011b24604fa7bc223daaad7712c0694bac8f0a87;rs-async-zip-%commit%' + [pubgrub]='https://github.com/astral-sh/pubgrub;95e1390399cdddee986b658be19587eb1fdb2d79;pubgrub-%commit%' + [reqwest-middleware]='https://github.com/TrueLayer/reqwest-middleware;d95ec5a99fcc9a4339e1850d40378bbfe55ab121;reqwest-middleware-%commit%/reqwest-middleware' + [reqwest-retry]='https://github.com/TrueLayer/reqwest-middleware;d95ec5a99fcc9a4339e1850d40378bbfe55ab121;reqwest-middleware-%commit%/reqwest-retry' + [tl]='https://github.com/charliermarsh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' + [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} +DESCRIPTION="A Python package installer and resolver, written in Rust" +HOMEPAGE=" + https://github.com/astral-sh/uv/ + https://pypi.org/project/uv/ +" +# pypi sdist misses scripts/, needed for tests +SRC_URI=" + https://github.com/astral-sh/uv/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz + " +fi + +# most of the code +LICENSE="|| ( Apache-2.0 MIT )" +# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below +# Dependent crate licenses +LICENSE+=" + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT + MPL-2.0 Unicode-DFS-2016 +" +# ring crate +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" +IUSE="test" +RESTRICT="test" +PROPERTIES="test_network" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + dev-lang/python:3.8 + dev-lang/python:3.9 + dev-lang/python:3.10 + dev-lang/python:3.11 + dev-lang/python:3.12 + ) +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +check_space() { + local CHECKREQS_DISK_BUILD=3G + use debug && CHECKREQS_DISK_BUILD=9G + check-reqs_pkg_setup +} + +pkg_pretend() { + check_space +} + +pkg_setup() { + check_space + rust_pkg_setup +} + +src_prepare() { + default + + # remove patch.* that breaks GIT_CRATES + local reqmw=${GIT_CRATES[reqwest-middleware]} + reqmw=${reqmw#*;} + reqmw=${reqmw%;*} + sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-${reqmw}/reqwest-middleware\" }@" Cargo.toml || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? + + # remove unbundled sources, just in case + find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_configure() { + local myfeatures=( + git + pypi + python + ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cd crates/uv || die + cargo_src_compile +} + +src_test() { + # work around https://github.com/astral-sh/uv/issues/4376 + local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH} + local -x COLUMNS=100 + local -x PYTHONDONTWRITEBYTECODE= + + cd crates/uv || die + cargo_src_test --no-fail-fast +} + +src_install() { + cd crates/uv || die + cargo_src_install + + insinto /etc/uv + newins - uv.toml <<-EOF || die + # By default ("automatic"), uv downloads missing Python versions + # automatically and keeps them in the user's home directory. + # Once installed, they are preferred over system Python install. + # Disable that because 1) autodownloading software is bad, + # 2) we do not want automatically downloaded Pythons to override + # system Pythons installed later. + # + # The user can still manually have uv download and install + # Python via "uv python install". We are not switching + # "python-preference" to allow the user to override the system + # Python with these explicit installs. + # + # Relevant docs: + # https://docs.astral.sh/uv/reference/settings/#python-downloads + # https://docs.astral.sh/uv/reference/settings/#python-preference + + python-downloads = "manual" + EOF +} diff --git a/dev-python/uv/uv-0.5.0.ebuild b/dev-python/uv/uv-0.5.0.ebuild deleted file mode 100644 index e67a3e7e521e..000000000000 --- a/dev-python/uv/uv-0.5.0.ebuild +++ /dev/null @@ -1,166 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -" - -declare -A GIT_CRATES=( - [async_zip]='https://github.com/charliermarsh/rs-async-zip;011b24604fa7bc223daaad7712c0694bac8f0a87;rs-async-zip-%commit%' - [pubgrub]='https://github.com/astral-sh/pubgrub;95e1390399cdddee986b658be19587eb1fdb2d79;pubgrub-%commit%' - [reqwest-middleware]='https://github.com/TrueLayer/reqwest-middleware;d95ec5a99fcc9a4339e1850d40378bbfe55ab121;reqwest-middleware-%commit%/reqwest-middleware' - [reqwest-retry]='https://github.com/TrueLayer/reqwest-middleware;d95ec5a99fcc9a4339e1850d40378bbfe55ab121;reqwest-middleware-%commit%/reqwest-retry' - [tl]='https://github.com/charliermarsh/tl;6e25b2ee2513d75385101a8ff9f591ef51f314ec;tl-%commit%' - [version-ranges]='https://github.com/astral-sh/pubgrub;95e1390399cdddee986b658be19587eb1fdb2d79;pubgrub-%commit%/version-ranges' -) - -inherit cargo check-reqs - -CRATE_PV=${PV} -DESCRIPTION="A Python package installer and resolver, written in Rust" -HOMEPAGE=" - https://github.com/astral-sh/uv/ - https://pypi.org/project/uv/ -" -# pypi sdist misses scripts/, needed for tests -SRC_URI=" - https://github.com/astral-sh/uv/archive/${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" -if [[ ${PKGBUMPING} != ${PVR} ]]; then - SRC_URI+=" - https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz - " -fi - -# most of the code -LICENSE="|| ( Apache-2.0 MIT )" -# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below -# Dependent crate licenses -LICENSE+=" - 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT - MPL-2.0 Unicode-DFS-2016 -" -# ring crate -LICENSE+=" openssl" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86" -IUSE="test" -RESTRICT="test" -PROPERTIES="test_network" - -DEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-arch/zstd:= -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - >=virtual/rust-1.80 - test? ( - dev-lang/python:3.8 - dev-lang/python:3.9 - dev-lang/python:3.10 - dev-lang/python:3.11 - dev-lang/python:3.12 - ) -" - -QA_FLAGS_IGNORED="usr/bin/.*" - -check_space() { - local CHECKREQS_DISK_BUILD=3G - use debug && CHECKREQS_DISK_BUILD=9G - check-reqs_pkg_setup -} - -pkg_pretend() { - check_space -} - -pkg_setup() { - check_space -} - -src_prepare() { - default - - # remove patch.* that breaks GIT_CRATES - local reqmw=${GIT_CRATES[reqwest-middleware]} - reqmw=${reqmw#*;} - reqmw=${reqmw%;*} - sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-${reqmw}/reqwest-middleware\" }@" Cargo.toml || die - - # enable system libraries where supported - export ZSTD_SYS_USE_PKG_CONFIG=1 - # TODO: unbundle libz-ng-sys, tikv-jemalloc-sys? - - # remove unbundled sources, just in case - find "${ECARGO_VENDOR}"/{bzip2,lzma,zstd}-sys-*/ -name '*.c' -delete || die - - # bzip2-sys requires a pkg-config file - # https://github.com/alexcrichton/bzip2-rs/issues/104 - mkdir "${T}/pkg-config" || die - export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} - cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die - Name: bzip2 - Version: 9999 - Description: - Libs: -lbz2 - EOF -} - -src_configure() { - local myfeatures=( - git - pypi - python - ) - - cargo_src_configure --no-default-features -} - -src_compile() { - cd crates/uv || die - cargo_src_compile -} - -src_test() { - # work around https://github.com/astral-sh/uv/issues/4376 - local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH} - local -x COLUMNS=100 - local -x PYTHONDONTWRITEBYTECODE= - - cd crates/uv || die - cargo_src_test --no-fail-fast -} - -src_install() { - cd crates/uv || die - cargo_src_install - - insinto /etc/uv - newins - uv.toml <<-EOF || die - # By default ("automatic"), uv downloads missing Python versions - # automatically and keeps them in the user's home directory. - # Once installed, they are preferred over system Python install. - # Disable that because 1) autodownloading software is bad, - # 2) we do not want automatically downloaded Pythons to override - # system Pythons installed later. - # - # The user can still manually have uv download and install - # Python via "uv python install". We are not switching - # "python-preference" to allow the user to override the system - # Python with these explicit installs. - # - # Relevant docs: - # https://docs.astral.sh/uv/reference/settings/#python-downloads - # https://docs.astral.sh/uv/reference/settings/#python-preference - - python-downloads = "manual" - EOF -} diff --git a/dev-python/watchfiles/watchfiles-0.23.0-r1.ebuild b/dev-python/watchfiles/watchfiles-0.23.0-r1.ebuild new file mode 100644 index 000000000000..7566d6a68321 --- /dev/null +++ b/dev-python/watchfiles/watchfiles-0.23.0-r1.ebuild @@ -0,0 +1,127 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..13} pypy3 ) + +CRATES=" + autocfg@1.3.0 + bitflags@1.3.2 + bitflags@2.5.0 + cc@1.0.96 + cfg-if@1.0.0 + crossbeam-channel@0.5.12 + crossbeam-utils@0.8.19 + filetime@0.2.23 + fsevent-sys@4.1.0 + heck@0.5.0 + indoc@2.0.5 + inotify-sys@0.1.5 + inotify@0.9.6 + kqueue-sys@1.0.4 + kqueue@1.0.8 + libc@0.2.154 + log@0.4.21 + memoffset@0.9.1 + mio@0.8.11 + notify@6.1.1 + once_cell@1.19.0 + portable-atomic@1.6.0 + proc-macro2@1.0.81 + pyo3-build-config@0.22.2 + pyo3-ffi@0.22.2 + pyo3-macros-backend@0.22.2 + pyo3-macros@0.22.2 + pyo3@0.22.2 + python3-dll-a@0.2.10 + quote@1.0.36 + redox_syscall@0.4.1 + same-file@1.0.6 + syn@2.0.60 + target-lexicon@0.12.14 + unicode-ident@1.0.12 + unindent@0.2.3 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-util@0.1.8 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 +" + +inherit cargo distutils-r1 + +DESCRIPTION="Simple, modern file watching and code reload in Python" +HOMEPAGE=" + https://pypi.org/project/watchfiles/ + https://github.com/samuelcolvin/watchfiles/ +" +SRC_URI=" + https://github.com/samuelcolvin/watchfiles/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions CC0-1.0 ISC MIT Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86" + +RDEPEND=" + >=dev-python/anyio-4.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] + test? ( + dev-python/dirty-equals[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + ) +" + +# enjoy Rust +QA_FLAGS_IGNORED=".*/_rust_notify.*" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # fix version number + sed -i -e "/^version/s:0\.0\.0:${PV}:" Cargo.toml || die + + export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 +} + +python_test() { + local EPYTEST_DESELECT=( + # test broken with new anyio + # https://github.com/samuelcolvin/watchfiles/issues/254 + tests/test_watch.py::test_awatch_interrupt_raise + ) + + rm -rf watchfiles || die + epytest +} diff --git a/dev-python/watchfiles/watchfiles-0.23.0.ebuild b/dev-python/watchfiles/watchfiles-0.23.0.ebuild deleted file mode 100644 index 7566d6a68321..000000000000 --- a/dev-python/watchfiles/watchfiles-0.23.0.ebuild +++ /dev/null @@ -1,127 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..13} pypy3 ) - -CRATES=" - autocfg@1.3.0 - bitflags@1.3.2 - bitflags@2.5.0 - cc@1.0.96 - cfg-if@1.0.0 - crossbeam-channel@0.5.12 - crossbeam-utils@0.8.19 - filetime@0.2.23 - fsevent-sys@4.1.0 - heck@0.5.0 - indoc@2.0.5 - inotify-sys@0.1.5 - inotify@0.9.6 - kqueue-sys@1.0.4 - kqueue@1.0.8 - libc@0.2.154 - log@0.4.21 - memoffset@0.9.1 - mio@0.8.11 - notify@6.1.1 - once_cell@1.19.0 - portable-atomic@1.6.0 - proc-macro2@1.0.81 - pyo3-build-config@0.22.2 - pyo3-ffi@0.22.2 - pyo3-macros-backend@0.22.2 - pyo3-macros@0.22.2 - pyo3@0.22.2 - python3-dll-a@0.2.10 - quote@1.0.36 - redox_syscall@0.4.1 - same-file@1.0.6 - syn@2.0.60 - target-lexicon@0.12.14 - unicode-ident@1.0.12 - unindent@0.2.3 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-util@0.1.8 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 -" - -inherit cargo distutils-r1 - -DESCRIPTION="Simple, modern file watching and code reload in Python" -HOMEPAGE=" - https://pypi.org/project/watchfiles/ - https://github.com/samuelcolvin/watchfiles/ -" -SRC_URI=" - https://github.com/samuelcolvin/watchfiles/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions CC0-1.0 ISC MIT Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86" - -RDEPEND=" - >=dev-python/anyio-4.0.0[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/setuptools-rust[${PYTHON_USEDEP}] - test? ( - dev-python/dirty-equals[${PYTHON_USEDEP}] - dev-python/pytest-mock[${PYTHON_USEDEP}] - dev-python/pytest-timeout[${PYTHON_USEDEP}] - ) -" - -# enjoy Rust -QA_FLAGS_IGNORED=".*/_rust_notify.*" - -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - - # fix version number - sed -i -e "/^version/s:0\.0\.0:${PV}:" Cargo.toml || die - - export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 -} - -python_test() { - local EPYTEST_DESELECT=( - # test broken with new anyio - # https://github.com/samuelcolvin/watchfiles/issues/254 - tests/test_watch.py::test_awatch_interrupt_raise - ) - - rm -rf watchfiles || die - epytest -} diff --git a/dev-python/watchfiles/watchfiles-0.24.0-r1.ebuild b/dev-python/watchfiles/watchfiles-0.24.0-r1.ebuild new file mode 100644 index 000000000000..5f1de831da87 --- /dev/null +++ b/dev-python/watchfiles/watchfiles-0.24.0-r1.ebuild @@ -0,0 +1,134 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..13} pypy3 ) + +CRATES=" + autocfg@1.3.0 + bitflags@1.3.2 + bitflags@2.6.0 + cc@1.0.96 + cfg-if@1.0.0 + crossbeam-channel@0.5.12 + crossbeam-utils@0.8.19 + filetime@0.2.24 + fsevent-sys@4.1.0 + heck@0.5.0 + indoc@2.0.5 + inotify-sys@0.1.5 + inotify@0.10.2 + instant@0.1.13 + kqueue-sys@1.0.4 + kqueue@1.0.8 + libc@0.2.154 + libredox@0.1.3 + log@0.4.22 + memoffset@0.9.1 + mio@0.8.11 + once_cell@1.19.0 + portable-atomic@1.6.0 + proc-macro2@1.0.81 + pyo3-build-config@0.22.2 + pyo3-ffi@0.22.2 + pyo3-macros-backend@0.22.2 + pyo3-macros@0.22.2 + pyo3@0.22.2 + python3-dll-a@0.2.10 + quote@1.0.36 + redox_syscall@0.5.3 + same-file@1.0.6 + syn@2.0.60 + target-lexicon@0.12.14 + unicode-ident@1.0.12 + unindent@0.2.3 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-util@0.1.9 + 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 +" + +declare -A GIT_CRATES=( + [notify-types]='https://github.com/samuelcolvin/notify;0f87ab12707d231fa44180454d59478d3992eb59;notify-%commit%/notify-types' + [notify]='https://github.com/samuelcolvin/notify;0f87ab12707d231fa44180454d59478d3992eb59;notify-%commit%/notify' +) + +inherit cargo distutils-r1 + +DESCRIPTION="Simple, modern file watching and code reload in Python" +HOMEPAGE=" + https://pypi.org/project/watchfiles/ + https://github.com/samuelcolvin/watchfiles/ +" +SRC_URI=" + https://github.com/samuelcolvin/watchfiles/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0-with-LLVM-exceptions BSD CC0-1.0 ISC MIT Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86" + +RDEPEND=" + >=dev-python/anyio-4.0.0[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] + test? ( + dev-python/dirty-equals[${PYTHON_USEDEP}] + dev-python/pytest-mock[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + ) +" + +# enjoy Rust +QA_FLAGS_IGNORED=".*/_rust_notify.*" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + + # fix version number + sed -i -e "/^version/s:0\.0\.0:${PV}:" Cargo.toml || die + + export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 +} + +python_test() { + local EPYTEST_DESELECT=( + # test broken with new anyio + # https://github.com/samuelcolvin/watchfiles/issues/254 + tests/test_watch.py::test_awatch_interrupt_raise + ) + + rm -rf watchfiles || die + epytest +} diff --git a/dev-python/watchfiles/watchfiles-0.24.0.ebuild b/dev-python/watchfiles/watchfiles-0.24.0.ebuild deleted file mode 100644 index 5f1de831da87..000000000000 --- a/dev-python/watchfiles/watchfiles-0.24.0.ebuild +++ /dev/null @@ -1,134 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..13} pypy3 ) - -CRATES=" - autocfg@1.3.0 - bitflags@1.3.2 - bitflags@2.6.0 - cc@1.0.96 - cfg-if@1.0.0 - crossbeam-channel@0.5.12 - crossbeam-utils@0.8.19 - filetime@0.2.24 - fsevent-sys@4.1.0 - heck@0.5.0 - indoc@2.0.5 - inotify-sys@0.1.5 - inotify@0.10.2 - instant@0.1.13 - kqueue-sys@1.0.4 - kqueue@1.0.8 - libc@0.2.154 - libredox@0.1.3 - log@0.4.22 - memoffset@0.9.1 - mio@0.8.11 - once_cell@1.19.0 - portable-atomic@1.6.0 - proc-macro2@1.0.81 - pyo3-build-config@0.22.2 - pyo3-ffi@0.22.2 - pyo3-macros-backend@0.22.2 - pyo3-macros@0.22.2 - pyo3@0.22.2 - python3-dll-a@0.2.10 - quote@1.0.36 - redox_syscall@0.5.3 - same-file@1.0.6 - syn@2.0.60 - target-lexicon@0.12.14 - unicode-ident@1.0.12 - unindent@0.2.3 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-util@0.1.9 - 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 -" - -declare -A GIT_CRATES=( - [notify-types]='https://github.com/samuelcolvin/notify;0f87ab12707d231fa44180454d59478d3992eb59;notify-%commit%/notify-types' - [notify]='https://github.com/samuelcolvin/notify;0f87ab12707d231fa44180454d59478d3992eb59;notify-%commit%/notify' -) - -inherit cargo distutils-r1 - -DESCRIPTION="Simple, modern file watching and code reload in Python" -HOMEPAGE=" - https://pypi.org/project/watchfiles/ - https://github.com/samuelcolvin/watchfiles/ -" -SRC_URI=" - https://github.com/samuelcolvin/watchfiles/archive/v${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0-with-LLVM-exceptions BSD CC0-1.0 ISC MIT Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86" - -RDEPEND=" - >=dev-python/anyio-4.0.0[${PYTHON_USEDEP}] -" -BDEPEND=" - dev-python/setuptools-rust[${PYTHON_USEDEP}] - test? ( - dev-python/dirty-equals[${PYTHON_USEDEP}] - dev-python/pytest-mock[${PYTHON_USEDEP}] - dev-python/pytest-timeout[${PYTHON_USEDEP}] - ) -" - -# enjoy Rust -QA_FLAGS_IGNORED=".*/_rust_notify.*" - -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - - # fix version number - sed -i -e "/^version/s:0\.0\.0:${PV}:" Cargo.toml || die - - export UNSAFE_PYO3_SKIP_VERSION_CHECK=1 -} - -python_test() { - local EPYTEST_DESELECT=( - # test broken with new anyio - # https://github.com/samuelcolvin/watchfiles/issues/254 - tests/test_watch.py::test_awatch_interrupt_raise - ) - - rm -rf watchfiles || die - epytest -} diff --git a/dev-util/bindgen/bindgen-0.68.1-r1.ebuild b/dev-util/bindgen/bindgen-0.68.1-r1.ebuild new file mode 100644 index 000000000000..9b9bbaeb26d3 --- /dev/null +++ b/dev-util/bindgen/bindgen-0.68.1-r1.ebuild @@ -0,0 +1,138 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.10 + +EAPI=8 + +CRATES=" + aho-corasick@0.7.20 + annotate-snippets@0.9.1 + bitflags@1.3.2 + bitflags@2.2.1 + block@0.1.6 + cc@1.0.78 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.4.0 + clap@4.1.4 + clap_complete@4.2.0 + clap_derive@4.1.0 + clap_lex@0.3.1 + either@1.8.1 + env_logger@0.10.0 + env_logger@0.8.4 + errno-dragonfly@0.1.2 + errno@0.2.8 + errno@0.3.1 + fastrand@1.8.0 + getrandom@0.2.8 + glob@0.3.1 + heck@0.4.0 + hermit-abi@0.3.2 + humantime@2.1.0 + instant@0.1.12 + io-lifetimes@1.0.4 + is-terminal@0.4.7 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.139 + libloading@0.7.4 + linux-raw-sys@0.1.4 + linux-raw-sys@0.3.8 + log@0.4.17 + malloc_buf@0.0.6 + memchr@2.5.0 + minimal-lexical@0.2.1 + nom@7.1.3 + objc@0.2.7 + once_cell@1.17.0 + os_str_bytes@6.4.1 + owo-colors@3.5.0 + peeking_take_while@0.1.2 + prettyplease@0.2.7 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.60 + quickcheck@1.0.3 + quote@1.0.28 + rand@0.8.5 + rand_core@0.6.4 + redox_syscall@0.2.16 + regex-syntax@0.6.28 + regex@1.7.1 + rustc-hash@1.1.0 + rustix@0.36.7 + rustix@0.37.3 + shlex@1.1.0 + similar@2.2.1 + strsim@0.10.0 + syn@1.0.107 + syn@2.0.18 + tempfile@3.4.0 + termcolor@1.2.0 + unicode-ident@1.0.6 + unicode-width@0.1.10 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + which@4.4.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 + windows-sys@0.42.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-targets@0.42.2 + windows-targets@0.48.1 + 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 + yansi-term@0.1.2 +" + +inherit rust-toolchain cargo + +DESCRIPTION="Automatically generates Rust FFI bindings to C and C++ libraries." +HOMEPAGE="https://rust-lang.github.io/rust-bindgen/" +SRC_URI="https://github.com/rust-lang/rust-${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="BSD" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64 arm64 ~ppc64 ~riscv" + +DEPEND="${RUST_DEPEND}" +RDEPEND="${DEPEND} + sys-devel/clang:*" + +QA_FLAGS_IGNORED="usr/bin/bindgen" + +S="${WORKDIR}/rust-${P}" + +src_test () { + # required by clang during tests + local -x TARGET="$(rust_abi)" + + cargo_src_test --bins --lib +} + +src_install () { + cargo_src_install --path "${S}/bindgen-cli" + + einstalldocs +} diff --git a/dev-util/bindgen/bindgen-0.68.1.ebuild b/dev-util/bindgen/bindgen-0.68.1.ebuild deleted file mode 100644 index 23360f73eeba..000000000000 --- a/dev-util/bindgen/bindgen-0.68.1.ebuild +++ /dev/null @@ -1,138 +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=" - aho-corasick@0.7.20 - annotate-snippets@0.9.1 - bitflags@1.3.2 - bitflags@2.2.1 - block@0.1.6 - cc@1.0.78 - cexpr@0.6.0 - cfg-if@1.0.0 - clang-sys@1.4.0 - clap@4.1.4 - clap_complete@4.2.0 - clap_derive@4.1.0 - clap_lex@0.3.1 - either@1.8.1 - env_logger@0.10.0 - env_logger@0.8.4 - errno-dragonfly@0.1.2 - errno@0.2.8 - errno@0.3.1 - fastrand@1.8.0 - getrandom@0.2.8 - glob@0.3.1 - heck@0.4.0 - hermit-abi@0.3.2 - humantime@2.1.0 - instant@0.1.12 - io-lifetimes@1.0.4 - is-terminal@0.4.7 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.139 - libloading@0.7.4 - linux-raw-sys@0.1.4 - linux-raw-sys@0.3.8 - log@0.4.17 - malloc_buf@0.0.6 - memchr@2.5.0 - minimal-lexical@0.2.1 - nom@7.1.3 - objc@0.2.7 - once_cell@1.17.0 - os_str_bytes@6.4.1 - owo-colors@3.5.0 - peeking_take_while@0.1.2 - prettyplease@0.2.7 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.60 - quickcheck@1.0.3 - quote@1.0.28 - rand@0.8.5 - rand_core@0.6.4 - redox_syscall@0.2.16 - regex-syntax@0.6.28 - regex@1.7.1 - rustc-hash@1.1.0 - rustix@0.36.7 - rustix@0.37.3 - shlex@1.1.0 - similar@2.2.1 - strsim@0.10.0 - syn@1.0.107 - syn@2.0.18 - tempfile@3.4.0 - termcolor@1.2.0 - unicode-ident@1.0.6 - unicode-width@0.1.10 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - which@4.4.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 - windows-sys@0.42.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-targets@0.42.2 - windows-targets@0.48.1 - 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 - yansi-term@0.1.2 -" - -inherit rust-toolchain cargo - -DESCRIPTION="Automatically generates Rust FFI bindings to C and C++ libraries." -HOMEPAGE="https://rust-lang.github.io/rust-bindgen/" -SRC_URI="https://github.com/rust-lang/rust-${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="BSD" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv" - -DEPEND="virtual/rust" -RDEPEND="${DEPEND} - sys-devel/clang:*" - -QA_FLAGS_IGNORED="usr/bin/bindgen" - -S="${WORKDIR}/rust-${P}" - -src_test () { - # required by clang during tests - local -x TARGET="$(rust_abi)" - - cargo_src_test --bins --lib -} - -src_install () { - cargo_src_install --path "${S}/bindgen-cli" - - einstalldocs -} diff --git a/dev-util/bindgen/bindgen-0.69.4-r1.ebuild b/dev-util/bindgen/bindgen-0.69.4-r1.ebuild new file mode 100644 index 000000000000..02f369060287 --- /dev/null +++ b/dev-util/bindgen/bindgen-0.69.4-r1.ebuild @@ -0,0 +1,134 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@0.7.20 + annotate-snippets@0.9.1 + bitflags@1.3.2 + bitflags@2.2.1 + block@0.1.6 + cc@1.0.78 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.4.0 + clap@4.1.4 + clap_complete@4.2.0 + clap_derive@4.1.0 + clap_lex@0.3.1 + either@1.8.1 + env_logger@0.10.0 + env_logger@0.8.4 + errno-dragonfly@0.1.2 + errno@0.3.1 + fastrand@1.8.0 + getrandom@0.2.8 + glob@0.3.1 + heck@0.4.0 + hermit-abi@0.3.2 + humantime@2.1.0 + instant@0.1.12 + io-lifetimes@1.0.4 + is-terminal@0.4.7 + itertools@0.12.1 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.139 + libloading@0.7.4 + linux-raw-sys@0.1.4 + linux-raw-sys@0.3.8 + log@0.4.17 + malloc_buf@0.0.6 + memchr@2.5.0 + minimal-lexical@0.2.1 + nom@7.1.3 + objc@0.2.7 + once_cell@1.17.0 + os_str_bytes@6.4.1 + owo-colors@3.5.0 + prettyplease@0.2.7 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.60 + quickcheck@1.0.3 + quote@1.0.28 + rand@0.8.5 + rand_core@0.6.4 + redox_syscall@0.2.16 + regex-syntax@0.6.28 + regex@1.7.1 + rustc-hash@1.1.0 + rustix@0.36.16 + rustix@0.37.3 + shlex@1.3.0 + similar@2.2.1 + strsim@0.10.0 + syn@1.0.107 + syn@2.0.18 + tempfile@3.4.0 + termcolor@1.2.0 + unicode-ident@1.0.6 + unicode-width@0.1.10 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + which@4.4.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 + windows-sys@0.42.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-targets@0.42.2 + windows-targets@0.48.1 + 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 + yansi-term@0.1.2 +" + +inherit rust-toolchain cargo + +DESCRIPTION="Automatically generates Rust FFI bindings to C and C++ libraries." +HOMEPAGE="https://rust-lang.github.io/rust-bindgen/" +SRC_URI="https://github.com/rust-lang/rust-${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +S=${WORKDIR}/rust-${P} + +LICENSE="BSD" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64 arm64 ~ppc64 ~riscv" + +DEPEND="${RUST_DEPEND}" +RDEPEND="${DEPEND} + sys-devel/clang:*" + +QA_FLAGS_IGNORED="usr/bin/bindgen" + +src_test () { + # required by clang during tests + local -x TARGET=$(rust_abi) + + cargo_src_test --bins --lib +} + +src_install () { + cargo_src_install --path "${S}/bindgen-cli" + + einstalldocs +} diff --git a/dev-util/bindgen/bindgen-0.69.4.ebuild b/dev-util/bindgen/bindgen-0.69.4.ebuild deleted file mode 100644 index 9e0b5b99c434..000000000000 --- a/dev-util/bindgen/bindgen-0.69.4.ebuild +++ /dev/null @@ -1,134 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick@0.7.20 - annotate-snippets@0.9.1 - bitflags@1.3.2 - bitflags@2.2.1 - block@0.1.6 - cc@1.0.78 - cexpr@0.6.0 - cfg-if@1.0.0 - clang-sys@1.4.0 - clap@4.1.4 - clap_complete@4.2.0 - clap_derive@4.1.0 - clap_lex@0.3.1 - either@1.8.1 - env_logger@0.10.0 - env_logger@0.8.4 - errno-dragonfly@0.1.2 - errno@0.3.1 - fastrand@1.8.0 - getrandom@0.2.8 - glob@0.3.1 - heck@0.4.0 - hermit-abi@0.3.2 - humantime@2.1.0 - instant@0.1.12 - io-lifetimes@1.0.4 - is-terminal@0.4.7 - itertools@0.12.1 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.139 - libloading@0.7.4 - linux-raw-sys@0.1.4 - linux-raw-sys@0.3.8 - log@0.4.17 - malloc_buf@0.0.6 - memchr@2.5.0 - minimal-lexical@0.2.1 - nom@7.1.3 - objc@0.2.7 - once_cell@1.17.0 - os_str_bytes@6.4.1 - owo-colors@3.5.0 - prettyplease@0.2.7 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.60 - quickcheck@1.0.3 - quote@1.0.28 - rand@0.8.5 - rand_core@0.6.4 - redox_syscall@0.2.16 - regex-syntax@0.6.28 - regex@1.7.1 - rustc-hash@1.1.0 - rustix@0.36.16 - rustix@0.37.3 - shlex@1.3.0 - similar@2.2.1 - strsim@0.10.0 - syn@1.0.107 - syn@2.0.18 - tempfile@3.4.0 - termcolor@1.2.0 - unicode-ident@1.0.6 - unicode-width@0.1.10 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - which@4.4.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 - windows-sys@0.42.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-targets@0.42.2 - windows-targets@0.48.1 - 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 - yansi-term@0.1.2 -" - -inherit rust-toolchain cargo - -DESCRIPTION="Automatically generates Rust FFI bindings to C and C++ libraries." -HOMEPAGE="https://rust-lang.github.io/rust-bindgen/" -SRC_URI="https://github.com/rust-lang/rust-${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" -S=${WORKDIR}/rust-${P} - -LICENSE="BSD" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv" - -DEPEND="virtual/rust" -RDEPEND="${DEPEND} - sys-devel/clang:*" - -QA_FLAGS_IGNORED="usr/bin/bindgen" - -src_test () { - # required by clang during tests - local -x TARGET=$(rust_abi) - - cargo_src_test --bins --lib -} - -src_install () { - cargo_src_install --path "${S}/bindgen-cli" - - einstalldocs -} diff --git a/dev-util/bindgen/bindgen-0.70.1-r1.ebuild b/dev-util/bindgen/bindgen-0.70.1-r1.ebuild new file mode 100644 index 000000000000..0f2fb05d05b7 --- /dev/null +++ b/dev-util/bindgen/bindgen-0.70.1-r1.ebuild @@ -0,0 +1,129 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@0.7.20 + annotate-snippets@0.9.1 + bitflags@1.3.2 + bitflags@2.2.1 + block@0.1.6 + cc@1.0.78 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.4.0 + clap@4.1.4 + clap_complete@4.2.0 + clap_derive@4.1.0 + clap_lex@0.3.1 + either@1.8.1 + env_logger@0.10.0 + env_logger@0.8.4 + errno-dragonfly@0.1.2 + errno@0.3.1 + fastrand@1.8.0 + getrandom@0.2.8 + glob@0.3.1 + heck@0.4.0 + hermit-abi@0.3.2 + humantime@2.1.0 + instant@0.1.12 + io-lifetimes@1.0.4 + is-terminal@0.4.7 + itertools@0.13.0 + libc@0.2.154 + libloading@0.7.4 + linux-raw-sys@0.3.8 + log@0.4.17 + malloc_buf@0.0.6 + memchr@2.5.0 + minimal-lexical@0.2.1 + nom@7.1.3 + objc@0.2.7 + once_cell@1.17.0 + os_str_bytes@6.4.1 + owo-colors@3.5.0 + prettyplease@0.2.7 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.60 + quickcheck@1.0.3 + quote@1.0.28 + rand@0.8.5 + rand_core@0.6.4 + redox_syscall@0.3.5 + regex-syntax@0.6.28 + regex@1.7.1 + rustc-hash@1.1.0 + rustix@0.37.7 + shlex@1.3.0 + similar@2.2.1 + strsim@0.10.0 + syn@1.0.107 + syn@2.0.18 + tempfile@3.5.0 + termcolor@1.2.0 + unicode-ident@1.0.6 + unicode-width@0.1.10 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + 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 + windows-sys@0.42.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-targets@0.42.2 + windows-targets@0.48.1 + 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 + yansi-term@0.1.2 +" + +inherit rust-toolchain cargo + +DESCRIPTION="Automatically generates Rust FFI bindings to C and C++ libraries." +HOMEPAGE="https://rust-lang.github.io/rust-bindgen/" +SRC_URI="https://github.com/rust-lang/rust-${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +S=${WORKDIR}/rust-${P} + +LICENSE="BSD" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64 arm64 ~ppc64 ~riscv" + +DEPEND="${RUST_DEPEND}" +RDEPEND="${DEPEND} + sys-devel/clang:*" + +QA_FLAGS_IGNORED="usr/bin/bindgen" + +src_test () { + # required by clang during tests + local -x TARGET=$(rust_abi) + + cargo_src_test --bins --lib +} + +src_install () { + cargo_src_install --path "${S}/bindgen-cli" + + einstalldocs +} diff --git a/dev-util/bindgen/bindgen-0.70.1.ebuild b/dev-util/bindgen/bindgen-0.70.1.ebuild deleted file mode 100644 index 33bc91925636..000000000000 --- a/dev-util/bindgen/bindgen-0.70.1.ebuild +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick@0.7.20 - annotate-snippets@0.9.1 - bitflags@1.3.2 - bitflags@2.2.1 - block@0.1.6 - cc@1.0.78 - cexpr@0.6.0 - cfg-if@1.0.0 - clang-sys@1.4.0 - clap@4.1.4 - clap_complete@4.2.0 - clap_derive@4.1.0 - clap_lex@0.3.1 - either@1.8.1 - env_logger@0.10.0 - env_logger@0.8.4 - errno-dragonfly@0.1.2 - errno@0.3.1 - fastrand@1.8.0 - getrandom@0.2.8 - glob@0.3.1 - heck@0.4.0 - hermit-abi@0.3.2 - humantime@2.1.0 - instant@0.1.12 - io-lifetimes@1.0.4 - is-terminal@0.4.7 - itertools@0.13.0 - libc@0.2.154 - libloading@0.7.4 - linux-raw-sys@0.3.8 - log@0.4.17 - malloc_buf@0.0.6 - memchr@2.5.0 - minimal-lexical@0.2.1 - nom@7.1.3 - objc@0.2.7 - once_cell@1.17.0 - os_str_bytes@6.4.1 - owo-colors@3.5.0 - prettyplease@0.2.7 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.60 - quickcheck@1.0.3 - quote@1.0.28 - rand@0.8.5 - rand_core@0.6.4 - redox_syscall@0.3.5 - regex-syntax@0.6.28 - regex@1.7.1 - rustc-hash@1.1.0 - rustix@0.37.7 - shlex@1.3.0 - similar@2.2.1 - strsim@0.10.0 - syn@1.0.107 - syn@2.0.18 - tempfile@3.5.0 - termcolor@1.2.0 - unicode-ident@1.0.6 - unicode-width@0.1.10 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - 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 - windows-sys@0.42.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-targets@0.42.2 - windows-targets@0.48.1 - 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 - yansi-term@0.1.2 -" - -inherit rust-toolchain cargo - -DESCRIPTION="Automatically generates Rust FFI bindings to C and C++ libraries." -HOMEPAGE="https://rust-lang.github.io/rust-bindgen/" -SRC_URI="https://github.com/rust-lang/rust-${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" -S=${WORKDIR}/rust-${P} - -LICENSE="BSD" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="amd64 arm64 ~ppc64 ~riscv" - -DEPEND="virtual/rust" -RDEPEND="${DEPEND} - sys-devel/clang:*" - -QA_FLAGS_IGNORED="usr/bin/bindgen" - -src_test () { - # required by clang during tests - local -x TARGET=$(rust_abi) - - cargo_src_test --bins --lib -} - -src_install () { - cargo_src_install --path "${S}/bindgen-cli" - - einstalldocs -} 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-r1.ebuild b/dev-util/bpftop/bpftop-0.2.3-r1.ebuild new file mode 100644 index 000000000000..cd6267d43984 --- /dev/null +++ b/dev-util/bpftop/bpftop-0.2.3-r1.ebuild @@ -0,0 +1,128 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + ahash@0.8.7 + allocator-api2@0.2.16 + anyhow@1.0.80 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.4.2 + cassowary@0.3.0 + castaway@0.2.2 + cc@1.0.83 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + circular-buffer@0.1.6 + compact_str@0.7.1 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + either@1.10.0 + equivalent@1.0.1 + hashbrown@0.14.3 + heck@0.4.1 + hermit-abi@0.3.5 + indexmap@2.2.2 + indoc@2.0.4 + itertools@0.12.1 + itoa@1.0.10 + lazy_static@1.4.0 + libbpf-rs@0.22.1 + libbpf-sys@1.3.0+v1.3.0 + libc@0.2.153 + lock_api@0.4.11 + log@0.4.20 + lru@0.12.2 + memchr@2.7.1 + memoffset@0.9.0 + mio@0.8.10 + nix@0.27.1 + nix@0.28.0 + num_cpus@1.16.0 + num_enum@0.5.11 + num_enum_derive@0.5.11 + once_cell@1.19.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + paste@1.0.14 + pkg-config@0.3.29 + proc-macro-crate@1.3.1 + proc-macro2@1.0.78 + quote@1.0.35 + ratatui@0.26.1 + redox_syscall@0.4.1 + rustversion@1.0.14 + ryu@1.0.16 + scopeguard@1.2.0 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.1 + signal-hook@0.3.17 + smallvec@1.13.1 + stability@0.1.1 + static_assertions@1.1.0 + strum@0.26.1 + strum_macros@0.24.3 + strum_macros@0.26.1 + syn@1.0.109 + syn@2.0.48 + thiserror-impl@1.0.56 + thiserror@1.0.56 + toml_datetime@0.6.5 + toml_edit@0.19.15 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.11 + version_check@0.9.4 + vsprintf@2.0.0 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + 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 + winnow@0.5.39 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 +" + +inherit desktop cargo + +DESCRIPTION="Process monitor for BPF programs" +HOMEPAGE="https://github.com/Netflix/bpftop" +SRC_URI=" + https://github.com/Netflix/bpftop/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + BSD-2 BSD MIT Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +DOCS=( + README.md +) + +src_install() { + cargo_src_install + + doicon bpftop-logo.png + make_desktop_entry /usr/bin/${PN} bpftop-logo.png Development +} diff --git a/dev-util/bpftop/bpftop-0.2.3.ebuild b/dev-util/bpftop/bpftop-0.2.3.ebuild deleted file mode 100644 index cd6267d43984..000000000000 --- a/dev-util/bpftop/bpftop-0.2.3.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - ahash@0.8.7 - allocator-api2@0.2.16 - anyhow@1.0.80 - autocfg@1.1.0 - bitflags@1.3.2 - bitflags@2.4.2 - cassowary@0.3.0 - castaway@0.2.2 - cc@1.0.83 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - circular-buffer@0.1.6 - compact_str@0.7.1 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - either@1.10.0 - equivalent@1.0.1 - hashbrown@0.14.3 - heck@0.4.1 - hermit-abi@0.3.5 - indexmap@2.2.2 - indoc@2.0.4 - itertools@0.12.1 - itoa@1.0.10 - lazy_static@1.4.0 - libbpf-rs@0.22.1 - libbpf-sys@1.3.0+v1.3.0 - libc@0.2.153 - lock_api@0.4.11 - log@0.4.20 - lru@0.12.2 - memchr@2.7.1 - memoffset@0.9.0 - mio@0.8.10 - nix@0.27.1 - nix@0.28.0 - num_cpus@1.16.0 - num_enum@0.5.11 - num_enum_derive@0.5.11 - once_cell@1.19.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - paste@1.0.14 - pkg-config@0.3.29 - proc-macro-crate@1.3.1 - proc-macro2@1.0.78 - quote@1.0.35 - ratatui@0.26.1 - redox_syscall@0.4.1 - rustversion@1.0.14 - ryu@1.0.16 - scopeguard@1.2.0 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.1 - signal-hook@0.3.17 - smallvec@1.13.1 - stability@0.1.1 - static_assertions@1.1.0 - strum@0.26.1 - strum_macros@0.24.3 - strum_macros@0.26.1 - syn@1.0.109 - syn@2.0.48 - thiserror-impl@1.0.56 - thiserror@1.0.56 - toml_datetime@0.6.5 - toml_edit@0.19.15 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-width@0.1.11 - version_check@0.9.4 - vsprintf@2.0.0 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - 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 - winnow@0.5.39 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 -" - -inherit desktop cargo - -DESCRIPTION="Process monitor for BPF programs" -HOMEPAGE="https://github.com/Netflix/bpftop" -SRC_URI=" - https://github.com/Netflix/bpftop/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - BSD-2 BSD MIT Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -DOCS=( - README.md -) - -src_install() { - cargo_src_install - - doicon bpftop-logo.png - make_desktop_entry /usr/bin/${PN} bpftop-logo.png Development -} diff --git a/dev-util/bpftop/bpftop-0.5.1-r1.ebuild b/dev-util/bpftop/bpftop-0.5.1-r1.ebuild new file mode 100644 index 000000000000..1104d45155a3 --- /dev/null +++ b/dev-util/bpftop/bpftop-0.5.1-r1.ebuild @@ -0,0 +1,203 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.0.3 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.83 + autocfg@1.3.0 + bitflags@2.5.0 + bumpalo@3.16.0 + camino@1.1.6 + cargo-platform@0.1.8 + cargo_metadata@0.15.4 + cassowary@0.3.0 + castaway@0.2.2 + cc@1.0.97 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + chrono@0.4.38 + circular-buffer@0.1.7 + clap@4.5.4 + clap_builder@4.5.2 + clap_derive@4.5.4 + clap_lex@0.7.0 + colorchoice@1.0.1 + compact_str@0.7.1 + core-foundation-sys@0.8.6 + crc32fast@1.4.0 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + either@1.11.0 + equivalent@1.0.1 + errno@0.3.8 + fastrand@2.1.0 + flate2@1.0.30 + hashbrown@0.14.5 + heck@0.4.1 + heck@0.5.0 + hex@0.4.3 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + indexmap@2.2.6 + indoc@2.0.5 + is_terminal_polyfill@1.70.0 + itertools@0.12.1 + itoa@1.0.11 + js-sys@0.3.69 + lazy_static@1.4.0 + libbpf-cargo@0.23.1 + libbpf-rs@0.23.1 + libbpf-sys@1.4.1+v1.4.0 + libc@0.2.154 + linux-raw-sys@0.4.13 + lock_api@0.4.12 + log@0.4.21 + lru@0.12.3 + memchr@2.7.2 + memmap2@0.5.10 + miniz_oxide@0.7.2 + mio@0.8.11 + nix@0.27.1 + nix@0.28.0 + nu-ansi-term@0.46.0 + num-traits@0.2.19 + num_enum@0.5.11 + num_enum_derive@0.5.11 + once_cell@1.19.0 + overload@0.1.1 + parking_lot@0.12.2 + parking_lot_core@0.9.10 + paste@1.0.15 + pin-project-lite@0.2.14 + pkg-config@0.3.30 + proc-macro-crate@1.3.1 + proc-macro2@1.0.82 + procfs-core@0.16.0 + procfs@0.16.0 + quote@1.0.36 + ratatui@0.26.2 + redox_syscall@0.5.1 + regex-automata@0.4.6 + regex-syntax@0.8.3 + regex@1.10.4 + rustix@0.38.34 + rustversion@1.0.16 + ryu@1.0.18 + scopeguard@1.2.0 + scroll@0.11.0 + scroll_derive@0.11.1 + semver@1.0.23 + serde@1.0.201 + serde_derive@1.0.201 + serde_json@1.0.117 + sharded-slab@0.1.7 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + smallvec@1.13.2 + stability@0.2.0 + static_assertions@1.1.0 + strsim@0.11.1 + strum@0.26.2 + strum_macros@0.24.3 + strum_macros@0.26.2 + syn@1.0.109 + syn@2.0.61 + tempfile@3.10.1 + thiserror-impl@1.0.60 + thiserror@1.0.60 + thread_local@1.1.8 + toml_datetime@0.6.5 + toml_edit@0.19.15 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-journald@0.3.0 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing@0.1.40 + tui-input@0.8.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.12 + utf8parse@0.2.1 + valuable@0.1.0 + version_check@0.9.4 + vsprintf@2.0.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + winapi-i686-pc-windows-gnu@0.4.0 + 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-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winnow@0.5.40 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 +" + +inherit desktop cargo + +DESCRIPTION="Process monitor for BPF programs" +HOMEPAGE="https://github.com/Netflix/bpftop" +SRC_URI=" + https://github.com/Netflix/bpftop/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + BSD-2 BSD MIT Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +DOCS=( + README.md +) + +src_install() { + cargo_src_install + + doicon bpftop-logo.png + make_desktop_entry /usr/bin/${PN} bpftop-logo.png Development +} diff --git a/dev-util/bpftop/bpftop-0.5.1.ebuild b/dev-util/bpftop/bpftop-0.5.1.ebuild deleted file mode 100644 index 1104d45155a3..000000000000 --- a/dev-util/bpftop/bpftop-0.5.1.ebuild +++ /dev/null @@ -1,203 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.0.3 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - anyhow@1.0.83 - autocfg@1.3.0 - bitflags@2.5.0 - bumpalo@3.16.0 - camino@1.1.6 - cargo-platform@0.1.8 - cargo_metadata@0.15.4 - cassowary@0.3.0 - castaway@0.2.2 - cc@1.0.97 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - chrono@0.4.38 - circular-buffer@0.1.7 - clap@4.5.4 - clap_builder@4.5.2 - clap_derive@4.5.4 - clap_lex@0.7.0 - colorchoice@1.0.1 - compact_str@0.7.1 - core-foundation-sys@0.8.6 - crc32fast@1.4.0 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - either@1.11.0 - equivalent@1.0.1 - errno@0.3.8 - fastrand@2.1.0 - flate2@1.0.30 - hashbrown@0.14.5 - heck@0.4.1 - heck@0.5.0 - hex@0.4.3 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - indexmap@2.2.6 - indoc@2.0.5 - is_terminal_polyfill@1.70.0 - itertools@0.12.1 - itoa@1.0.11 - js-sys@0.3.69 - lazy_static@1.4.0 - libbpf-cargo@0.23.1 - libbpf-rs@0.23.1 - libbpf-sys@1.4.1+v1.4.0 - libc@0.2.154 - linux-raw-sys@0.4.13 - lock_api@0.4.12 - log@0.4.21 - lru@0.12.3 - memchr@2.7.2 - memmap2@0.5.10 - miniz_oxide@0.7.2 - mio@0.8.11 - nix@0.27.1 - nix@0.28.0 - nu-ansi-term@0.46.0 - num-traits@0.2.19 - num_enum@0.5.11 - num_enum_derive@0.5.11 - once_cell@1.19.0 - overload@0.1.1 - parking_lot@0.12.2 - parking_lot_core@0.9.10 - paste@1.0.15 - pin-project-lite@0.2.14 - pkg-config@0.3.30 - proc-macro-crate@1.3.1 - proc-macro2@1.0.82 - procfs-core@0.16.0 - procfs@0.16.0 - quote@1.0.36 - ratatui@0.26.2 - redox_syscall@0.5.1 - regex-automata@0.4.6 - regex-syntax@0.8.3 - regex@1.10.4 - rustix@0.38.34 - rustversion@1.0.16 - ryu@1.0.18 - scopeguard@1.2.0 - scroll@0.11.0 - scroll_derive@0.11.1 - semver@1.0.23 - serde@1.0.201 - serde_derive@1.0.201 - serde_json@1.0.117 - sharded-slab@0.1.7 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - smallvec@1.13.2 - stability@0.2.0 - static_assertions@1.1.0 - strsim@0.11.1 - strum@0.26.2 - strum_macros@0.24.3 - strum_macros@0.26.2 - syn@1.0.109 - syn@2.0.61 - tempfile@3.10.1 - thiserror-impl@1.0.60 - thiserror@1.0.60 - thread_local@1.1.8 - toml_datetime@0.6.5 - toml_edit@0.19.15 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-journald@0.3.0 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing@0.1.40 - tui-input@0.8.0 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-width@0.1.12 - utf8parse@0.2.1 - valuable@0.1.0 - version_check@0.9.4 - vsprintf@2.0.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - winapi-i686-pc-windows-gnu@0.4.0 - 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-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winnow@0.5.40 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 -" - -inherit desktop cargo - -DESCRIPTION="Process monitor for BPF programs" -HOMEPAGE="https://github.com/Netflix/bpftop" -SRC_URI=" - https://github.com/Netflix/bpftop/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - BSD-2 BSD MIT Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -DOCS=( - README.md -) - -src_install() { - cargo_src_install - - doicon bpftop-logo.png - make_desktop_entry /usr/bin/${PN} bpftop-logo.png Development -} diff --git a/dev-util/bugbite-cli/bugbite-cli-0.0.12-r1.ebuild b/dev-util/bugbite-cli/bugbite-cli-0.0.12-r1.ebuild new file mode 100644 index 000000000000..b8f9a8d31389 --- /dev/null +++ b/dev-util/bugbite-cli/bugbite-cli-0.0.12-r1.ebuild @@ -0,0 +1,50 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RUST_MIN_VER="1.79.0" + +inherit cargo edo shell-completion + +DESCRIPTION="A command line tool for bug, issue, and ticket mangling" +HOMEPAGE="https://github.com/radhermit/bugbite" +SRC_URI="https://github.com/radhermit/bugbite/releases/download/${P}/${P}.tar.xz" +LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE="static test" +RESTRICT="!test? ( test ) " + +BDEPEND=" + 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!" + export RUSTFLAGS="-C target-feature=+crt-static ${RUSTFLAGS}" + export static_stuff="--target ${rust_target}" + fi +} + +src_configure() { + cargo_src_configure ${static_stuff} +} + +src_test() { + edo ${CARGO} nextest run $(usev !debug '--release') --color always --features test --tests ${static_stuff} +} + +src_install() { + cargo_src_install + + doman man/* + dofishcomp shell/bite.fish + dozshcomp shell/_bite + newbashcomp shell/bite.bash bite +} diff --git a/dev-util/bugbite-cli/bugbite-cli-0.0.12.ebuild b/dev-util/bugbite-cli/bugbite-cli-0.0.12.ebuild deleted file mode 100644 index c6f7e464be0b..000000000000 --- a/dev-util/bugbite-cli/bugbite-cli-0.0.12.ebuild +++ /dev/null @@ -1,48 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cargo edo shell-completion - -DESCRIPTION="A command line tool for bug, issue, and ticket mangling" -HOMEPAGE="https://github.com/radhermit/bugbite" -SRC_URI="https://github.com/radhermit/bugbite/releases/download/${P}/${P}.tar.xz" -LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" -IUSE="static test" -RESTRICT="!test? ( test ) " - -BDEPEND=" - >=virtual/rust-1.79 - test? ( dev-util/cargo-nextest ) -" - -QA_FLAGS_IGNORED="usr/bin/bite" - -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!" - export RUSTFLAGS="-C target-feature=+crt-static ${RUSTFLAGS}" - export static_stuff="--target ${rust_target}" - fi -} - -src_configure() { - cargo_src_configure ${static_stuff} -} - -src_test() { - edo cargo nextest run $(usev !debug '--release') --color always --features test --tests ${static_stuff} -} - -src_install() { - cargo_src_install - - doman man/* - dofishcomp shell/bite.fish - dozshcomp shell/_bite - newbashcomp shell/bite.bash bite -} 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-r1.ebuild b/dev-util/cargo-audit/cargo-audit-0.20.1-r1.ebuild new file mode 100644 index 000000000000..cb1193b7ee72 --- /dev/null +++ b/dev-util/cargo-audit/cargo-audit-0.20.1-r1.ebuild @@ -0,0 +1,404 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + abscissa_core@0.7.0 + abscissa_derive@0.7.0 + addr2line@0.21.0 + adler@1.0.2 + aho-corasick@1.1.2 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.11 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.5 + arc-swap@1.6.0 + arrayvec@0.7.4 + askama@0.12.1 + askama_derive@0.12.5 + askama_escape@0.10.3 + askama_parser@0.2.1 + async-compression@0.4.6 + atom_syndication@0.12.2 + auditable-extract@0.3.2 + auditable-info@0.7.0 + auditable-serde@0.6.0 + autocfg@1.1.0 + backtrace@0.3.69 + base64@0.21.7 + basic-toml@0.1.8 + binfarce@0.2.1 + bitflags@1.3.2 + bitflags@2.4.2 + block-buffer@0.10.4 + bstr@1.9.0 + btoi@0.4.3 + bumpalo@3.14.0 + bytes@1.5.0 + camino@1.1.6 + canonical-path@2.0.2 + cc@1.0.83 + cfg-if@1.0.0 + chrono@0.4.34 + clap@4.4.18 + clap_builder@4.4.18 + clap_derive@4.4.7 + clap_lex@0.6.0 + clru@0.6.1 + color-eyre@0.6.2 + colorchoice@1.0.0 + comrak@0.21.0 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.3.2 + crossbeam-channel@0.5.11 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossbeam@0.8.4 + crypto-common@0.1.6 + darling@0.14.4 + darling_core@0.14.4 + darling_macro@0.14.4 + deranged@0.3.11 + derive_builder@0.12.0 + derive_builder_core@0.12.0 + derive_builder_macro@0.12.0 + deunicode@1.4.2 + digest@0.10.7 + diligent-date-parser@0.1.4 + display-error-chain@0.2.0 + dunce@1.0.4 + either@1.9.0 + encoding_rs@0.8.33 + entities@1.0.1 + equivalent@1.0.1 + errno@0.3.8 + eyre@0.6.12 + faster-hex@0.9.0 + fastrand@2.0.1 + filetime@0.2.23 + fixedbitset@0.4.2 + flate2@1.0.28 + fnv@1.0.7 + form_urlencoded@1.2.1 + fs-err@2.11.0 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-io@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + generic-array@0.14.7 + getrandom@0.2.12 + gimli@0.28.1 + gix-actor@0.30.0 + gix-attributes@0.22.0 + gix-bitmap@0.2.10 + gix-chunk@0.4.7 + gix-command@0.3.3 + gix-commitgraph@0.24.0 + gix-config-value@0.14.4 + gix-config@0.34.0 + gix-credentials@0.24.0 + gix-date@0.8.3 + gix-diff@0.40.0 + gix-discover@0.29.0 + gix-features@0.38.0 + gix-filter@0.9.0 + gix-fs@0.10.0 + gix-glob@0.16.0 + gix-hash@0.14.1 + gix-hashtable@0.5.1 + gix-ignore@0.11.0 + gix-index@0.29.0 + gix-lock@13.0.0 + gix-macros@0.1.3 + gix-negotiate@0.12.0 + gix-object@0.41.0 + gix-odb@0.57.0 + gix-pack@0.47.0 + gix-packetline-blocking@0.17.3 + gix-packetline@0.17.3 + gix-path@0.10.5 + gix-pathspec@0.6.0 + gix-prompt@0.8.2 + gix-protocol@0.44.0 + gix-quote@0.4.10 + gix-ref@0.41.0 + gix-refspec@0.22.0 + gix-revision@0.26.0 + gix-revwalk@0.12.0 + gix-sec@0.10.4 + gix-submodule@0.8.0 + gix-tempfile@13.0.0 + gix-trace@0.1.7 + gix-transport@0.41.0 + gix-traverse@0.37.0 + gix-url@0.27.0 + gix-utils@0.1.9 + gix-validate@0.8.3 + gix-worktree-state@0.7.0 + gix-worktree@0.30.0 + gix@0.58.0 + gumdrop@0.8.1 + gumdrop_derive@0.8.1 + h2@0.3.24 + hashbrown@0.14.3 + heck@0.4.1 + hermit-abi@0.3.4 + home@0.5.9 + http-body@0.4.6 + http@0.2.11 + httparse@1.8.0 + httpdate@1.0.3 + humansize@2.1.3 + hyper-rustls@0.24.2 + hyper@0.14.28 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + idna@0.5.0 + indenter@0.3.3 + indexmap@2.2.2 + io-close@0.3.7 + ipnet@2.9.0 + is-terminal@0.4.12 + itoa@1.0.10 + js-sys@0.3.67 + jwalk@0.8.1 + kstring@2.0.0 + lazy_static@1.4.0 + libc@0.2.153 + libm@0.2.8 + linux-raw-sys@0.4.13 + lock_api@0.4.11 + log@0.4.20 + matchers@0.1.0 + maybe-async@0.2.9 + memchr@2.7.1 + memmap2@0.9.4 + mime@0.3.17 + mime_guess@2.0.4 + minimal-lexical@0.2.1 + miniz_oxide@0.6.2 + miniz_oxide@0.7.1 + mio@0.8.10 + never@0.1.0 + nom@7.1.3 + nu-ansi-term@0.46.0 + num-conv@0.1.0 + num-traits@0.2.17 + num_cpus@1.16.0 + num_threads@0.1.6 + object@0.32.2 + once_cell@1.19.0 + openssl-probe@0.1.5 + overload@0.1.1 + owo-colors@3.5.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + percent-encoding@2.3.1 + petgraph@0.6.4 + pin-project-lite@0.2.13 + pin-utils@0.1.0 + powerfmt@0.2.0 + proc-macro2@1.0.78 + prodash@28.0.0 + quick-xml@0.30.0 + quote@1.0.35 + rayon-core@1.12.1 + rayon@1.8.1 + redox_syscall@0.4.1 + regex-automata@0.1.10 + regex-automata@0.4.5 + regex-syntax@0.6.29 + regex-syntax@0.8.2 + regex@1.10.3 + reqwest@0.11.24 + ring@0.17.7 + rust-embed-impl@8.2.0 + rust-embed-utils@8.2.0 + rust-embed@8.2.0 + rustc-demangle@0.1.23 + rustix@0.38.31 + rustls-native-certs@0.6.3 + rustls-pemfile@1.0.4 + rustls-webpki@0.101.7 + rustls@0.21.10 + rustsec@0.28.6 + ryu@1.0.16 + same-file@1.0.6 + schannel@0.1.23 + scopeguard@1.2.0 + sct@0.7.1 + secrecy@0.8.0 + security-framework-sys@2.9.1 + security-framework@2.9.2 + semver@1.0.21 + serde@1.0.196 + serde_derive@1.0.196 + serde_json@1.0.113 + serde_spanned@0.6.5 + serde_urlencoded@0.7.1 + sha1_smol@1.0.0 + sha2@0.10.8 + sharded-slab@0.1.7 + shell-words@1.1.0 + slab@0.4.9 + slug@0.1.5 + smallvec@1.13.1 + smol_str@0.2.1 + socket2@0.5.5 + spin@0.9.8 + static_assertions@1.1.0 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.48 + sync_wrapper@0.1.2 + synstructure@0.12.6 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tame-index@0.9.3 + tempfile@3.9.0 + termcolor@1.4.1 + thiserror-impl@1.0.56 + thiserror@1.0.56 + thread_local@1.1.7 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio-rustls@0.24.1 + tokio-util@0.7.10 + tokio@1.36.0 + toml@0.5.11 + toml@0.7.8 + toml@0.8.9 + toml_datetime@0.6.5 + toml_edit@0.19.15 + toml_edit@0.21.1 + toml_edit@0.22.5 + topological-sort@0.2.2 + tower-service@0.3.2 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.1.4 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing@0.1.40 + try-lock@0.2.5 + twox-hash@1.6.3 + typed-arena@2.0.2 + typenum@1.17.0 + uluru@3.0.0 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-bom@2.0.3 + unicode-ident@1.0.12 + unicode-normalization@0.1.22 + unicode-xid@0.2.4 + unicode_categories@0.1.1 + untrusted@0.9.0 + url@2.5.0 + utf8parse@0.2.1 + valuable@0.1.0 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.4.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.90 + wasm-bindgen-futures@0.4.40 + wasm-bindgen-macro-support@0.2.90 + wasm-bindgen-macro@0.2.90 + wasm-bindgen-shared@0.2.90 + wasm-bindgen@0.2.90 + web-sys@0.3.67 + webpki-roots@0.25.4 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + 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-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.36 + winnow@0.6.1 + winreg@0.50.0 + xml-rs@0.8.19 + zeroize@1.7.0 +" + +inherit cargo + +DESCRIPTION="Audit Cargo.lock for crates with security vulnerabilities" +HOMEPAGE="https://rustsec.org https://github.com/rustsec/cargo-audit" +SRC_URI=" + https://github.com/RustSec/rustsec/archive/refs/tags/${PN}/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/rustsec-${PN}-v${PV}" + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64 ~ppc64" +IUSE="fix" + +RDEPEND="dev-libs/openssl:=" +DEPEND="${RDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +# requires checkout of vuln db/network +PROPERTIES="test_network" +RESTRICT="test" + +src_configure() { + local myfeatures=( + $(usev fix) + ) + + cargo_src_configure +} + +src_compile() { + # normally we can pass --bin cargo-audit + # to build single workspace member, but we need to cd + # for tests to be discovered properly + cd cargo-audit || die + cargo_src_compile +} + +src_install() { + cargo_src_install --path cargo-audit + local DOCS=( cargo-audit/{README.md,audit.toml.example} ) + einstalldocs +} diff --git a/dev-util/cargo-audit/cargo-audit-0.20.1.ebuild b/dev-util/cargo-audit/cargo-audit-0.20.1.ebuild deleted file mode 100644 index cb1193b7ee72..000000000000 --- a/dev-util/cargo-audit/cargo-audit-0.20.1.ebuild +++ /dev/null @@ -1,404 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - abscissa_core@0.7.0 - abscissa_derive@0.7.0 - addr2line@0.21.0 - adler@1.0.2 - aho-corasick@1.1.2 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.11 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.5 - arc-swap@1.6.0 - arrayvec@0.7.4 - askama@0.12.1 - askama_derive@0.12.5 - askama_escape@0.10.3 - askama_parser@0.2.1 - async-compression@0.4.6 - atom_syndication@0.12.2 - auditable-extract@0.3.2 - auditable-info@0.7.0 - auditable-serde@0.6.0 - autocfg@1.1.0 - backtrace@0.3.69 - base64@0.21.7 - basic-toml@0.1.8 - binfarce@0.2.1 - bitflags@1.3.2 - bitflags@2.4.2 - block-buffer@0.10.4 - bstr@1.9.0 - btoi@0.4.3 - bumpalo@3.14.0 - bytes@1.5.0 - camino@1.1.6 - canonical-path@2.0.2 - cc@1.0.83 - cfg-if@1.0.0 - chrono@0.4.34 - clap@4.4.18 - clap_builder@4.4.18 - clap_derive@4.4.7 - clap_lex@0.6.0 - clru@0.6.1 - color-eyre@0.6.2 - colorchoice@1.0.0 - comrak@0.21.0 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.3.2 - crossbeam-channel@0.5.11 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.19 - crossbeam@0.8.4 - crypto-common@0.1.6 - darling@0.14.4 - darling_core@0.14.4 - darling_macro@0.14.4 - deranged@0.3.11 - derive_builder@0.12.0 - derive_builder_core@0.12.0 - derive_builder_macro@0.12.0 - deunicode@1.4.2 - digest@0.10.7 - diligent-date-parser@0.1.4 - display-error-chain@0.2.0 - dunce@1.0.4 - either@1.9.0 - encoding_rs@0.8.33 - entities@1.0.1 - equivalent@1.0.1 - errno@0.3.8 - eyre@0.6.12 - faster-hex@0.9.0 - fastrand@2.0.1 - filetime@0.2.23 - fixedbitset@0.4.2 - flate2@1.0.28 - fnv@1.0.7 - form_urlencoded@1.2.1 - fs-err@2.11.0 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-io@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - generic-array@0.14.7 - getrandom@0.2.12 - gimli@0.28.1 - gix-actor@0.30.0 - gix-attributes@0.22.0 - gix-bitmap@0.2.10 - gix-chunk@0.4.7 - gix-command@0.3.3 - gix-commitgraph@0.24.0 - gix-config-value@0.14.4 - gix-config@0.34.0 - gix-credentials@0.24.0 - gix-date@0.8.3 - gix-diff@0.40.0 - gix-discover@0.29.0 - gix-features@0.38.0 - gix-filter@0.9.0 - gix-fs@0.10.0 - gix-glob@0.16.0 - gix-hash@0.14.1 - gix-hashtable@0.5.1 - gix-ignore@0.11.0 - gix-index@0.29.0 - gix-lock@13.0.0 - gix-macros@0.1.3 - gix-negotiate@0.12.0 - gix-object@0.41.0 - gix-odb@0.57.0 - gix-pack@0.47.0 - gix-packetline-blocking@0.17.3 - gix-packetline@0.17.3 - gix-path@0.10.5 - gix-pathspec@0.6.0 - gix-prompt@0.8.2 - gix-protocol@0.44.0 - gix-quote@0.4.10 - gix-ref@0.41.0 - gix-refspec@0.22.0 - gix-revision@0.26.0 - gix-revwalk@0.12.0 - gix-sec@0.10.4 - gix-submodule@0.8.0 - gix-tempfile@13.0.0 - gix-trace@0.1.7 - gix-transport@0.41.0 - gix-traverse@0.37.0 - gix-url@0.27.0 - gix-utils@0.1.9 - gix-validate@0.8.3 - gix-worktree-state@0.7.0 - gix-worktree@0.30.0 - gix@0.58.0 - gumdrop@0.8.1 - gumdrop_derive@0.8.1 - h2@0.3.24 - hashbrown@0.14.3 - heck@0.4.1 - hermit-abi@0.3.4 - home@0.5.9 - http-body@0.4.6 - http@0.2.11 - httparse@1.8.0 - httpdate@1.0.3 - humansize@2.1.3 - hyper-rustls@0.24.2 - hyper@0.14.28 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - idna@0.5.0 - indenter@0.3.3 - indexmap@2.2.2 - io-close@0.3.7 - ipnet@2.9.0 - is-terminal@0.4.12 - itoa@1.0.10 - js-sys@0.3.67 - jwalk@0.8.1 - kstring@2.0.0 - lazy_static@1.4.0 - libc@0.2.153 - libm@0.2.8 - linux-raw-sys@0.4.13 - lock_api@0.4.11 - log@0.4.20 - matchers@0.1.0 - maybe-async@0.2.9 - memchr@2.7.1 - memmap2@0.9.4 - mime@0.3.17 - mime_guess@2.0.4 - minimal-lexical@0.2.1 - miniz_oxide@0.6.2 - miniz_oxide@0.7.1 - mio@0.8.10 - never@0.1.0 - nom@7.1.3 - nu-ansi-term@0.46.0 - num-conv@0.1.0 - num-traits@0.2.17 - num_cpus@1.16.0 - num_threads@0.1.6 - object@0.32.2 - once_cell@1.19.0 - openssl-probe@0.1.5 - overload@0.1.1 - owo-colors@3.5.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - percent-encoding@2.3.1 - petgraph@0.6.4 - pin-project-lite@0.2.13 - pin-utils@0.1.0 - powerfmt@0.2.0 - proc-macro2@1.0.78 - prodash@28.0.0 - quick-xml@0.30.0 - quote@1.0.35 - rayon-core@1.12.1 - rayon@1.8.1 - redox_syscall@0.4.1 - regex-automata@0.1.10 - regex-automata@0.4.5 - regex-syntax@0.6.29 - regex-syntax@0.8.2 - regex@1.10.3 - reqwest@0.11.24 - ring@0.17.7 - rust-embed-impl@8.2.0 - rust-embed-utils@8.2.0 - rust-embed@8.2.0 - rustc-demangle@0.1.23 - rustix@0.38.31 - rustls-native-certs@0.6.3 - rustls-pemfile@1.0.4 - rustls-webpki@0.101.7 - rustls@0.21.10 - rustsec@0.28.6 - ryu@1.0.16 - same-file@1.0.6 - schannel@0.1.23 - scopeguard@1.2.0 - sct@0.7.1 - secrecy@0.8.0 - security-framework-sys@2.9.1 - security-framework@2.9.2 - semver@1.0.21 - serde@1.0.196 - serde_derive@1.0.196 - serde_json@1.0.113 - serde_spanned@0.6.5 - serde_urlencoded@0.7.1 - sha1_smol@1.0.0 - sha2@0.10.8 - sharded-slab@0.1.7 - shell-words@1.1.0 - slab@0.4.9 - slug@0.1.5 - smallvec@1.13.1 - smol_str@0.2.1 - socket2@0.5.5 - spin@0.9.8 - static_assertions@1.1.0 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.48 - sync_wrapper@0.1.2 - synstructure@0.12.6 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tame-index@0.9.3 - tempfile@3.9.0 - termcolor@1.4.1 - thiserror-impl@1.0.56 - thiserror@1.0.56 - thread_local@1.1.7 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tokio-rustls@0.24.1 - tokio-util@0.7.10 - tokio@1.36.0 - toml@0.5.11 - toml@0.7.8 - toml@0.8.9 - toml_datetime@0.6.5 - toml_edit@0.19.15 - toml_edit@0.21.1 - toml_edit@0.22.5 - topological-sort@0.2.2 - tower-service@0.3.2 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.1.4 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing@0.1.40 - try-lock@0.2.5 - twox-hash@1.6.3 - typed-arena@2.0.2 - typenum@1.17.0 - uluru@3.0.0 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-bom@2.0.3 - unicode-ident@1.0.12 - unicode-normalization@0.1.22 - unicode-xid@0.2.4 - unicode_categories@0.1.1 - untrusted@0.9.0 - url@2.5.0 - utf8parse@0.2.1 - valuable@0.1.0 - version_check@0.9.4 - wait-timeout@0.2.0 - walkdir@2.4.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.90 - wasm-bindgen-futures@0.4.40 - wasm-bindgen-macro-support@0.2.90 - wasm-bindgen-macro@0.2.90 - wasm-bindgen-shared@0.2.90 - wasm-bindgen@0.2.90 - web-sys@0.3.67 - webpki-roots@0.25.4 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - 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-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.36 - winnow@0.6.1 - winreg@0.50.0 - xml-rs@0.8.19 - zeroize@1.7.0 -" - -inherit cargo - -DESCRIPTION="Audit Cargo.lock for crates with security vulnerabilities" -HOMEPAGE="https://rustsec.org https://github.com/rustsec/cargo-audit" -SRC_URI=" - https://github.com/RustSec/rustsec/archive/refs/tags/${PN}/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}/rustsec-${PN}-v${PV}" - -LICENSE="|| ( Apache-2.0 MIT )" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64 ~ppc64" -IUSE="fix" - -RDEPEND="dev-libs/openssl:=" -DEPEND="${RDEPEND}" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -# requires checkout of vuln db/network -PROPERTIES="test_network" -RESTRICT="test" - -src_configure() { - local myfeatures=( - $(usev fix) - ) - - cargo_src_configure -} - -src_compile() { - # normally we can pass --bin cargo-audit - # to build single workspace member, but we need to cd - # for tests to be discovered properly - cd cargo-audit || die - cargo_src_compile -} - -src_install() { - cargo_src_install --path cargo-audit - local DOCS=( cargo-audit/{README.md,audit.toml.example} ) - einstalldocs -} diff --git a/dev-util/cargo-audit/cargo-audit-0.21.0-r1.ebuild b/dev-util/cargo-audit/cargo-audit-0.21.0-r1.ebuild new file mode 100644 index 000000000000..6fdfa5b0f742 --- /dev/null +++ b/dev-util/cargo-audit/cargo-audit-0.21.0-r1.ebuild @@ -0,0 +1,414 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + abscissa_core@0.8.1 + abscissa_derive@0.8.0 + addr2line@0.21.0 + adler2@2.0.0 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.17 + anstyle-parse@0.2.6 + anstyle-query@1.1.2 + anstyle-wincon@3.0.6 + anstyle@1.0.9 + arc-swap@1.7.1 + arrayvec@0.7.6 + askama@0.12.1 + askama_derive@0.12.5 + askama_escape@0.10.3 + askama_parser@0.2.1 + async-compression@0.4.17 + atom_syndication@0.12.4 + atomic-waker@1.1.2 + auditable-extract@0.3.5 + auditable-info@0.8.0 + auditable-serde@0.7.0 + autocfg@1.4.0 + backtrace@0.3.71 + base64@0.22.1 + basic-toml@0.1.9 + binfarce@0.2.1 + bitflags@2.6.0 + block-buffer@0.10.4 + borsh@1.5.1 + bstr@1.10.0 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.8.0 + camino@1.1.9 + canonical-path@2.0.2 + cc@1.1.31 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + chrono@0.4.38 + clap@4.5.20 + clap_builder@4.5.20 + clap_derive@4.5.18 + clap_lex@0.7.2 + clru@0.6.2 + color-eyre@0.6.3 + colorchoice@1.0.3 + comrak@0.24.1 + core-foundation-sys@0.8.7 + core-foundation@0.9.4 + cpufeatures@0.2.14 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crypto-common@0.1.6 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + deranged@0.3.11 + derive_builder@0.20.2 + derive_builder_core@0.20.2 + derive_builder_macro@0.20.2 + deunicode@1.6.0 + digest@0.10.7 + diligent-date-parser@0.1.4 + display-error-chain@0.2.2 + dunce@1.0.5 + either@1.13.0 + encoding_rs@0.8.35 + entities@1.0.1 + equivalent@1.0.1 + errno@0.3.9 + eyre@0.6.12 + faster-hex@0.9.0 + fastrand@2.1.1 + filetime@0.2.25 + fixedbitset@0.4.2 + flate2@1.0.34 + fnv@1.0.7 + form_urlencoded@1.2.1 + fs-err@2.11.0 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-io@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-util@0.3.31 + generic-array@0.14.7 + getrandom@0.2.15 + gimli@0.28.1 + gix-actor@0.32.0 + gix-attributes@0.22.5 + gix-bitmap@0.2.12 + gix-chunk@0.4.9 + gix-command@0.3.10 + gix-commitgraph@0.24.3 + gix-config-value@0.14.9 + gix-config@0.40.0 + gix-credentials@0.24.5 + gix-date@0.9.1 + gix-diff@0.46.0 + gix-discover@0.35.0 + gix-features@0.38.2 + gix-filter@0.13.0 + gix-fs@0.11.3 + gix-glob@0.16.5 + gix-hash@0.14.2 + gix-hashtable@0.5.2 + gix-ignore@0.11.4 + gix-index@0.35.0 + gix-lock@14.0.0 + gix-negotiate@0.15.0 + gix-object@0.44.0 + gix-odb@0.63.0 + gix-pack@0.53.0 + gix-packetline-blocking@0.17.5 + gix-packetline@0.17.6 + gix-path@0.10.12 + gix-pathspec@0.7.7 + gix-prompt@0.8.8 + gix-protocol@0.45.3 + gix-quote@0.4.13 + gix-ref@0.47.0 + gix-refspec@0.25.0 + gix-revision@0.29.0 + gix-revwalk@0.15.0 + gix-sec@0.10.9 + gix-submodule@0.14.0 + gix-tempfile@14.0.2 + gix-trace@0.1.11 + gix-transport@0.42.3 + gix-traverse@0.41.0 + gix-url@0.27.5 + gix-utils@0.1.13 + gix-validate@0.9.1 + gix-worktree-state@0.13.0 + gix-worktree@0.36.0 + gix@0.66.0 + gumdrop@0.8.1 + gumdrop_derive@0.8.1 + h2@0.4.6 + hashbrown@0.14.5 + hashbrown@0.15.0 + heck@0.5.0 + hermit-abi@0.3.9 + home@0.5.9 + http-body-util@0.1.2 + http-body@1.0.1 + http@1.1.0 + httparse@1.9.5 + humansize@2.1.3 + hyper-rustls@0.27.3 + hyper-util@0.1.10 + hyper@1.5.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.61 + ident_case@1.0.1 + idna@0.5.0 + indenter@0.3.3 + indexmap@2.6.0 + io-close@0.3.7 + ipnet@2.10.1 + is_terminal_polyfill@1.70.1 + itoa@1.0.11 + jiff-tzdb-platform@0.1.1 + jiff-tzdb@0.1.1 + jiff@0.1.13 + js-sys@0.3.72 + kstring@2.0.2 + lazy_static@1.5.0 + libc@0.2.161 + libm@0.2.10 + libredox@0.1.3 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + matchers@0.1.0 + maybe-async@0.2.10 + memchr@2.7.4 + memmap2@0.9.5 + mime@0.3.17 + mime_guess@2.0.5 + minimal-lexical@0.2.1 + miniz_oxide@0.6.2 + miniz_oxide@0.7.4 + miniz_oxide@0.8.0 + mio@1.0.2 + never@0.1.0 + nom@7.1.3 + nu-ansi-term@0.46.0 + num-conv@0.1.0 + num-traits@0.2.19 + object@0.32.2 + once_cell@1.20.2 + openssl-probe@0.1.5 + overload@0.1.1 + owo-colors@3.5.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + percent-encoding@2.3.1 + petgraph@0.6.5 + pin-project-lite@0.2.15 + pin-utils@0.1.0 + powerfmt@0.2.0 + ppv-lite86@0.2.20 + proc-macro2@1.0.89 + prodash@28.0.0 + quick-xml@0.36.2 + quinn-proto@0.11.8 + quinn-udp@0.5.5 + quinn@0.11.5 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.7 + regex-automata@0.1.10 + regex-automata@0.4.8 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.1 + reqwest@0.12.8 + ring@0.17.8 + rust-embed-impl@8.5.0 + rust-embed-utils@8.5.0 + rust-embed@8.5.0 + rustc-demangle@0.1.24 + rustc-hash@2.0.0 + rustix@0.38.38 + rustls-native-certs@0.8.0 + rustls-pemfile@2.2.0 + rustls-pki-types@1.10.0 + rustls-webpki@0.102.8 + rustls@0.23.16 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.26 + scopeguard@1.2.0 + secrecy@0.10.3 + security-framework-sys@2.12.0 + security-framework@2.11.1 + semver@1.0.23 + serde@1.0.213 + serde_derive@1.0.213 + serde_json@1.0.132 + serde_spanned@0.6.8 + serde_urlencoded@0.7.1 + sha1_smol@1.0.1 + sha2@0.10.8 + sharded-slab@0.1.7 + shell-words@1.1.0 + shlex@1.3.0 + slab@0.4.9 + slug@0.1.6 + smallvec@1.13.2 + smol_str@0.3.2 + socket2@0.5.7 + spin@0.9.8 + static_assertions@1.1.0 + strsim@0.11.1 + subtle@2.6.1 + syn@1.0.109 + syn@2.0.85 + sync_wrapper@1.0.1 + synstructure@0.12.6 + system-configuration-sys@0.6.0 + system-configuration@0.6.1 + tame-index@0.14.0 + tempfile@3.13.0 + termcolor@1.4.1 + thiserror-impl@1.0.65 + thiserror@1.0.65 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tokio-rustls@0.26.0 + tokio-util@0.7.12 + tokio@1.41.0 + toml-span@0.3.0 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.22.22 + topological-sort@0.2.2 + tower-service@0.3.3 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing@0.1.40 + try-lock@0.2.5 + twox-hash@1.6.3 + typed-arena@2.0.2 + typenum@1.17.0 + uluru@3.1.0 + unicase@2.8.0 + unicode-bidi@0.3.17 + unicode-bom@2.0.3 + unicode-ident@1.0.13 + unicode-normalization@0.1.24 + unicode-xid@0.2.6 + unicode_categories@0.1.1 + untrusted@0.9.0 + url@2.5.2 + utf8parse@0.2.2 + valuable@0.1.0 + version_check@0.9.5 + wait-timeout@0.2.0 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.95 + wasm-bindgen-futures@0.4.45 + wasm-bindgen-macro-support@0.2.95 + wasm-bindgen-macro@0.2.95 + wasm-bindgen-shared@0.2.95 + wasm-bindgen@0.2.95 + wasmparser@0.207.0 + web-sys@0.3.72 + 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-registry@0.2.0 + windows-result@0.2.0 + windows-strings@0.1.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.52.6 + winnow@0.6.20 + xml-rs@0.8.22 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zeroize@1.8.1 +" + +inherit cargo + +DESCRIPTION="Audit Cargo.lock for crates with security vulnerabilities" +HOMEPAGE="https://rustsec.org https://github.com/rustsec/cargo-audit" +SRC_URI=" + https://github.com/RustSec/rustsec/archive/refs/tags/${PN}/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/rustsec-${PN}-v${PV}" + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0 + Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="~amd64 ~ppc64" +IUSE="fix" + +RDEPEND="dev-libs/openssl:=" +DEPEND="${RDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +# requires checkout of vuln db/network +PROPERTIES="test_network" +RESTRICT="test" + +src_configure() { + local myfeatures=( + $(usev fix) + ) + + cargo_src_configure +} + +src_compile() { + # normally we can pass --bin cargo-audit + # to build single workspace member, but we need to cd + # for tests to be discovered properly + cd cargo-audit || die + cargo_src_compile +} + +src_install() { + cargo_src_install --path cargo-audit + local DOCS=( cargo-audit/{README.md,audit.toml.example} ) + einstalldocs +} diff --git a/dev-util/cargo-audit/cargo-audit-0.21.0.ebuild b/dev-util/cargo-audit/cargo-audit-0.21.0.ebuild deleted file mode 100644 index 6fdfa5b0f742..000000000000 --- a/dev-util/cargo-audit/cargo-audit-0.21.0.ebuild +++ /dev/null @@ -1,414 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - abscissa_core@0.8.1 - abscissa_derive@0.8.0 - addr2line@0.21.0 - adler2@2.0.0 - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.17 - anstyle-parse@0.2.6 - anstyle-query@1.1.2 - anstyle-wincon@3.0.6 - anstyle@1.0.9 - arc-swap@1.7.1 - arrayvec@0.7.6 - askama@0.12.1 - askama_derive@0.12.5 - askama_escape@0.10.3 - askama_parser@0.2.1 - async-compression@0.4.17 - atom_syndication@0.12.4 - atomic-waker@1.1.2 - auditable-extract@0.3.5 - auditable-info@0.8.0 - auditable-serde@0.7.0 - autocfg@1.4.0 - backtrace@0.3.71 - base64@0.22.1 - basic-toml@0.1.9 - binfarce@0.2.1 - bitflags@2.6.0 - block-buffer@0.10.4 - borsh@1.5.1 - bstr@1.10.0 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.8.0 - camino@1.1.9 - canonical-path@2.0.2 - cc@1.1.31 - cfg-if@1.0.0 - cfg_aliases@0.2.1 - chrono@0.4.38 - clap@4.5.20 - clap_builder@4.5.20 - clap_derive@4.5.18 - clap_lex@0.7.2 - clru@0.6.2 - color-eyre@0.6.3 - colorchoice@1.0.3 - comrak@0.24.1 - core-foundation-sys@0.8.7 - core-foundation@0.9.4 - cpufeatures@0.2.14 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.20 - crypto-common@0.1.6 - darling@0.20.10 - darling_core@0.20.10 - darling_macro@0.20.10 - deranged@0.3.11 - derive_builder@0.20.2 - derive_builder_core@0.20.2 - derive_builder_macro@0.20.2 - deunicode@1.6.0 - digest@0.10.7 - diligent-date-parser@0.1.4 - display-error-chain@0.2.2 - dunce@1.0.5 - either@1.13.0 - encoding_rs@0.8.35 - entities@1.0.1 - equivalent@1.0.1 - errno@0.3.9 - eyre@0.6.12 - faster-hex@0.9.0 - fastrand@2.1.1 - filetime@0.2.25 - fixedbitset@0.4.2 - flate2@1.0.34 - fnv@1.0.7 - form_urlencoded@1.2.1 - fs-err@2.11.0 - futures-channel@0.3.31 - futures-core@0.3.31 - futures-io@0.3.31 - futures-sink@0.3.31 - futures-task@0.3.31 - futures-util@0.3.31 - generic-array@0.14.7 - getrandom@0.2.15 - gimli@0.28.1 - gix-actor@0.32.0 - gix-attributes@0.22.5 - gix-bitmap@0.2.12 - gix-chunk@0.4.9 - gix-command@0.3.10 - gix-commitgraph@0.24.3 - gix-config-value@0.14.9 - gix-config@0.40.0 - gix-credentials@0.24.5 - gix-date@0.9.1 - gix-diff@0.46.0 - gix-discover@0.35.0 - gix-features@0.38.2 - gix-filter@0.13.0 - gix-fs@0.11.3 - gix-glob@0.16.5 - gix-hash@0.14.2 - gix-hashtable@0.5.2 - gix-ignore@0.11.4 - gix-index@0.35.0 - gix-lock@14.0.0 - gix-negotiate@0.15.0 - gix-object@0.44.0 - gix-odb@0.63.0 - gix-pack@0.53.0 - gix-packetline-blocking@0.17.5 - gix-packetline@0.17.6 - gix-path@0.10.12 - gix-pathspec@0.7.7 - gix-prompt@0.8.8 - gix-protocol@0.45.3 - gix-quote@0.4.13 - gix-ref@0.47.0 - gix-refspec@0.25.0 - gix-revision@0.29.0 - gix-revwalk@0.15.0 - gix-sec@0.10.9 - gix-submodule@0.14.0 - gix-tempfile@14.0.2 - gix-trace@0.1.11 - gix-transport@0.42.3 - gix-traverse@0.41.0 - gix-url@0.27.5 - gix-utils@0.1.13 - gix-validate@0.9.1 - gix-worktree-state@0.13.0 - gix-worktree@0.36.0 - gix@0.66.0 - gumdrop@0.8.1 - gumdrop_derive@0.8.1 - h2@0.4.6 - hashbrown@0.14.5 - hashbrown@0.15.0 - heck@0.5.0 - hermit-abi@0.3.9 - home@0.5.9 - http-body-util@0.1.2 - http-body@1.0.1 - http@1.1.0 - httparse@1.9.5 - humansize@2.1.3 - hyper-rustls@0.27.3 - hyper-util@0.1.10 - hyper@1.5.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.61 - ident_case@1.0.1 - idna@0.5.0 - indenter@0.3.3 - indexmap@2.6.0 - io-close@0.3.7 - ipnet@2.10.1 - is_terminal_polyfill@1.70.1 - itoa@1.0.11 - jiff-tzdb-platform@0.1.1 - jiff-tzdb@0.1.1 - jiff@0.1.13 - js-sys@0.3.72 - kstring@2.0.2 - lazy_static@1.5.0 - libc@0.2.161 - libm@0.2.10 - libredox@0.1.3 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - matchers@0.1.0 - maybe-async@0.2.10 - memchr@2.7.4 - memmap2@0.9.5 - mime@0.3.17 - mime_guess@2.0.5 - minimal-lexical@0.2.1 - miniz_oxide@0.6.2 - miniz_oxide@0.7.4 - miniz_oxide@0.8.0 - mio@1.0.2 - never@0.1.0 - nom@7.1.3 - nu-ansi-term@0.46.0 - num-conv@0.1.0 - num-traits@0.2.19 - object@0.32.2 - once_cell@1.20.2 - openssl-probe@0.1.5 - overload@0.1.1 - owo-colors@3.5.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - percent-encoding@2.3.1 - petgraph@0.6.5 - pin-project-lite@0.2.15 - pin-utils@0.1.0 - powerfmt@0.2.0 - ppv-lite86@0.2.20 - proc-macro2@1.0.89 - prodash@28.0.0 - quick-xml@0.36.2 - quinn-proto@0.11.8 - quinn-udp@0.5.5 - quinn@0.11.5 - quote@1.0.37 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.5.7 - regex-automata@0.1.10 - regex-automata@0.4.8 - regex-syntax@0.6.29 - regex-syntax@0.8.5 - regex@1.11.1 - reqwest@0.12.8 - ring@0.17.8 - rust-embed-impl@8.5.0 - rust-embed-utils@8.5.0 - rust-embed@8.5.0 - rustc-demangle@0.1.24 - rustc-hash@2.0.0 - rustix@0.38.38 - rustls-native-certs@0.8.0 - rustls-pemfile@2.2.0 - rustls-pki-types@1.10.0 - rustls-webpki@0.102.8 - rustls@0.23.16 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.26 - scopeguard@1.2.0 - secrecy@0.10.3 - security-framework-sys@2.12.0 - security-framework@2.11.1 - semver@1.0.23 - serde@1.0.213 - serde_derive@1.0.213 - serde_json@1.0.132 - serde_spanned@0.6.8 - serde_urlencoded@0.7.1 - sha1_smol@1.0.1 - sha2@0.10.8 - sharded-slab@0.1.7 - shell-words@1.1.0 - shlex@1.3.0 - slab@0.4.9 - slug@0.1.6 - smallvec@1.13.2 - smol_str@0.3.2 - socket2@0.5.7 - spin@0.9.8 - static_assertions@1.1.0 - strsim@0.11.1 - subtle@2.6.1 - syn@1.0.109 - syn@2.0.85 - sync_wrapper@1.0.1 - synstructure@0.12.6 - system-configuration-sys@0.6.0 - system-configuration@0.6.1 - tame-index@0.14.0 - tempfile@3.13.0 - termcolor@1.4.1 - thiserror-impl@1.0.65 - thiserror@1.0.65 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - tokio-rustls@0.26.0 - tokio-util@0.7.12 - tokio@1.41.0 - toml-span@0.3.0 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.22.22 - topological-sort@0.2.2 - tower-service@0.3.3 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing@0.1.40 - try-lock@0.2.5 - twox-hash@1.6.3 - typed-arena@2.0.2 - typenum@1.17.0 - uluru@3.1.0 - unicase@2.8.0 - unicode-bidi@0.3.17 - unicode-bom@2.0.3 - unicode-ident@1.0.13 - unicode-normalization@0.1.24 - unicode-xid@0.2.6 - unicode_categories@0.1.1 - untrusted@0.9.0 - url@2.5.2 - utf8parse@0.2.2 - valuable@0.1.0 - version_check@0.9.5 - wait-timeout@0.2.0 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.95 - wasm-bindgen-futures@0.4.45 - wasm-bindgen-macro-support@0.2.95 - wasm-bindgen-macro@0.2.95 - wasm-bindgen-shared@0.2.95 - wasm-bindgen@0.2.95 - wasmparser@0.207.0 - web-sys@0.3.72 - 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-registry@0.2.0 - windows-result@0.2.0 - windows-strings@0.1.0 - windows-sys@0.52.0 - windows-sys@0.59.0 - windows-targets@0.52.6 - windows_aarch64_gnullvm@0.52.6 - windows_aarch64_msvc@0.52.6 - windows_i686_gnu@0.52.6 - windows_i686_gnullvm@0.52.6 - windows_i686_msvc@0.52.6 - windows_x86_64_gnu@0.52.6 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_msvc@0.52.6 - winnow@0.6.20 - xml-rs@0.8.22 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zeroize@1.8.1 -" - -inherit cargo - -DESCRIPTION="Audit Cargo.lock for crates with security vulnerabilities" -HOMEPAGE="https://rustsec.org https://github.com/rustsec/cargo-audit" -SRC_URI=" - https://github.com/RustSec/rustsec/archive/refs/tags/${PN}/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}/rustsec-${PN}-v${PV}" - -LICENSE="|| ( Apache-2.0 MIT )" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0 - Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="~amd64 ~ppc64" -IUSE="fix" - -RDEPEND="dev-libs/openssl:=" -DEPEND="${RDEPEND}" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -# requires checkout of vuln db/network -PROPERTIES="test_network" -RESTRICT="test" - -src_configure() { - local myfeatures=( - $(usev fix) - ) - - cargo_src_configure -} - -src_compile() { - # normally we can pass --bin cargo-audit - # to build single workspace member, but we need to cd - # for tests to be discovered properly - cd cargo-audit || die - cargo_src_compile -} - -src_install() { - cargo_src_install --path cargo-audit - local DOCS=( cargo-audit/{README.md,audit.toml.example} ) - einstalldocs -} diff --git a/dev-util/cargo-c/cargo-c-0.10.0-r1.ebuild b/dev-util/cargo-c/cargo-c-0.10.0-r1.ebuild new file mode 100644 index 000000000000..b76e05e5b0fc --- /dev/null +++ b/dev-util/cargo-c/cargo-c-0.10.0-r1.ebuild @@ -0,0 +1,394 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Auto-Generated by cargo-ebuild 0.5.4 + +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 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + annotate-snippets@0.11.4 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.1.0 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.86 + arc-swap@1.7.1 + autocfg@1.3.0 + base16ct@0.2.0 + base64@0.22.1 + base64ct@1.6.0 + bitflags@1.3.2 + bitflags@2.5.0 + bitmaps@2.1.0 + block-buffer@0.10.4 + bstr@1.9.1 + bumpalo@3.16.0 + bytes@1.6.0 + bytesize@1.3.0 + cargo-credential-libsecret@0.4.5 + cargo-credential-macos-keychain@0.4.5 + cargo-credential-wincred@0.4.5 + cargo-credential@0.4.5 + cargo-platform@0.1.8 + cargo-util-schemas@0.3.1 + cargo-util@0.2.12 + cargo@0.80.0 + cbindgen@0.26.0 + cc@1.0.99 + cfg-if@1.0.0 + clap@4.5.7 + clap_builder@4.5.7 + clap_derive@4.5.5 + clap_lex@0.7.1 + clru@0.6.2 + color-print-proc-macro@0.3.6 + color-print@0.3.6 + colorchoice@1.0.1 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crates-io@0.40.2 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + ct-codecs@1.1.1 + curl-sys@0.4.72+curl-8.6.0 + curl@0.4.46 + dbus@0.9.7 + der@0.7.9 + deranged@0.3.11 + digest@0.10.7 + dunce@1.0.4 + ecdsa@0.16.9 + ed25519-compact@2.1.1 + either@1.12.0 + elliptic-curve@0.13.8 + encoding_rs@0.8.34 + equivalent@1.0.1 + erased-serde@0.4.5 + errno@0.3.9 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + faster-hex@0.9.0 + fastrand@2.1.0 + ff@0.13.0 + fiat-crypto@0.2.9 + filetime@0.2.23 + flate2@1.0.30 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + generic-array@0.14.7 + getrandom@0.2.15 + git2-curl@0.19.0 + git2@0.18.3 + gix-actor@0.31.2 + gix-attributes@0.22.2 + gix-bitmap@0.2.11 + gix-chunk@0.4.8 + gix-command@0.3.7 + gix-commitgraph@0.24.2 + gix-config-value@0.14.6 + gix-config@0.37.0 + gix-credentials@0.24.2 + gix-date@0.8.6 + gix-diff@0.44.0 + gix-dir@0.5.0 + gix-discover@0.32.0 + gix-features@0.38.2 + gix-filter@0.11.2 + gix-fs@0.11.1 + gix-glob@0.16.3 + gix-hash@0.14.2 + gix-hashtable@0.5.2 + gix-ignore@0.11.2 + gix-index@0.33.0 + gix-lock@14.0.0 + gix-macros@0.1.5 + gix-negotiate@0.13.1 + gix-object@0.42.2 + gix-odb@0.61.0 + gix-pack@0.51.0 + gix-packetline-blocking@0.17.4 + gix-packetline@0.17.5 + gix-path@0.10.7 + gix-pathspec@0.7.5 + gix-prompt@0.8.5 + gix-protocol@0.45.1 + gix-quote@0.4.12 + gix-ref@0.44.1 + gix-refspec@0.23.0 + gix-revision@0.27.1 + gix-revwalk@0.13.1 + gix-sec@0.10.6 + gix-submodule@0.11.0 + gix-tempfile@14.0.0 + gix-trace@0.1.9 + gix-transport@0.42.1 + gix-traverse@0.39.1 + gix-url@0.27.3 + gix-utils@0.1.12 + gix-validate@0.8.5 + gix-worktree@0.34.0 + gix@0.63.0 + glob@0.3.1 + globset@0.4.14 + group@0.13.0 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.9.1 + heck@0.4.1 + heck@0.5.0 + hex@0.4.3 + hkdf@0.12.4 + hmac@0.12.1 + home@0.5.9 + http-auth@0.1.9 + humantime@2.1.0 + idna@0.5.0 + ignore@0.4.22 + im-rc@15.1.0 + indexmap@1.9.3 + indexmap@2.2.6 + is_terminal_polyfill@1.70.0 + itertools@0.12.1 + itertools@0.13.0 + itoa@1.0.11 + jobserver@0.1.31 + js-sys@0.3.69 + kstring@2.0.0 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.155 + libdbus-sys@0.2.5 + libgit2-sys@0.16.2+1.7.2 + libloading@0.8.3 + libnghttp2-sys@0.1.10+1.61.0 + libsqlite3-sys@0.28.0 + libssh2-sys@0.3.0 + libz-sys@1.1.18 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.21 + matchers@0.1.0 + maybe-async@0.2.10 + memchr@2.7.4 + memmap2@0.9.4 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + miow@0.6.0 + nom@7.1.3 + normpath@1.2.0 + nu-ansi-term@0.46.0 + num-conv@0.1.0 + num-traits@0.2.19 + num_threads@0.1.7 + once_cell@1.19.0 + opener@0.7.1 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-src@300.3.1+3.3.1 + openssl-sys@0.9.102 + openssl@0.10.64 + ordered-float@2.10.1 + orion@0.17.6 + os_info@3.8.2 + overload@0.1.1 + p384@0.13.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + pasetors@0.6.8 + pathdiff@0.2.1 + pem-rfc7468@0.7.0 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pkcs8@0.10.2 + pkg-config@0.3.30 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + primeorder@0.13.6 + proc-macro2@1.0.86 + prodash@28.0.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_xoshiro@0.6.0 + redox_syscall@0.4.1 + redox_syscall@0.5.2 + regex-automata@0.1.10 + regex-automata@0.4.7 + regex-syntax@0.6.29 + regex-syntax@0.8.4 + regex@1.10.5 + rfc6979@0.4.0 + rusqlite@0.31.0 + rustfix@0.8.4 + rustix@0.38.34 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.23 + scopeguard@1.2.0 + sec1@0.7.3 + security-framework-sys@2.11.0 + security-framework@2.11.0 + semver@1.0.23 + serde-untagged@0.1.6 + serde-value@0.7.0 + serde@1.0.203 + serde_derive@1.0.203 + serde_ignored@0.1.10 + serde_json@1.0.117 + serde_spanned@0.6.6 + sha1@0.10.6 + sha1_smol@1.0.0 + sha2@0.10.8 + sharded-slab@0.1.7 + shell-escape@0.1.5 + shell-words@1.1.0 + signature@2.2.0 + sized-chunks@0.6.5 + smallvec@1.13.2 + socket2@0.5.7 + spki@0.7.3 + static_assertions@1.1.0 + strsim@0.11.1 + subtle@2.6.0 + supports-hyperlinks@3.0.0 + supports-unicode@3.0.0 + syn@1.0.109 + syn@2.0.67 + tar@0.4.41 + tempfile@3.10.1 + terminal_size@0.3.0 + thiserror-impl@1.0.61 + thiserror@1.0.61 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.5.11 + toml@0.8.14 + toml_datetime@0.6.6 + toml_edit@0.22.14 + tracing-attributes@0.1.27 + tracing-chrome@0.7.2 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing@0.1.40 + typeid@1.0.0 + typenum@1.17.0 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-bom@2.0.3 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-width@0.1.13 + unicode-xid@0.2.4 + url@2.5.2 + utf8parse@0.2.2 + valuable@0.1.0 + vcpkg@0.2.15 + version_check@0.9.4 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winnow@0.6.13 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zeroize@1.8.1 +" + +RUST_MIN_VER="1.79.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="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 MPL-2.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +RDEPEND=">=dev-libs/libgit2-1.7:= + 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 + + # libgit2-sys unnecessarily(?) requests "${T}"/pip.conf <<-EOF || die + [global] + quiet = 2 + + [install] + no-index = yes + no-dependencies = yes + EOF + + # used by *git_sdist_generator tests + git init -q || die + git config --global user.email "larry@gentoo.org" || die + git config --global user.name "Larry the Cow" || die + git add . || die + git commit -qm init || die + fi +} + +src_configure() { + export OPENSSL_NO_VENDOR=1 + + # bug #938847 (TODO?: should probably be an eclass default for musl) + use elibc_musl && RUSTFLAGS+=" -C target-feature=-crt-static" + + # https://github.com/rust-lang/stacker/issues/79 + use s390 && ! is-flagq '-march=*' && + append-cflags $(test-flags-CC -march=z10) + + local myfeatures=( + # like release.yml + native-tls for better platform support than rustls + full + password-storage + $(usev ssl native-tls) + ) + + cargo_src_configure --no-default-features +} + +python_compile_all() { + cargo_src_compile + + use !doc || mdbook build -d html guide || die + + if ! tc-is-cross-compiler; then + local maturin=$(cargo_target_dir)/maturin + "${maturin}" completions bash > "${T}"/${PN} || die + "${maturin}" completions fish > "${T}"/${PN}.fish || die + "${maturin}" completions zsh > "${T}"/_${PN} || die + else + ewarn "shell completion files were skipped due to cross-compilation" + fi +} + +python_test() { + local -x MATURIN_TEST_PYTHON=${EPYTHON} + local -x PIP_CONFIG_FILE=${T}/pip.conf + local -x VIRTUALENV_SYSTEM_SITE_PACKAGES=1 + + # need this for (new) python versions not yet recognized by pyo3 + local -x PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 + + local skip=( + # picky cli output test that easily benignly fail (bug #937992) + --skip cli_tests + # avoid need for wasm over a single hello world test + --skip integration_wasm_hello_world + # fragile depending on rust version, also wants libpypy*-c.so for pypy + --skip pyo3_no_extension_module + # unimportant tests that use uv, and it does not seem to be able + # to find the system's dev-python/uv (not worth the trouble) + --skip develop_hello_world::case_2 + --skip develop_pyo3_ffi_pure::case_2 + # fails on sparc since rust-1.74 (bug #934573), skip for now given + # should not affect the pep517 backend which is all we need on sparc + $(usev sparc '--skip build_context::test::test_macosx_deployment_target') + ) + + cargo_src_test -- "${skip[@]}" +} + +python_install_all() { + cargo_src_install + + dodoc Changelog.md README.md + use doc && dodoc -r guide/html + + if ! tc-is-cross-compiler; then + dobashcomp "${T}"/${PN} + dofishcomp "${T}"/${PN}.fish + dozshcomp "${T}"/_${PN} + fi +} diff --git a/dev-util/maturin/maturin-1.7.4.ebuild b/dev-util/maturin/maturin-1.7.4.ebuild deleted file mode 100644 index df02c5f7c88d..000000000000 --- a/dev-util/maturin/maturin-1.7.4.ebuild +++ /dev/null @@ -1,580 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler2@2.0.0 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.1.0 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - anyhow@1.0.89 - autocfg@1.3.0 - automod@1.0.14 - base64@0.21.7 - base64@0.22.1 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - bstr@1.10.0 - byteorder@1.5.0 - bytesize@1.3.0 - bytes@1.7.1 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - cab@0.5.0 - camino@1.1.9 - cargo-config2@0.1.26 - cargo-options@0.7.4 - cargo-platform@0.1.8 - cargo-xwin@0.16.5 - cargo-zigbuild@0.19.3 - cargo_metadata@0.18.1 - cbindgen@0.26.0 - cc@1.1.21 - cfb@0.9.0 - cfg-if@1.0.0 - charset@0.1.5 - chumsky@0.9.3 - clap@4.5.7 - clap_builder@4.5.7 - clap_complete@4.5.5 - clap_complete_command@0.6.1 - clap_complete_nushell@4.5.2 - clap_derive@4.5.5 - clap_lex@0.7.1 - cli-table@0.4.7 - colorchoice@1.0.1 - configparser@3.1.0 - console@0.15.8 - content_inspector@0.2.4 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.4.2 - crc-catalog@2.4.0 - crc@3.2.1 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.20 - crypto-common@0.1.6 - data-encoding@2.6.0 - deranged@0.3.11 - derivative@2.2.0 - dialoguer@0.11.0 - diff@0.1.13 - digest@0.10.7 - dirs-sys@0.4.1 - dirs@5.0.1 - dissimilar@1.0.9 - dunce@1.0.5 - dyn-clone@1.0.17 - either@1.13.0 - encode_unicode@0.3.6 - encoding_rs@0.8.34 - equivalent@1.0.1 - errno@0.3.9 - expect-test@1.5.0 - fastrand@2.1.0 - fat-macho@0.4.8 - filetime@0.2.23 - flate2@1.0.33 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fs-err@2.11.0 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-timer@3.0.3 - futures-util@0.3.30 - futures@0.3.30 - generic-array@0.14.7 - getrandom@0.2.15 - globset@0.4.15 - glob@0.3.1 - goblin@0.8.2 - hashbrown@0.12.3 - hashbrown@0.14.5 - heck@0.4.1 - heck@0.5.0 - home@0.5.9 - humantime-serde@1.1.1 - humantime@2.1.0 - idna@0.5.0 - ignore@0.4.23 - indexmap@1.9.3 - indexmap@2.5.0 - indicatif@0.17.8 - indoc@2.0.5 - instant@0.1.13 - is_terminal_polyfill@1.70.0 - itertools@0.12.1 - itoa@1.0.11 - keyring@2.3.3 - lazy_static@1.4.0 - lddtree@0.3.5 - libc@0.2.158 - libmimalloc-sys@0.1.38 - libredox@0.1.3 - linux-keyutils@0.2.4 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.21 - lzxd@0.2.5 - mailparse@0.15.0 - matchers@0.1.0 - memchr@2.7.2 - mimalloc@0.1.42 - mime@0.3.17 - mime_guess@2.0.4 - minijinja@1.0.21 - minimal-lexical@0.2.1 - miniz_oxide@0.8.0 - msi@0.7.0 - multipart@0.18.0 - native-tls@0.2.12 - nom@7.1.3 - normalize-line-endings@0.3.0 - normpath@1.2.0 - number_prefix@0.4.0 - num-conv@0.1.0 - nu-ansi-term@0.46.0 - once_cell@1.19.0 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.103 - openssl@0.10.66 - option-ext@0.2.0 - os_pipe@1.2.0 - overload@0.1.1 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - paste@1.0.15 - path-slash@0.2.1 - pep440_rs@0.6.6 - pep508_rs@0.6.1 - percent-encoding@2.3.1 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkg-config@0.3.30 - plain@0.2.3 - platform-info@2.0.3 - portable-atomic@1.6.0 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - pretty_assertions@1.4.1 - proc-macro2@1.0.85 - proc-macro-crate@3.1.0 - psm@0.1.21 - pyproject-toml@0.11.0 - python-pkginfo@0.6.3 - quoted_printable@0.5.0 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.1 - redox_users@0.4.5 - regex-automata@0.1.10 - regex-automata@0.4.7 - regex-syntax@0.6.29 - regex-syntax@0.8.4 - regex@1.10.6 - relative-path@1.9.3 - rfc2047-decoder@1.0.5 - ring@0.17.8 - rstest@0.22.0 - rstest_macros@0.22.0 - rustc_version@0.4.1 - rustflags@0.1.6 - rustix@0.38.34 - rustls-pemfile@2.1.3 - rustls-pki-types@1.7.0 - rustls-webpki@0.102.4 - rustls@0.22.4 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.23 - schemars@0.8.21 - schemars_derive@0.8.21 - scopeguard@1.2.0 - scroll@0.12.0 - scroll_derive@0.12.0 - security-framework-sys@2.11.0 - security-framework@2.11.0 - semver@1.0.23 - serde@1.0.210 - serde_derive@1.0.210 - serde_derive_internals@0.29.1 - serde_json@1.0.128 - serde_spanned@0.6.6 - sha2@0.10.8 - sharded-slab@0.1.7 - shell-words@1.1.0 - shlex@1.3.0 - similar@2.5.0 - slab@0.4.9 - smallvec@1.13.2 - smawk@0.3.2 - snapbox-macros@0.3.10 - snapbox@0.6.16 - socks@0.3.4 - spin@0.9.8 - stacker@0.1.15 - static_assertions@1.1.0 - strsim@0.11.1 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.76 - target-lexicon@0.12.16 - tar@0.4.42 - tempfile@3.11.0 - termcolor@1.4.1 - terminal_size@0.3.0 - textwrap@0.16.1 - thiserror-impl@1.0.64 - thiserror@1.0.64 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.7.0 - tinyvec_macros@0.1.1 - toml@0.5.11 - toml@0.8.15 - toml_datetime@0.6.6 - toml_edit@0.21.1 - toml_edit@0.22.16 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-serde@0.1.3 - tracing-subscriber@0.3.18 - tracing@0.1.40 - trycmd@0.15.6 - twox-hash@1.6.3 - typenum@1.17.0 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.23 - unicode-width@0.1.13 - unicode-xid@0.2.6 - unscanny@0.1.0 - untrusted@0.9.0 - ureq@2.9.7 - urlencoding@2.1.3 - url@2.5.2 - utf8parse@0.2.2 - uuid@1.8.0 - valuable@0.1.0 - vcpkg@0.2.15 - versions@6.2.0 - version_check@0.9.4 - wait-timeout@0.2.0 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - webpki-roots@0.26.2 - which@5.0.0 - which@6.0.3 - wild@2.2.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winnow@0.5.40 - winnow@0.6.13 - winsafe@0.0.19 - xattr@1.3.1 - xwin@0.5.1 - yansi@1.0.1 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zeroize@1.8.1 - zip@0.6.6 -" -# additional crates used by test-crates/* test packages, -# `grep test-crates tests/run.rs` to see which are needed -CRATES_TEST=" - 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.86 - askama@0.12.1 - askama_derive@0.12.5 - askama_escape@0.10.3 - askama_parser@0.2.1 - autocfg@1.1.0 - basic-toml@0.1.9 - bincode@1.3.3 - bytes@1.6.0 - camino@1.1.7 - cargo_metadata@0.15.4 - cc@1.0.73 - cc@1.0.81 - cc@1.0.83 - clap@4.5.16 - clap_builder@4.5.15 - clap_derive@4.5.13 - clap_lex@0.7.2 - colorchoice@1.0.2 - getrandom@0.2.10 - indoc@2.0.4 - is_terminal_polyfill@1.70.1 - libc@0.2.134 - libc@0.2.147 - libc@0.2.149 - libc@0.2.155 - log@0.4.22 - memchr@2.7.4 - memoffset@0.9.0 - memoffset@0.9.1 - mime_guess@2.0.5 - once_cell@1.15.0 - once_cell@1.18.0 - portable-atomic@1.7.0 - proc-macro2@1.0.86 - pyo3-build-config@0.18.3 - pyo3-build-config@0.22.0 - pyo3-build-config@0.22.2 - pyo3-ffi@0.18.3 - pyo3-ffi@0.22.0 - pyo3-ffi@0.22.2 - pyo3-macros-backend@0.22.0 - pyo3-macros-backend@0.22.2 - pyo3-macros@0.22.0 - pyo3-macros@0.22.2 - pyo3@0.22.0 - pyo3@0.22.2 - python3-dll-a@0.2.6 - python3-dll-a@0.2.9 - serde@1.0.203 - serde@1.0.209 - serde_derive@1.0.203 - serde_derive@1.0.209 - serde_json@1.0.118 - serde_json@1.0.127 - siphasher@0.3.11 - syn@2.0.68 - syn@2.0.72 - target-lexicon@0.12.11 - target-lexicon@0.12.14 - thiserror-impl@1.0.61 - thiserror-impl@1.0.63 - thiserror@1.0.61 - thiserror@1.0.63 - unicode-ident@1.0.5 - unicode-ident@1.0.11 - uniffi@0.28.0 - uniffi@0.28.1 - uniffi_bindgen@0.28.0 - uniffi_bindgen@0.28.1 - uniffi_build@0.28.0 - uniffi_build@0.28.1 - uniffi_checksum_derive@0.28.0 - uniffi_checksum_derive@0.28.1 - uniffi_core@0.28.0 - uniffi_core@0.28.1 - uniffi_macros@0.28.0 - uniffi_macros@0.28.1 - uniffi_meta@0.28.0 - uniffi_meta@0.28.1 - uniffi_testing@0.28.0 - uniffi_testing@0.28.1 - uniffi_udl@0.28.0 - uniffi_udl@0.28.1 - unindent@0.2.3 - version_check@0.9.5 - weedle2@5.0.0 - windows-targets@0.52.6 - windows_aarch64_gnullvm@0.52.6 - windows_aarch64_msvc@0.52.6 - windows_i686_gnullvm@0.52.6 - windows_i686_gnu@0.52.6 - windows_i686_msvc@0.52.6 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_gnu@0.52.6 - windows_x86_64_msvc@0.52.6 -" -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( pypy3 python3_{10..13} ) -inherit cargo distutils-r1 flag-o-matic shell-completion toolchain-funcs - -DESCRIPTION="Build and publish crates with pyo3, rust-cpython and cffi bindings" -HOMEPAGE="https://www.maturin.rs/" -SRC_URI=" - https://github.com/PyO3/maturin/archive/refs/tags/v${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} - test? ( $(cargo_crate_uris ${CRATES_TEST}) ) -" - -# note: rustls+ring is unused, so openssl license can be skipped -LICENSE="|| ( Apache-2.0 MIT ) doc? ( CC-BY-4.0 OFL-1.1 )" -LICENSE+=" - 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 - Unicode-DFS-2016 -" # crates -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" -IUSE="doc +ssl test" -RESTRICT="!test? ( test )" - -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} - $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*') - dev-python/boltons[${PYTHON_USEDEP}] - dev-python/virtualenv[${PYTHON_USEDEP}] - dev-vcs/git - elibc_musl? ( dev-util/patchelf ) - ) -" -RDEPEND+=" ${DEPEND}" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_prepare() { - distutils-r1_src_prepare - - # we build the Rust executable (just once) via cargo_src_compile - sed -i -e '/setuptools_rust/d' -e '/rust_extensions/d' setup.py || die - - if use test; then - # used to prevent use of network during tests, and silence pip - # if it finds unrelated issues with system packages (bug #913613) - cat > "${T}"/pip.conf <<-EOF || die - [global] - quiet = 2 - - [install] - no-index = yes - no-dependencies = yes - EOF - - # used by *git_sdist_generator tests - git init -q || die - git config --global user.email "larry@gentoo.org" || die - git config --global user.name "Larry the Cow" || die - git add . || die - git commit -qm init || die - fi -} - -src_configure() { - export OPENSSL_NO_VENDOR=1 - - # bug #938847 (TODO?: should probably be an eclass default for musl) - use elibc_musl && RUSTFLAGS+=" -C target-feature=-crt-static" - - # https://github.com/rust-lang/stacker/issues/79 - use s390 && ! is-flagq '-march=*' && - append-cflags $(test-flags-CC -march=z10) - - local myfeatures=( - # like release.yml + native-tls for better platform support than rustls - full - password-storage - $(usev ssl native-tls) - ) - - cargo_src_configure --no-default-features -} - -python_compile_all() { - cargo_src_compile - - use !doc || mdbook build -d html guide || die - - if ! tc-is-cross-compiler; then - local maturin=$(cargo_target_dir)/maturin - "${maturin}" completions bash > "${T}"/${PN} || die - "${maturin}" completions fish > "${T}"/${PN}.fish || die - "${maturin}" completions zsh > "${T}"/_${PN} || die - else - ewarn "shell completion files were skipped due to cross-compilation" - fi -} - -python_test() { - local -x MATURIN_TEST_PYTHON=${EPYTHON} - local -x PIP_CONFIG_FILE=${T}/pip.conf - local -x VIRTUALENV_SYSTEM_SITE_PACKAGES=1 - - # need this for (new) python versions not yet recognized by pyo3 - local -x PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 - - local skip=( - # picky cli output test that easily benignly fail (bug #937992) - --skip cli_tests - # avoid need for wasm over a single hello world test - --skip integration_wasm_hello_world - # fragile depending on rust version, also wants libpypy*-c.so for pypy - --skip pyo3_no_extension_module - # unimportant tests that use uv, and it does not seem to be able - # to find the system's dev-python/uv (not worth the trouble) - --skip develop_hello_world::case_2 - --skip develop_pyo3_ffi_pure::case_2 - # fails on sparc since rust-1.74 (bug #934573), skip for now given - # should not affect the pep517 backend which is all we need on sparc - $(usev sparc '--skip build_context::test::test_macosx_deployment_target') - ) - - cargo_src_test -- "${skip[@]}" -} - -python_install_all() { - cargo_src_install - - dodoc Changelog.md README.md - use doc && dodoc -r guide/html - - if ! tc-is-cross-compiler; then - dobashcomp "${T}"/${PN} - dofishcomp "${T}"/${PN}.fish - dozshcomp "${T}"/_${PN} - fi -} diff --git a/dev-util/pkgcruft/pkgcruft-0.0.1-r1.ebuild b/dev-util/pkgcruft/pkgcruft-0.0.1-r1.ebuild new file mode 100644 index 000000000000..c4eb2eda15b1 --- /dev/null +++ b/dev-util/pkgcruft/pkgcruft-0.0.1-r1.ebuild @@ -0,0 +1,59 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " + +inherit cargo edo toolchain-funcs + +DESCRIPTION="QA library and tools based on pkgcraft" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/${PN} +else + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz" + + KEYWORDS="~amd64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-DFS-2016 +" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +# clang needed for bindgen +BDEPEND+=" + sys-devel/clang + test? ( dev-util/cargo-nextest ) +" + +QA_FLAGS_IGNORED="usr/bin/pkgcruft" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + # For scallop building bash + tc-export AR CC + + cargo_src_compile +} + +src_test() { + 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.1.ebuild deleted file mode 100644 index c2c6182cc283..000000000000 --- a/dev-util/pkgcruft/pkgcruft-0.0.1.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" " -inherit cargo edo toolchain-funcs - -DESCRIPTION="QA library and tools based on pkgcraft" -HOMEPAGE="https://pkgcraft.github.io/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" - inherit git-r3 - - S="${WORKDIR}"/${P}/crates/${PN} -else - SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz" - - KEYWORDS="~amd64" -fi - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-DFS-2016 -" -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -# clang needed for bindgen -BDEPEND+=" - sys-devel/clang - >=virtual/rust-1.71 - test? ( dev-util/cargo-nextest ) -" - -QA_FLAGS_IGNORED="usr/bin/pkgcruft" - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_compile() { - # For scallop building bash - tc-export AR CC - - cargo_src_compile -} - -src_test() { - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests -} diff --git a/dev-util/pkgcruft/pkgcruft-0.0.2-r1.ebuild b/dev-util/pkgcruft/pkgcruft-0.0.2-r1.ebuild new file mode 100644 index 000000000000..7863fdc15c04 --- /dev/null +++ b/dev-util/pkgcruft/pkgcruft-0.0.2-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " +RUST_MIN_VER="1.76.0" + +inherit cargo edo toolchain-funcs + +DESCRIPTION="QA library and tools based on pkgcraft" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/${PN} +else + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz" + + KEYWORDS="~amd64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-DFS-2016 +" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +# clang needed for bindgen +BDEPEND+=" + sys-devel/clang + test? ( dev-util/cargo-nextest ) +" + +QA_FLAGS_IGNORED="usr/bin/pkgcruft" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + # For scallop building bash + tc-export AR CC + + cargo_src_compile +} + +src_test() { + edo ${CARGO} nextest run $(usev !debug '--release') --color always --all-features --tests +} diff --git a/dev-util/pkgcruft/pkgcruft-0.0.2.ebuild b/dev-util/pkgcruft/pkgcruft-0.0.2.ebuild deleted file mode 100644 index a14a39afdc5c..000000000000 --- a/dev-util/pkgcruft/pkgcruft-0.0.2.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" " -inherit cargo edo toolchain-funcs - -DESCRIPTION="QA library and tools based on pkgcraft" -HOMEPAGE="https://pkgcraft.github.io/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" - inherit git-r3 - - S="${WORKDIR}"/${P}/crates/${PN} -else - SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz" - - KEYWORDS="~amd64" -fi - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-DFS-2016 -" -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -# clang needed for bindgen -BDEPEND+=" - sys-devel/clang - >=virtual/rust-1.76 - test? ( dev-util/cargo-nextest ) -" - -QA_FLAGS_IGNORED="usr/bin/pkgcruft" - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_compile() { - # For scallop building bash - tc-export AR CC - - cargo_src_compile -} - -src_test() { - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests -} diff --git a/dev-util/pkgcruft/pkgcruft-0.0.3-r1.ebuild b/dev-util/pkgcruft/pkgcruft-0.0.3-r1.ebuild new file mode 100644 index 000000000000..79a063178dbe --- /dev/null +++ b/dev-util/pkgcruft/pkgcruft-0.0.3-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " +RUST_MIN_VER="1.76.0" + +inherit cargo edo toolchain-funcs + +DESCRIPTION="QA library and tools based on pkgcraft" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/${PN} +else + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz" + + KEYWORDS="~amd64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-DFS-2016 +" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +# clang needed for bindgen +BDEPEND+=" + sys-devel/clang + test? ( dev-util/cargo-nextest ) +" + +QA_FLAGS_IGNORED="usr/bin/pkgcruft" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + # For scallop building bash + tc-export AR CC + + cargo_src_compile +} + +src_test() { + 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.3.ebuild deleted file mode 100644 index a14a39afdc5c..000000000000 --- a/dev-util/pkgcruft/pkgcruft-0.0.3.ebuild +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" " -inherit cargo edo toolchain-funcs - -DESCRIPTION="QA library and tools based on pkgcraft" -HOMEPAGE="https://pkgcraft.github.io/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" - inherit git-r3 - - S="${WORKDIR}"/${P}/crates/${PN} -else - SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${P}/${P}.tar.xz" - - KEYWORDS="~amd64" -fi - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD-2 BSD CC0-1.0 GPL-3+ ISC MIT MPL-2.0 Unicode-DFS-2016 -" -SLOT="0" -IUSE="test" -RESTRICT="!test? ( test )" - -# clang needed for bindgen -BDEPEND+=" - sys-devel/clang - >=virtual/rust-1.76 - test? ( dev-util/cargo-nextest ) -" - -QA_FLAGS_IGNORED="usr/bin/pkgcruft" - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_compile() { - # For scallop building bash - tc-export AR CC - - cargo_src_compile -} - -src_test() { - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests -} 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-r1.ebuild b/dev-util/ruff/ruff-0.7.0-r1.ebuild new file mode 100644 index 000000000000..8b26a5b54473 --- /dev/null +++ b/dev-util/ruff/ruff-0.7.0-r1.ebuild @@ -0,0 +1,491 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + Inflector@0.11.4 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anes@0.1.6 + annotate-snippets@0.6.1 + annotate-snippets@0.9.2 + anstream@0.6.13 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.8 + anyhow@1.0.89 + append-only-vec@0.1.5 + arc-swap@1.7.1 + argfile@0.2.1 + arrayvec@0.7.4 + assert_fs@1.1.2 + autocfg@1.2.0 + base64@0.22.0 + bincode@1.3.3 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + bstr@1.10.0 + bumpalo@3.16.0 + byteorder@1.5.0 + cachedir@0.3.1 + camino@1.1.9 + cast@0.3.0 + castaway@0.2.3 + cc@1.0.95 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cfg_aliases@0.2.1 + chic@1.2.2 + chrono@0.4.38 + ciborium-io@0.2.2 + ciborium-ll@0.2.2 + ciborium@0.2.2 + clap@4.5.20 + clap_builder@4.5.20 + clap_complete@4.5.2 + clap_complete_command@0.6.1 + clap_complete_nushell@4.5.2 + clap_derive@4.5.18 + clap_lex@0.7.0 + clearscreen@3.0.0 + codspeed-criterion-compat@2.7.2 + codspeed@2.7.2 + colorchoice@1.0.0 + colored@2.1.0 + compact_str@0.8.0 + console@0.15.8 + console_error_panic_hook@0.1.7 + console_log@1.0.0 + core-foundation-sys@0.8.6 + countme@3.0.1 + cpufeatures@0.2.13 + crc32fast@1.4.0 + criterion-plot@0.5.0 + criterion@0.5.1 + crossbeam-channel@0.5.12 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-common@0.1.6 + ctrlc@3.4.5 + darling@0.20.8 + darling_core@0.20.8 + darling_macro@0.20.8 + dashmap@5.5.3 + dashmap@6.1.0 + diff@0.1.13 + difflib@0.4.0 + digest@0.10.7 + dirs-sys@0.3.7 + dirs-sys@0.4.1 + dirs@4.0.0 + dirs@5.0.1 + doc-comment@0.3.3 + drop_bomb@0.1.5 + dyn-clone@1.0.17 + either@1.11.0 + encode_unicode@0.3.6 + env_filter@0.1.0 + env_logger@0.11.5 + equivalent@1.0.1 + errno@0.3.8 + etcetera@0.8.0 + fastrand@2.1.1 + fern@0.6.2 + filetime@0.2.25 + flate2@1.0.28 + fnv@1.0.7 + form_urlencoded@1.2.1 + fs-err@2.11.0 + fsevent-sys@4.1.0 + generic-array@0.14.7 + getopts@0.2.21 + getrandom@0.2.14 + glob@0.3.1 + globset@0.4.15 + globwalk@0.9.1 + half@2.4.1 + hashbrown@0.14.5 + hashbrown@0.15.0 + hashlink@0.9.1 + heck@0.5.0 + hermit-abi@0.3.9 + home@0.5.9 + humantime@2.1.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + idna@0.5.0 + ignore@0.4.23 + imara-diff@0.1.7 + imperative@1.0.6 + indexmap@2.5.0 + indicatif@0.17.8 + indoc@2.0.5 + inotify-sys@0.1.5 + inotify@0.9.6 + insta-cmd@0.6.0 + insta@1.40.0 + instant@0.1.12 + is-docker@0.2.0 + is-macro@0.3.6 + is-terminal@0.4.12 + is-wsl@0.4.0 + itertools@0.10.5 + itertools@0.13.0 + itoa@1.0.11 + jobserver@0.1.32 + jod-thread@0.1.2 + js-sys@0.3.72 + kqueue-sys@1.0.4 + kqueue@1.0.8 + lazy_static@1.4.0 + libc@0.2.159 + libcst@1.5.0 + libcst_derive@1.4.0 + libmimalloc-sys@0.1.39 + libredox@0.1.3 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + lock_api@0.4.11 + log@0.4.22 + lsp-server@0.7.7 + matchers@0.1.0 + matches@0.1.10 + matchit@0.8.4 + memchr@2.7.4 + mimalloc@0.1.43 + minicov@0.3.5 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + mio@0.8.11 + natord@1.0.9 + newtype-uuid@1.1.0 + nix@0.28.0 + nix@0.29.0 + nom@7.1.3 + notify@6.1.1 + nu-ansi-term@0.46.0 + nu-ansi-term@0.50.1 + num-traits@0.2.18 + number_prefix@0.4.0 + once_cell@1.20.2 + oorandom@11.1.3 + option-ext@0.2.0 + ordermap@0.5.3 + os_str_bytes@7.0.0 + overload@0.1.1 + parking_lot@0.12.3 + parking_lot_core@0.9.9 + paste@1.0.15 + path-absolutize@3.1.1 + path-dedot@3.1.1 + path-slash@0.2.1 + pathdiff@0.2.2 + peg-macros@0.8.4 + peg-runtime@0.8.3 + peg@0.8.4 + pep440_rs@0.4.0 + pep440_rs@0.6.6 + pep508_rs@0.3.0 + percent-encoding@2.3.1 + pest@2.7.11 + pest_derive@2.7.11 + pest_generator@2.7.11 + pest_meta@2.7.11 + phf@0.11.2 + phf_codegen@0.11.2 + phf_generator@0.11.2 + phf_shared@0.11.2 + pin-project-lite@0.2.14 + pkg-config@0.3.30 + portable-atomic@1.6.0 + ppv-lite86@0.2.17 + predicates-core@1.0.8 + predicates-tree@1.0.11 + predicates@3.1.2 + pretty_assertions@1.4.1 + proc-macro2@1.0.87 + pyproject-toml@0.9.0 + quick-junit@0.5.0 + quick-xml@0.36.1 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.3 + redox_users@0.4.5 + regex-automata@0.1.10 + regex-automata@0.4.8 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.0 + relative-path@1.9.3 + ring@0.17.8 + rstest@0.22.0 + rstest_macros@0.22.0 + rust-stemmers@1.2.0 + rustc-hash@1.1.0 + rustc-hash@2.0.0 + rustc_version@0.4.1 + rustix@0.38.37 + rustls-pki-types@1.7.0 + rustls-webpki@0.102.5 + rustls@0.23.10 + rustversion@1.0.15 + ryu@1.0.17 + same-file@1.0.6 + schemars@0.8.21 + schemars_derive@0.8.21 + scoped-tls@1.0.1 + scopeguard@1.2.0 + seahash@4.1.0 + semver@1.0.23 + serde-wasm-bindgen@0.6.5 + serde@1.0.210 + serde_derive@1.0.210 + serde_derive_internals@0.29.0 + serde_json@1.0.128 + serde_repr@0.1.19 + serde_spanned@0.6.7 + serde_test@1.0.177 + serde_with@3.11.0 + serde_with_macros@3.11.0 + sha2@0.10.8 + sharded-slab@0.1.7 + shellexpand@3.1.0 + similar@2.5.0 + siphasher@0.3.11 + smallvec@1.13.2 + spin@0.9.8 + static_assertions@1.1.0 + strip-ansi-escapes@0.2.0 + strsim@0.10.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + subtle@2.5.0 + syn@2.0.79 + synstructure@0.13.1 + tempfile@3.13.0 + terminal_size@0.4.0 + terminfo@0.8.0 + termtree@0.4.1 + test-case-core@3.3.1 + test-case-macros@3.3.1 + test-case@3.3.1 + thiserror-impl@1.0.64 + thiserror@1.0.64 + thread_local@1.1.8 + tikv-jemalloc-sys@0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7 + tikv-jemallocator@0.6.0 + tinytemplate@1.2.1 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.22.20 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-flame@0.2.0 + tracing-indicatif@0.3.6 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing-tree@0.4.0 + tracing@0.1.40 + typed-arena@2.0.2 + typenum@1.17.0 + ucd-trie@0.1.6 + unic-char-property@0.9.0 + unic-char-range@0.9.0 + unic-common@0.9.0 + unic-ucd-category@0.9.0 + unic-ucd-version@0.9.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.13 + unicode-normalization@0.1.24 + unicode-width@0.1.13 + unicode_names2@1.3.0 + unicode_names2_generator@1.3.0 + unscanny@0.1.0 + untrusted@0.9.0 + ureq@2.10.1 + url@2.5.2 + utf8parse@0.2.1 + uuid-macro-internal@1.10.0 + uuid@1.10.0 + valuable@0.1.0 + version_check@0.9.4 + vt100@0.15.2 + vte@0.11.1 + vte_generate_state_changes@0.1.1 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.95 + wasm-bindgen-futures@0.4.45 + wasm-bindgen-macro-support@0.2.95 + wasm-bindgen-macro@0.2.95 + wasm-bindgen-shared@0.2.95 + wasm-bindgen-test-macro@0.3.45 + wasm-bindgen-test@0.3.45 + wasm-bindgen@0.2.95 + web-sys@0.3.69 + web-time@1.1.0 + webpki-roots@0.26.1 + which@6.0.1 + wild@2.2.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + 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 + winnow@0.6.18 + winsafe@0.0.19 + yansi-term@0.1.2 + yansi@1.0.1 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 + zeroize@1.7.0 + zip@0.6.6 + zstd-safe@5.0.2+zstd.1.5.2 + zstd-sys@2.0.11+zstd.1.5.6 + zstd@0.11.2+zstd.1.5.2 +" + +declare -A GIT_CRATES=( + [lsp-types]='https://github.com/astral-sh/lsp-types;3512a9f33eadc5402cfab1b8f7340824c8ca1439;lsp-types-%commit%' + [salsa-macro-rules]='https://github.com/salsa-rs/salsa;b14be5c0392f4c55eca60b92e457a35549372382;salsa-%commit%/components/salsa-macro-rules' + [salsa-macros]='https://github.com/salsa-rs/salsa;b14be5c0392f4c55eca60b92e457a35549372382;salsa-%commit%/components/salsa-macros' + [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" +HOMEPAGE=" + https://docs.astral.sh/ruff/ + https://github.com/astral-sh/ruff +" +SRC_URI=" + ${CARGO_CRATE_URIS} + https://github.com/astral-sh/ruff/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 + WTFPL-2 +" +# ring +LICENSE+=" + ISC SSLeay openssl MIT +" +# libcst_derive +LICENSE+=" + MIT PSF-2 Apache-2.0 +" +# salsa-macro-rules +LICENSE+=" + || ( MIT Apache-2.0 ) +" + +SLOT="0" +KEYWORDS="~amd64 ~loong ~riscv" + +RDEPEND=" + !elibc_musl? ( !elibc_Darwin? ( !elibc_bionic? ( dev-libs/jemalloc:= ) ) ) + app-arch/zstd +" +DEPEND=" + ${RDEPEND} +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +DOCS=( + BREAKING_CHANGES.md + CODE_OF_CONDUCT.md + CONTRIBUTING.md + README.md + assets + docs +) + +src_configure() { + export RUSTFLAGS="${RUSTFLAGS}" + cargo_src_configure +} + +src_compile() { + local -x ZSTD_SYS_USE_PKG_CONFIG=1 + # Gentoo bug #927338 + if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then + local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 + local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so + fi + cargo_src_compile --bin ruff + + local releasedir + releasedir=$(cargo_target_dir) + + ${releasedir}/ruff generate-shell-completion bash > ruff-completion.bash || die + ${releasedir}/ruff generate-shell-completion zsh > ruff-completion.zsh || die +} + +src_test() { + local -x ZSTD_SYS_USE_PKG_CONFIG=1 + # Gentoo bug #927338 + if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then + local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 + local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so + fi + cargo_src_test --target-dir "${PWD}"/tested-target/ +} + +src_install() { + local releasedir=$(cargo_target_dir) + + dobin ${releasedir}/ruff + + newbashcomp ruff-completion.bash ruff + newzshcomp ruff-completion.zsh _ruff + + dodoc -r "${DOCS[@]}" +} diff --git a/dev-util/ruff/ruff-0.7.0.ebuild b/dev-util/ruff/ruff-0.7.0.ebuild deleted file mode 100644 index 4be849fad74b..000000000000 --- a/dev-util/ruff/ruff-0.7.0.ebuild +++ /dev/null @@ -1,492 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - Inflector@0.11.4 - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anes@0.1.6 - annotate-snippets@0.6.1 - annotate-snippets@0.9.2 - anstream@0.6.13 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.8 - anyhow@1.0.89 - append-only-vec@0.1.5 - arc-swap@1.7.1 - argfile@0.2.1 - arrayvec@0.7.4 - assert_fs@1.1.2 - autocfg@1.2.0 - base64@0.22.0 - bincode@1.3.3 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - bstr@1.10.0 - bumpalo@3.16.0 - byteorder@1.5.0 - cachedir@0.3.1 - camino@1.1.9 - cast@0.3.0 - castaway@0.2.3 - cc@1.0.95 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - cfg_aliases@0.2.1 - chic@1.2.2 - chrono@0.4.38 - ciborium-io@0.2.2 - ciborium-ll@0.2.2 - ciborium@0.2.2 - clap@4.5.20 - clap_builder@4.5.20 - clap_complete@4.5.2 - clap_complete_command@0.6.1 - clap_complete_nushell@4.5.2 - clap_derive@4.5.18 - clap_lex@0.7.0 - clearscreen@3.0.0 - codspeed-criterion-compat@2.7.2 - codspeed@2.7.2 - colorchoice@1.0.0 - colored@2.1.0 - compact_str@0.8.0 - console@0.15.8 - console_error_panic_hook@0.1.7 - console_log@1.0.0 - core-foundation-sys@0.8.6 - countme@3.0.1 - cpufeatures@0.2.13 - crc32fast@1.4.0 - criterion-plot@0.5.0 - criterion@0.5.1 - crossbeam-channel@0.5.12 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.19 - crossbeam@0.8.4 - crunchy@0.2.2 - crypto-common@0.1.6 - ctrlc@3.4.5 - darling@0.20.8 - darling_core@0.20.8 - darling_macro@0.20.8 - dashmap@5.5.3 - dashmap@6.1.0 - diff@0.1.13 - difflib@0.4.0 - digest@0.10.7 - dirs-sys@0.3.7 - dirs-sys@0.4.1 - dirs@4.0.0 - dirs@5.0.1 - doc-comment@0.3.3 - drop_bomb@0.1.5 - dyn-clone@1.0.17 - either@1.11.0 - encode_unicode@0.3.6 - env_filter@0.1.0 - env_logger@0.11.5 - equivalent@1.0.1 - errno@0.3.8 - etcetera@0.8.0 - fastrand@2.1.1 - fern@0.6.2 - filetime@0.2.25 - flate2@1.0.28 - fnv@1.0.7 - form_urlencoded@1.2.1 - fs-err@2.11.0 - fsevent-sys@4.1.0 - generic-array@0.14.7 - getopts@0.2.21 - getrandom@0.2.14 - glob@0.3.1 - globset@0.4.15 - globwalk@0.9.1 - half@2.4.1 - hashbrown@0.14.5 - hashbrown@0.15.0 - hashlink@0.9.1 - heck@0.5.0 - hermit-abi@0.3.9 - home@0.5.9 - humantime@2.1.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - idna@0.5.0 - ignore@0.4.23 - imara-diff@0.1.7 - imperative@1.0.6 - indexmap@2.5.0 - indicatif@0.17.8 - indoc@2.0.5 - inotify-sys@0.1.5 - inotify@0.9.6 - insta-cmd@0.6.0 - insta@1.40.0 - instant@0.1.12 - is-docker@0.2.0 - is-macro@0.3.6 - is-terminal@0.4.12 - is-wsl@0.4.0 - itertools@0.10.5 - itertools@0.13.0 - itoa@1.0.11 - jobserver@0.1.32 - jod-thread@0.1.2 - js-sys@0.3.72 - kqueue-sys@1.0.4 - kqueue@1.0.8 - lazy_static@1.4.0 - libc@0.2.159 - libcst@1.5.0 - libcst_derive@1.4.0 - libmimalloc-sys@0.1.39 - libredox@0.1.3 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.14 - lock_api@0.4.11 - log@0.4.22 - lsp-server@0.7.7 - matchers@0.1.0 - matches@0.1.10 - matchit@0.8.4 - memchr@2.7.4 - mimalloc@0.1.43 - minicov@0.3.5 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - mio@0.8.11 - natord@1.0.9 - newtype-uuid@1.1.0 - nix@0.28.0 - nix@0.29.0 - nom@7.1.3 - notify@6.1.1 - nu-ansi-term@0.46.0 - nu-ansi-term@0.50.1 - num-traits@0.2.18 - number_prefix@0.4.0 - once_cell@1.20.2 - oorandom@11.1.3 - option-ext@0.2.0 - ordermap@0.5.3 - os_str_bytes@7.0.0 - overload@0.1.1 - parking_lot@0.12.3 - parking_lot_core@0.9.9 - paste@1.0.15 - path-absolutize@3.1.1 - path-dedot@3.1.1 - path-slash@0.2.1 - pathdiff@0.2.2 - peg-macros@0.8.4 - peg-runtime@0.8.3 - peg@0.8.4 - pep440_rs@0.4.0 - pep440_rs@0.6.6 - pep508_rs@0.3.0 - percent-encoding@2.3.1 - pest@2.7.11 - pest_derive@2.7.11 - pest_generator@2.7.11 - pest_meta@2.7.11 - phf@0.11.2 - phf_codegen@0.11.2 - phf_generator@0.11.2 - phf_shared@0.11.2 - pin-project-lite@0.2.14 - pkg-config@0.3.30 - portable-atomic@1.6.0 - ppv-lite86@0.2.17 - predicates-core@1.0.8 - predicates-tree@1.0.11 - predicates@3.1.2 - pretty_assertions@1.4.1 - proc-macro2@1.0.87 - pyproject-toml@0.9.0 - quick-junit@0.5.0 - quick-xml@0.36.1 - quote@1.0.37 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.3 - redox_users@0.4.5 - regex-automata@0.1.10 - regex-automata@0.4.8 - regex-syntax@0.6.29 - regex-syntax@0.8.5 - regex@1.11.0 - relative-path@1.9.3 - ring@0.17.8 - rstest@0.22.0 - rstest_macros@0.22.0 - rust-stemmers@1.2.0 - rustc-hash@1.1.0 - rustc-hash@2.0.0 - rustc_version@0.4.1 - rustix@0.38.37 - rustls-pki-types@1.7.0 - rustls-webpki@0.102.5 - rustls@0.23.10 - rustversion@1.0.15 - ryu@1.0.17 - same-file@1.0.6 - schemars@0.8.21 - schemars_derive@0.8.21 - scoped-tls@1.0.1 - scopeguard@1.2.0 - seahash@4.1.0 - semver@1.0.23 - serde-wasm-bindgen@0.6.5 - serde@1.0.210 - serde_derive@1.0.210 - serde_derive_internals@0.29.0 - serde_json@1.0.128 - serde_repr@0.1.19 - serde_spanned@0.6.7 - serde_test@1.0.177 - serde_with@3.11.0 - serde_with_macros@3.11.0 - sha2@0.10.8 - sharded-slab@0.1.7 - shellexpand@3.1.0 - similar@2.5.0 - siphasher@0.3.11 - smallvec@1.13.2 - spin@0.9.8 - static_assertions@1.1.0 - strip-ansi-escapes@0.2.0 - strsim@0.10.0 - strsim@0.11.1 - strum@0.26.3 - strum_macros@0.26.4 - subtle@2.5.0 - syn@2.0.79 - synstructure@0.13.1 - tempfile@3.13.0 - terminal_size@0.4.0 - terminfo@0.8.0 - termtree@0.4.1 - test-case-core@3.3.1 - test-case-macros@3.3.1 - test-case@3.3.1 - thiserror-impl@1.0.64 - thiserror@1.0.64 - thread_local@1.1.8 - tikv-jemalloc-sys@0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7 - tikv-jemallocator@0.6.0 - tinytemplate@1.2.1 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.22.20 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-flame@0.2.0 - tracing-indicatif@0.3.6 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing-tree@0.4.0 - tracing@0.1.40 - typed-arena@2.0.2 - typenum@1.17.0 - ucd-trie@0.1.6 - unic-char-property@0.9.0 - unic-char-range@0.9.0 - unic-common@0.9.0 - unic-ucd-category@0.9.0 - unic-ucd-version@0.9.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.13 - unicode-normalization@0.1.24 - unicode-width@0.1.13 - unicode_names2@1.3.0 - unicode_names2_generator@1.3.0 - unscanny@0.1.0 - untrusted@0.9.0 - ureq@2.10.1 - url@2.5.2 - utf8parse@0.2.1 - uuid-macro-internal@1.10.0 - uuid@1.10.0 - valuable@0.1.0 - version_check@0.9.4 - vt100@0.15.2 - vte@0.11.1 - vte_generate_state_changes@0.1.1 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.95 - wasm-bindgen-futures@0.4.45 - wasm-bindgen-macro-support@0.2.95 - wasm-bindgen-macro@0.2.95 - wasm-bindgen-shared@0.2.95 - wasm-bindgen-test-macro@0.3.45 - wasm-bindgen-test@0.3.45 - wasm-bindgen@0.2.95 - web-sys@0.3.69 - web-time@1.1.0 - webpki-roots@0.26.1 - which@6.0.1 - wild@2.2.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - 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 - winnow@0.6.18 - winsafe@0.0.19 - yansi-term@0.1.2 - yansi@1.0.1 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 - zeroize@1.7.0 - zip@0.6.6 - zstd-safe@5.0.2+zstd.1.5.2 - zstd-sys@2.0.11+zstd.1.5.6 - zstd@0.11.2+zstd.1.5.2 -" - -declare -A GIT_CRATES=( - [lsp-types]='https://github.com/astral-sh/lsp-types;3512a9f33eadc5402cfab1b8f7340824c8ca1439;lsp-types-%commit%' - [salsa-macro-rules]='https://github.com/salsa-rs/salsa;b14be5c0392f4c55eca60b92e457a35549372382;salsa-%commit%/components/salsa-macro-rules' - [salsa-macros]='https://github.com/salsa-rs/salsa;b14be5c0392f4c55eca60b92e457a35549372382;salsa-%commit%/components/salsa-macros' - [salsa]='https://github.com/salsa-rs/salsa;b14be5c0392f4c55eca60b92e457a35549372382;salsa-%commit%' -) - -inherit shell-completion cargo - -DESCRIPTION="An extremely fast Python linter, written in Rust" -HOMEPAGE=" - https://docs.astral.sh/ruff/ - https://github.com/astral-sh/ruff -" -SRC_URI=" - ${CARGO_CRATE_URIS} - https://github.com/astral-sh/ruff/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 - WTFPL-2 -" -# ring -LICENSE+=" - ISC SSLeay openssl MIT -" -# libcst_derive -LICENSE+=" - MIT PSF-2 Apache-2.0 -" -# salsa-macro-rules -LICENSE+=" - || ( MIT Apache-2.0 ) -" - -SLOT="0" -KEYWORDS="~amd64 ~loong ~riscv" - -BDEPEND=" - >=virtual/rust-1.76 -" -RDEPEND=" - !elibc_musl? ( !elibc_Darwin? ( !elibc_bionic? ( dev-libs/jemalloc:= ) ) ) - app-arch/zstd -" -DEPEND=" - ${RDEPEND} -" - -QA_FLAGS_IGNORED="usr/bin/.*" - -DOCS=( - BREAKING_CHANGES.md - CODE_OF_CONDUCT.md - CONTRIBUTING.md - README.md - assets - docs -) - -src_configure() { - export RUSTFLAGS="${RUSTFLAGS}" - cargo_src_configure -} - -src_compile() { - local -x ZSTD_SYS_USE_PKG_CONFIG=1 - # Gentoo bug #927338 - if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then - local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 - local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so - fi - cargo_src_compile --bin ruff - - local releasedir - releasedir=$(cargo_target_dir) - - ${releasedir}/ruff generate-shell-completion bash > ruff-completion.bash || die - ${releasedir}/ruff generate-shell-completion zsh > ruff-completion.zsh || die -} - -src_test() { - local -x ZSTD_SYS_USE_PKG_CONFIG=1 - # Gentoo bug #927338 - if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then - local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 - local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so - fi - cargo_src_test --target-dir "${PWD}"/tested-target/ -} - -src_install() { - local releasedir=$(cargo_target_dir) - - dobin ${releasedir}/ruff - - newbashcomp ruff-completion.bash ruff - newzshcomp ruff-completion.zsh _ruff - - dodoc -r "${DOCS[@]}" -} diff --git a/dev-util/ruff/ruff-0.7.1-r1.ebuild b/dev-util/ruff/ruff-0.7.1-r1.ebuild new file mode 100644 index 000000000000..62627c321b9e --- /dev/null +++ b/dev-util/ruff/ruff-0.7.1-r1.ebuild @@ -0,0 +1,486 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + Inflector@0.11.4 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anes@0.1.6 + annotate-snippets@0.6.1 + annotate-snippets@0.9.2 + anstream@0.6.13 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.8 + anyhow@1.0.90 + append-only-vec@0.1.5 + arc-swap@1.7.1 + argfile@0.2.1 + arrayvec@0.7.4 + assert_fs@1.1.2 + autocfg@1.2.0 + base64@0.22.0 + bincode@1.3.3 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + bstr@1.10.0 + bumpalo@3.16.0 + byteorder@1.5.0 + cachedir@0.3.1 + camino@1.1.9 + cast@0.3.0 + castaway@0.2.3 + cc@1.0.95 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cfg_aliases@0.2.1 + chic@1.2.2 + chrono@0.4.38 + ciborium-io@0.2.2 + ciborium-ll@0.2.2 + ciborium@0.2.2 + clap@4.5.20 + clap_builder@4.5.20 + clap_complete@4.5.2 + clap_complete_command@0.6.1 + clap_complete_nushell@4.5.2 + clap_derive@4.5.18 + clap_lex@0.7.0 + clearscreen@3.0.0 + codspeed-criterion-compat@2.7.2 + codspeed@2.7.2 + colorchoice@1.0.0 + colored@2.1.0 + compact_str@0.8.0 + console@0.15.8 + console_error_panic_hook@0.1.7 + console_log@1.0.0 + core-foundation-sys@0.8.6 + countme@3.0.1 + cpufeatures@0.2.13 + crc32fast@1.4.0 + criterion-plot@0.5.0 + criterion@0.5.1 + crossbeam-channel@0.5.12 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-common@0.1.6 + ctrlc@3.4.5 + darling@0.20.8 + darling_core@0.20.8 + darling_macro@0.20.8 + dashmap@5.5.3 + dashmap@6.1.0 + diff@0.1.13 + difflib@0.4.0 + digest@0.10.7 + dir-test-macros@0.3.0 + dir-test@0.3.0 + dirs-sys@0.3.7 + dirs-sys@0.4.1 + dirs@4.0.0 + dirs@5.0.1 + doc-comment@0.3.3 + drop_bomb@0.1.5 + dyn-clone@1.0.17 + either@1.11.0 + encode_unicode@0.3.6 + env_filter@0.1.0 + env_logger@0.11.5 + equivalent@1.0.1 + errno@0.3.8 + etcetera@0.8.0 + fastrand@2.1.1 + fern@0.7.0 + filetime@0.2.25 + flate2@1.0.28 + fnv@1.0.7 + form_urlencoded@1.2.1 + fs-err@2.11.0 + fsevent-sys@4.1.0 + generic-array@0.14.7 + getopts@0.2.21 + getrandom@0.2.14 + glob@0.3.1 + globset@0.4.15 + globwalk@0.9.1 + half@2.4.1 + hashbrown@0.14.5 + hashbrown@0.15.0 + hashlink@0.9.1 + heck@0.5.0 + hermit-abi@0.3.9 + home@0.5.9 + humantime@2.1.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + idna@0.5.0 + ignore@0.4.23 + imara-diff@0.1.7 + imperative@1.0.6 + indexmap@2.5.0 + indicatif@0.17.8 + indoc@2.0.5 + inotify-sys@0.1.5 + inotify@0.9.6 + insta-cmd@0.6.0 + insta@1.40.0 + instant@0.1.12 + is-docker@0.2.0 + is-macro@0.3.6 + is-terminal@0.4.12 + is-wsl@0.4.0 + itertools@0.10.5 + itertools@0.13.0 + itoa@1.0.11 + jobserver@0.1.32 + jod-thread@0.1.2 + js-sys@0.3.72 + kqueue-sys@1.0.4 + kqueue@1.0.8 + lazy_static@1.4.0 + libc@0.2.161 + libcst@1.5.0 + libcst_derive@1.4.0 + libmimalloc-sys@0.1.39 + libredox@0.1.3 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + lock_api@0.4.11 + log@0.4.22 + lsp-server@0.7.7 + matchers@0.1.0 + matches@0.1.10 + matchit@0.8.4 + memchr@2.7.4 + mimalloc@0.1.43 + minicov@0.3.5 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + mio@0.8.11 + natord@1.0.9 + newtype-uuid@1.1.0 + nix@0.28.0 + nix@0.29.0 + nom@7.1.3 + notify@6.1.1 + nu-ansi-term@0.46.0 + nu-ansi-term@0.50.1 + num-traits@0.2.18 + number_prefix@0.4.0 + once_cell@1.20.2 + oorandom@11.1.3 + option-ext@0.2.0 + ordermap@0.5.3 + os_str_bytes@7.0.0 + overload@0.1.1 + parking_lot@0.12.3 + parking_lot_core@0.9.9 + paste@1.0.15 + path-absolutize@3.1.1 + path-dedot@3.1.1 + path-slash@0.2.1 + pathdiff@0.2.2 + peg-macros@0.8.4 + peg-runtime@0.8.3 + peg@0.8.4 + pep440_rs@0.4.0 + pep440_rs@0.7.1 + pep508_rs@0.3.0 + percent-encoding@2.3.1 + pest@2.7.11 + pest_derive@2.7.11 + pest_generator@2.7.11 + pest_meta@2.7.11 + phf@0.11.2 + phf_codegen@0.11.2 + phf_generator@0.11.2 + phf_shared@0.11.2 + pin-project-lite@0.2.14 + pkg-config@0.3.30 + portable-atomic@1.6.0 + ppv-lite86@0.2.17 + predicates-core@1.0.8 + predicates-tree@1.0.11 + predicates@3.1.2 + pretty_assertions@1.4.1 + proc-macro2@1.0.88 + pyproject-toml@0.9.0 + quick-junit@0.5.0 + quick-xml@0.36.1 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.3 + redox_users@0.4.5 + regex-automata@0.1.10 + regex-automata@0.4.8 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.0 + ring@0.17.8 + rust-stemmers@1.2.0 + rustc-hash@1.1.0 + rustc-hash@2.0.0 + rustix@0.38.37 + rustls-pki-types@1.7.0 + rustls-webpki@0.102.5 + rustls@0.23.10 + rustversion@1.0.15 + ryu@1.0.17 + same-file@1.0.6 + schemars@0.8.21 + schemars_derive@0.8.21 + scoped-tls@1.0.1 + scopeguard@1.2.0 + seahash@4.1.0 + serde-wasm-bindgen@0.6.5 + serde@1.0.210 + serde_derive@1.0.210 + serde_derive_internals@0.29.0 + serde_json@1.0.132 + serde_repr@0.1.19 + serde_spanned@0.6.7 + serde_test@1.0.177 + serde_with@3.11.0 + serde_with_macros@3.11.0 + sha2@0.10.8 + sharded-slab@0.1.7 + shellexpand@3.1.0 + similar@2.5.0 + siphasher@0.3.11 + smallvec@1.13.2 + spin@0.9.8 + static_assertions@1.1.0 + strip-ansi-escapes@0.2.0 + strsim@0.10.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + subtle@2.5.0 + syn@1.0.109 + syn@2.0.82 + synstructure@0.13.1 + tempfile@3.13.0 + terminal_size@0.4.0 + terminfo@0.8.0 + termtree@0.4.1 + test-case-core@3.3.1 + test-case-macros@3.3.1 + test-case@3.3.1 + thiserror-impl@1.0.64 + thiserror@1.0.64 + thread_local@1.1.8 + tikv-jemalloc-sys@0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7 + tikv-jemallocator@0.6.0 + tinytemplate@1.2.1 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.22.20 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-flame@0.2.0 + tracing-indicatif@0.3.6 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing-tree@0.4.0 + tracing@0.1.40 + typed-arena@2.0.2 + typenum@1.17.0 + ucd-trie@0.1.6 + unic-char-property@0.9.0 + unic-char-range@0.9.0 + unic-common@0.9.0 + unic-ucd-category@0.9.0 + unic-ucd-version@0.9.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.13 + unicode-normalization@0.1.24 + unicode-width@0.1.13 + unicode-width@0.2.0 + unicode_names2@1.3.0 + unicode_names2_generator@1.3.0 + unscanny@0.1.0 + untrusted@0.9.0 + ureq@2.10.1 + url@2.5.2 + utf8parse@0.2.1 + uuid-macro-internal@1.11.0 + uuid@1.11.0 + valuable@0.1.0 + version_check@0.9.4 + vt100@0.15.2 + vte@0.11.1 + vte_generate_state_changes@0.1.1 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.95 + wasm-bindgen-futures@0.4.45 + wasm-bindgen-macro-support@0.2.95 + wasm-bindgen-macro@0.2.95 + wasm-bindgen-shared@0.2.95 + wasm-bindgen-test-macro@0.3.45 + wasm-bindgen-test@0.3.45 + wasm-bindgen@0.2.95 + web-sys@0.3.69 + web-time@1.1.0 + webpki-roots@0.26.1 + which@6.0.1 + wild@2.2.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + 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 + winnow@0.6.18 + winsafe@0.0.19 + yansi-term@0.1.2 + yansi@1.0.1 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 + zeroize@1.7.0 + zip@0.6.6 + zstd-safe@5.0.2+zstd.1.5.2 + zstd-sys@2.0.11+zstd.1.5.6 + zstd@0.11.2+zstd.1.5.2 +" + +declare -A GIT_CRATES=( + [lsp-types]='https://github.com/astral-sh/lsp-types;3512a9f33eadc5402cfab1b8f7340824c8ca1439;lsp-types-%commit%' + [salsa-macro-rules]='https://github.com/salsa-rs/salsa;254c749b02cde2fd29852a7463a33e800b771758;salsa-%commit%/components/salsa-macro-rules' + [salsa-macros]='https://github.com/salsa-rs/salsa;254c749b02cde2fd29852a7463a33e800b771758;salsa-%commit%/components/salsa-macros' + [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" +HOMEPAGE=" + https://docs.astral.sh/ruff/ + https://github.com/astral-sh/ruff +" +SRC_URI=" + ${CARGO_CRATE_URIS} + https://github.com/astral-sh/ruff/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 PSF-2 Unicode-DFS-2016 + WTFPL-2 +" +# ring +LICENSE+=" + ISC SSLeay openssl MIT +" +# libcst_derive +LICENSE+=" + MIT PSF-2 Apache-2.0 +" + +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~riscv" + +RDEPEND=" + !elibc_musl? ( !elibc_Darwin? ( !elibc_bionic? ( dev-libs/jemalloc:= ) ) ) + app-arch/zstd +" +DEPEND=" + ${RDEPEND} +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +DOCS=( + BREAKING_CHANGES.md + CODE_OF_CONDUCT.md + CONTRIBUTING.md + README.md + assets + docs +) + +src_configure() { + export RUSTFLAGS="${RUSTFLAGS}" + cargo_src_configure +} + +src_compile() { + local -x ZSTD_SYS_USE_PKG_CONFIG=1 + # Gentoo bug #927338 + if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then + local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 + local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so + fi + cargo_src_compile --bin ruff + + local releasedir + releasedir=$(cargo_target_dir) + + ${releasedir}/ruff generate-shell-completion bash > ruff-completion.bash || die + ${releasedir}/ruff generate-shell-completion zsh > ruff-completion.zsh || die +} + +src_test() { + local -x ZSTD_SYS_USE_PKG_CONFIG=1 + # Gentoo bug #927338 + if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then + local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 + local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so + fi + cargo_src_test --target-dir "${PWD}"/tested-target/ +} + +src_install() { + local releasedir=$(cargo_target_dir) + + dobin ${releasedir}/ruff + + newbashcomp ruff-completion.bash ruff + newzshcomp ruff-completion.zsh _ruff + + dodoc -r "${DOCS[@]}" +} diff --git a/dev-util/ruff/ruff-0.7.1.ebuild b/dev-util/ruff/ruff-0.7.1.ebuild deleted file mode 100644 index 2aa4d4baf989..000000000000 --- a/dev-util/ruff/ruff-0.7.1.ebuild +++ /dev/null @@ -1,487 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - Inflector@0.11.4 - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anes@0.1.6 - annotate-snippets@0.6.1 - annotate-snippets@0.9.2 - anstream@0.6.13 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.8 - anyhow@1.0.90 - append-only-vec@0.1.5 - arc-swap@1.7.1 - argfile@0.2.1 - arrayvec@0.7.4 - assert_fs@1.1.2 - autocfg@1.2.0 - base64@0.22.0 - bincode@1.3.3 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - bstr@1.10.0 - bumpalo@3.16.0 - byteorder@1.5.0 - cachedir@0.3.1 - camino@1.1.9 - cast@0.3.0 - castaway@0.2.3 - cc@1.0.95 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - cfg_aliases@0.2.1 - chic@1.2.2 - chrono@0.4.38 - ciborium-io@0.2.2 - ciborium-ll@0.2.2 - ciborium@0.2.2 - clap@4.5.20 - clap_builder@4.5.20 - clap_complete@4.5.2 - clap_complete_command@0.6.1 - clap_complete_nushell@4.5.2 - clap_derive@4.5.18 - clap_lex@0.7.0 - clearscreen@3.0.0 - codspeed-criterion-compat@2.7.2 - codspeed@2.7.2 - colorchoice@1.0.0 - colored@2.1.0 - compact_str@0.8.0 - console@0.15.8 - console_error_panic_hook@0.1.7 - console_log@1.0.0 - core-foundation-sys@0.8.6 - countme@3.0.1 - cpufeatures@0.2.13 - crc32fast@1.4.0 - criterion-plot@0.5.0 - criterion@0.5.1 - crossbeam-channel@0.5.12 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.19 - crossbeam@0.8.4 - crunchy@0.2.2 - crypto-common@0.1.6 - ctrlc@3.4.5 - darling@0.20.8 - darling_core@0.20.8 - darling_macro@0.20.8 - dashmap@5.5.3 - dashmap@6.1.0 - diff@0.1.13 - difflib@0.4.0 - digest@0.10.7 - dir-test-macros@0.3.0 - dir-test@0.3.0 - dirs-sys@0.3.7 - dirs-sys@0.4.1 - dirs@4.0.0 - dirs@5.0.1 - doc-comment@0.3.3 - drop_bomb@0.1.5 - dyn-clone@1.0.17 - either@1.11.0 - encode_unicode@0.3.6 - env_filter@0.1.0 - env_logger@0.11.5 - equivalent@1.0.1 - errno@0.3.8 - etcetera@0.8.0 - fastrand@2.1.1 - fern@0.7.0 - filetime@0.2.25 - flate2@1.0.28 - fnv@1.0.7 - form_urlencoded@1.2.1 - fs-err@2.11.0 - fsevent-sys@4.1.0 - generic-array@0.14.7 - getopts@0.2.21 - getrandom@0.2.14 - glob@0.3.1 - globset@0.4.15 - globwalk@0.9.1 - half@2.4.1 - hashbrown@0.14.5 - hashbrown@0.15.0 - hashlink@0.9.1 - heck@0.5.0 - hermit-abi@0.3.9 - home@0.5.9 - humantime@2.1.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - idna@0.5.0 - ignore@0.4.23 - imara-diff@0.1.7 - imperative@1.0.6 - indexmap@2.5.0 - indicatif@0.17.8 - indoc@2.0.5 - inotify-sys@0.1.5 - inotify@0.9.6 - insta-cmd@0.6.0 - insta@1.40.0 - instant@0.1.12 - is-docker@0.2.0 - is-macro@0.3.6 - is-terminal@0.4.12 - is-wsl@0.4.0 - itertools@0.10.5 - itertools@0.13.0 - itoa@1.0.11 - jobserver@0.1.32 - jod-thread@0.1.2 - js-sys@0.3.72 - kqueue-sys@1.0.4 - kqueue@1.0.8 - lazy_static@1.4.0 - libc@0.2.161 - libcst@1.5.0 - libcst_derive@1.4.0 - libmimalloc-sys@0.1.39 - libredox@0.1.3 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.14 - lock_api@0.4.11 - log@0.4.22 - lsp-server@0.7.7 - matchers@0.1.0 - matches@0.1.10 - matchit@0.8.4 - memchr@2.7.4 - mimalloc@0.1.43 - minicov@0.3.5 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - mio@0.8.11 - natord@1.0.9 - newtype-uuid@1.1.0 - nix@0.28.0 - nix@0.29.0 - nom@7.1.3 - notify@6.1.1 - nu-ansi-term@0.46.0 - nu-ansi-term@0.50.1 - num-traits@0.2.18 - number_prefix@0.4.0 - once_cell@1.20.2 - oorandom@11.1.3 - option-ext@0.2.0 - ordermap@0.5.3 - os_str_bytes@7.0.0 - overload@0.1.1 - parking_lot@0.12.3 - parking_lot_core@0.9.9 - paste@1.0.15 - path-absolutize@3.1.1 - path-dedot@3.1.1 - path-slash@0.2.1 - pathdiff@0.2.2 - peg-macros@0.8.4 - peg-runtime@0.8.3 - peg@0.8.4 - pep440_rs@0.4.0 - pep440_rs@0.7.1 - pep508_rs@0.3.0 - percent-encoding@2.3.1 - pest@2.7.11 - pest_derive@2.7.11 - pest_generator@2.7.11 - pest_meta@2.7.11 - phf@0.11.2 - phf_codegen@0.11.2 - phf_generator@0.11.2 - phf_shared@0.11.2 - pin-project-lite@0.2.14 - pkg-config@0.3.30 - portable-atomic@1.6.0 - ppv-lite86@0.2.17 - predicates-core@1.0.8 - predicates-tree@1.0.11 - predicates@3.1.2 - pretty_assertions@1.4.1 - proc-macro2@1.0.88 - pyproject-toml@0.9.0 - quick-junit@0.5.0 - quick-xml@0.36.1 - quote@1.0.37 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.3 - redox_users@0.4.5 - regex-automata@0.1.10 - regex-automata@0.4.8 - regex-syntax@0.6.29 - regex-syntax@0.8.5 - regex@1.11.0 - ring@0.17.8 - rust-stemmers@1.2.0 - rustc-hash@1.1.0 - rustc-hash@2.0.0 - rustix@0.38.37 - rustls-pki-types@1.7.0 - rustls-webpki@0.102.5 - rustls@0.23.10 - rustversion@1.0.15 - ryu@1.0.17 - same-file@1.0.6 - schemars@0.8.21 - schemars_derive@0.8.21 - scoped-tls@1.0.1 - scopeguard@1.2.0 - seahash@4.1.0 - serde-wasm-bindgen@0.6.5 - serde@1.0.210 - serde_derive@1.0.210 - serde_derive_internals@0.29.0 - serde_json@1.0.132 - serde_repr@0.1.19 - serde_spanned@0.6.7 - serde_test@1.0.177 - serde_with@3.11.0 - serde_with_macros@3.11.0 - sha2@0.10.8 - sharded-slab@0.1.7 - shellexpand@3.1.0 - similar@2.5.0 - siphasher@0.3.11 - smallvec@1.13.2 - spin@0.9.8 - static_assertions@1.1.0 - strip-ansi-escapes@0.2.0 - strsim@0.10.0 - strsim@0.11.1 - strum@0.26.3 - strum_macros@0.26.4 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.82 - synstructure@0.13.1 - tempfile@3.13.0 - terminal_size@0.4.0 - terminfo@0.8.0 - termtree@0.4.1 - test-case-core@3.3.1 - test-case-macros@3.3.1 - test-case@3.3.1 - thiserror-impl@1.0.64 - thiserror@1.0.64 - thread_local@1.1.8 - tikv-jemalloc-sys@0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7 - tikv-jemallocator@0.6.0 - tinytemplate@1.2.1 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.22.20 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-flame@0.2.0 - tracing-indicatif@0.3.6 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing-tree@0.4.0 - tracing@0.1.40 - typed-arena@2.0.2 - typenum@1.17.0 - ucd-trie@0.1.6 - unic-char-property@0.9.0 - unic-char-range@0.9.0 - unic-common@0.9.0 - unic-ucd-category@0.9.0 - unic-ucd-version@0.9.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.13 - unicode-normalization@0.1.24 - unicode-width@0.1.13 - unicode-width@0.2.0 - unicode_names2@1.3.0 - unicode_names2_generator@1.3.0 - unscanny@0.1.0 - untrusted@0.9.0 - ureq@2.10.1 - url@2.5.2 - utf8parse@0.2.1 - uuid-macro-internal@1.11.0 - uuid@1.11.0 - valuable@0.1.0 - version_check@0.9.4 - vt100@0.15.2 - vte@0.11.1 - vte_generate_state_changes@0.1.1 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.95 - wasm-bindgen-futures@0.4.45 - wasm-bindgen-macro-support@0.2.95 - wasm-bindgen-macro@0.2.95 - wasm-bindgen-shared@0.2.95 - wasm-bindgen-test-macro@0.3.45 - wasm-bindgen-test@0.3.45 - wasm-bindgen@0.2.95 - web-sys@0.3.69 - web-time@1.1.0 - webpki-roots@0.26.1 - which@6.0.1 - wild@2.2.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - 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 - winnow@0.6.18 - winsafe@0.0.19 - yansi-term@0.1.2 - yansi@1.0.1 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 - zeroize@1.7.0 - zip@0.6.6 - zstd-safe@5.0.2+zstd.1.5.2 - zstd-sys@2.0.11+zstd.1.5.6 - zstd@0.11.2+zstd.1.5.2 -" - -declare -A GIT_CRATES=( - [lsp-types]='https://github.com/astral-sh/lsp-types;3512a9f33eadc5402cfab1b8f7340824c8ca1439;lsp-types-%commit%' - [salsa-macro-rules]='https://github.com/salsa-rs/salsa;254c749b02cde2fd29852a7463a33e800b771758;salsa-%commit%/components/salsa-macro-rules' - [salsa-macros]='https://github.com/salsa-rs/salsa;254c749b02cde2fd29852a7463a33e800b771758;salsa-%commit%/components/salsa-macros' - [salsa]='https://github.com/salsa-rs/salsa;254c749b02cde2fd29852a7463a33e800b771758;salsa-%commit%' -) - -inherit shell-completion cargo - -DESCRIPTION="An extremely fast Python linter, written in Rust" -HOMEPAGE=" - https://docs.astral.sh/ruff/ - https://github.com/astral-sh/ruff -" -SRC_URI=" - ${CARGO_CRATE_URIS} - https://github.com/astral-sh/ruff/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 PSF-2 Unicode-DFS-2016 - WTFPL-2 -" -# ring -LICENSE+=" - ISC SSLeay openssl MIT -" -# libcst_derive -LICENSE+=" - MIT PSF-2 Apache-2.0 -" - -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 -" -DEPEND=" - ${RDEPEND} -" - -QA_FLAGS_IGNORED="usr/bin/.*" - -DOCS=( - BREAKING_CHANGES.md - CODE_OF_CONDUCT.md - CONTRIBUTING.md - README.md - assets - docs -) - -src_configure() { - export RUSTFLAGS="${RUSTFLAGS}" - cargo_src_configure -} - -src_compile() { - local -x ZSTD_SYS_USE_PKG_CONFIG=1 - # Gentoo bug #927338 - if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then - local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 - local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so - fi - cargo_src_compile --bin ruff - - local releasedir - releasedir=$(cargo_target_dir) - - ${releasedir}/ruff generate-shell-completion bash > ruff-completion.bash || die - ${releasedir}/ruff generate-shell-completion zsh > ruff-completion.zsh || die -} - -src_test() { - local -x ZSTD_SYS_USE_PKG_CONFIG=1 - # Gentoo bug #927338 - if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then - local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 - local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so - fi - cargo_src_test --target-dir "${PWD}"/tested-target/ -} - -src_install() { - local releasedir=$(cargo_target_dir) - - dobin ${releasedir}/ruff - - newbashcomp ruff-completion.bash ruff - newzshcomp ruff-completion.zsh _ruff - - dodoc -r "${DOCS[@]}" -} diff --git a/dev-util/ruff/ruff-0.7.2-r1.ebuild b/dev-util/ruff/ruff-0.7.2-r1.ebuild new file mode 100644 index 000000000000..0a5129c2757f --- /dev/null +++ b/dev-util/ruff/ruff-0.7.2-r1.ebuild @@ -0,0 +1,486 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + Inflector@0.11.4 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anes@0.1.6 + annotate-snippets@0.6.1 + annotate-snippets@0.9.2 + anstream@0.6.13 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.8 + anyhow@1.0.91 + append-only-vec@0.1.5 + arc-swap@1.7.1 + argfile@0.2.1 + arrayvec@0.7.4 + assert_fs@1.1.2 + autocfg@1.2.0 + base64@0.22.0 + bincode@1.3.3 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + bstr@1.10.0 + bumpalo@3.16.0 + byteorder@1.5.0 + cachedir@0.3.1 + camino@1.1.9 + cast@0.3.0 + castaway@0.2.3 + cc@1.0.95 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cfg_aliases@0.2.1 + chic@1.2.2 + chrono@0.4.38 + ciborium-io@0.2.2 + ciborium-ll@0.2.2 + ciborium@0.2.2 + clap@4.5.20 + clap_builder@4.5.20 + clap_complete@4.5.2 + clap_complete_command@0.6.1 + clap_complete_nushell@4.5.2 + clap_derive@4.5.18 + clap_lex@0.7.0 + clearscreen@3.0.0 + codspeed-criterion-compat@2.7.2 + codspeed@2.7.2 + colorchoice@1.0.0 + colored@2.1.0 + compact_str@0.8.0 + console@0.15.8 + console_error_panic_hook@0.1.7 + console_log@1.0.0 + core-foundation-sys@0.8.6 + countme@3.0.1 + cpufeatures@0.2.13 + crc32fast@1.4.0 + criterion-plot@0.5.0 + criterion@0.5.1 + crossbeam-channel@0.5.12 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossbeam@0.8.4 + crunchy@0.2.2 + crypto-common@0.1.6 + ctrlc@3.4.5 + darling@0.20.8 + darling_core@0.20.8 + darling_macro@0.20.8 + dashmap@5.5.3 + dashmap@6.1.0 + diff@0.1.13 + difflib@0.4.0 + digest@0.10.7 + dir-test-macros@0.3.0 + dir-test@0.3.0 + dirs-sys@0.3.7 + dirs-sys@0.4.1 + dirs@4.0.0 + dirs@5.0.1 + doc-comment@0.3.3 + drop_bomb@0.1.5 + dyn-clone@1.0.17 + either@1.11.0 + encode_unicode@0.3.6 + env_filter@0.1.0 + env_logger@0.11.5 + equivalent@1.0.1 + errno@0.3.8 + etcetera@0.8.0 + fastrand@2.1.1 + fern@0.7.0 + filetime@0.2.25 + flate2@1.0.28 + fnv@1.0.7 + form_urlencoded@1.2.1 + fs-err@2.11.0 + fsevent-sys@4.1.0 + generic-array@0.14.7 + getopts@0.2.21 + getrandom@0.2.14 + glob@0.3.1 + globset@0.4.15 + globwalk@0.9.1 + half@2.4.1 + hashbrown@0.14.5 + hashbrown@0.15.0 + hashlink@0.9.1 + heck@0.5.0 + hermit-abi@0.3.9 + home@0.5.9 + humantime@2.1.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + idna@0.5.0 + ignore@0.4.23 + imara-diff@0.1.7 + imperative@1.0.6 + indexmap@2.5.0 + indicatif@0.17.8 + indoc@2.0.5 + inotify-sys@0.1.5 + inotify@0.9.6 + insta-cmd@0.6.0 + insta@1.41.0 + instant@0.1.12 + is-docker@0.2.0 + is-macro@0.3.6 + is-terminal@0.4.12 + is-wsl@0.4.0 + itertools@0.10.5 + itertools@0.13.0 + itoa@1.0.11 + jobserver@0.1.32 + jod-thread@0.1.2 + js-sys@0.3.72 + kqueue-sys@1.0.4 + kqueue@1.0.8 + lazy_static@1.4.0 + libc@0.2.161 + libcst@1.5.0 + libcst_derive@1.4.0 + libmimalloc-sys@0.1.39 + libredox@0.1.3 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.14 + lock_api@0.4.11 + log@0.4.22 + lsp-server@0.7.7 + matchers@0.1.0 + matches@0.1.10 + matchit@0.8.4 + memchr@2.7.4 + mimalloc@0.1.43 + minicov@0.3.5 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + mio@0.8.11 + natord@1.0.9 + newtype-uuid@1.1.0 + nix@0.28.0 + nix@0.29.0 + nom@7.1.3 + notify@6.1.1 + nu-ansi-term@0.46.0 + nu-ansi-term@0.50.1 + num-traits@0.2.18 + number_prefix@0.4.0 + once_cell@1.20.2 + oorandom@11.1.3 + option-ext@0.2.0 + ordermap@0.5.3 + os_str_bytes@7.0.0 + overload@0.1.1 + parking_lot@0.12.3 + parking_lot_core@0.9.9 + paste@1.0.15 + path-absolutize@3.1.1 + path-dedot@3.1.1 + path-slash@0.2.1 + pathdiff@0.2.2 + peg-macros@0.8.4 + peg-runtime@0.8.3 + peg@0.8.4 + pep440_rs@0.4.0 + pep440_rs@0.7.1 + pep508_rs@0.3.0 + percent-encoding@2.3.1 + pest@2.7.11 + pest_derive@2.7.11 + pest_generator@2.7.11 + pest_meta@2.7.11 + phf@0.11.2 + phf_codegen@0.11.2 + phf_generator@0.11.2 + phf_shared@0.11.2 + pin-project-lite@0.2.14 + pkg-config@0.3.30 + portable-atomic@1.6.0 + ppv-lite86@0.2.17 + predicates-core@1.0.8 + predicates-tree@1.0.11 + predicates@3.1.2 + pretty_assertions@1.4.1 + proc-macro2@1.0.89 + pyproject-toml@0.9.0 + quick-junit@0.5.0 + quick-xml@0.36.1 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.3 + redox_users@0.4.5 + regex-automata@0.1.10 + regex-automata@0.4.8 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.1 + ring@0.17.8 + rust-stemmers@1.2.0 + rustc-hash@1.1.0 + rustc-hash@2.0.0 + rustix@0.38.37 + rustls-pki-types@1.7.0 + rustls-webpki@0.102.5 + rustls@0.23.10 + rustversion@1.0.15 + ryu@1.0.17 + same-file@1.0.6 + schemars@0.8.21 + schemars_derive@0.8.21 + scoped-tls@1.0.1 + scopeguard@1.2.0 + seahash@4.1.0 + serde-wasm-bindgen@0.6.5 + serde@1.0.213 + serde_derive@1.0.213 + serde_derive_internals@0.29.0 + serde_json@1.0.132 + serde_repr@0.1.19 + serde_spanned@0.6.7 + serde_test@1.0.177 + serde_with@3.11.0 + serde_with_macros@3.11.0 + sha2@0.10.8 + sharded-slab@0.1.7 + shellexpand@3.1.0 + similar@2.5.0 + siphasher@0.3.11 + smallvec@1.13.2 + spin@0.9.8 + static_assertions@1.1.0 + strip-ansi-escapes@0.2.0 + strsim@0.10.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + subtle@2.5.0 + syn@1.0.109 + syn@2.0.85 + synstructure@0.13.1 + tempfile@3.13.0 + terminal_size@0.4.0 + terminfo@0.8.0 + termtree@0.4.1 + test-case-core@3.3.1 + test-case-macros@3.3.1 + test-case@3.3.1 + thiserror-impl@1.0.65 + thiserror@1.0.65 + thread_local@1.1.8 + tikv-jemalloc-sys@0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7 + tikv-jemallocator@0.6.0 + tinytemplate@1.2.1 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.22.20 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-flame@0.2.0 + tracing-indicatif@0.3.6 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing-tree@0.4.0 + tracing@0.1.40 + typed-arena@2.0.2 + typenum@1.17.0 + ucd-trie@0.1.6 + unic-char-property@0.9.0 + unic-char-range@0.9.0 + unic-common@0.9.0 + unic-ucd-category@0.9.0 + unic-ucd-version@0.9.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.13 + unicode-normalization@0.1.24 + unicode-width@0.1.13 + unicode-width@0.2.0 + unicode_names2@1.3.0 + unicode_names2_generator@1.3.0 + unscanny@0.1.0 + untrusted@0.9.0 + ureq@2.10.1 + url@2.5.2 + utf8parse@0.2.1 + uuid-macro-internal@1.11.0 + uuid@1.11.0 + valuable@0.1.0 + version_check@0.9.4 + vt100@0.15.2 + vte@0.11.1 + vte_generate_state_changes@0.1.1 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.95 + wasm-bindgen-futures@0.4.45 + wasm-bindgen-macro-support@0.2.95 + wasm-bindgen-macro@0.2.95 + wasm-bindgen-shared@0.2.95 + wasm-bindgen-test-macro@0.3.45 + wasm-bindgen-test@0.3.45 + wasm-bindgen@0.2.95 + web-sys@0.3.69 + web-time@1.1.0 + webpki-roots@0.26.1 + which@6.0.1 + wild@2.2.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + 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 + winnow@0.6.18 + winsafe@0.0.19 + yansi-term@0.1.2 + yansi@1.0.1 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 + zeroize@1.7.0 + zip@0.6.6 + zstd-safe@5.0.2+zstd.1.5.2 + zstd-sys@2.0.11+zstd.1.5.6 + zstd@0.11.2+zstd.1.5.2 +" + +declare -A GIT_CRATES=( + [lsp-types]='https://github.com/astral-sh/lsp-types;3512a9f33eadc5402cfab1b8f7340824c8ca1439;lsp-types-%commit%' + [salsa-macro-rules]='https://github.com/salsa-rs/salsa;254c749b02cde2fd29852a7463a33e800b771758;salsa-%commit%/components/salsa-macro-rules' + [salsa-macros]='https://github.com/salsa-rs/salsa;254c749b02cde2fd29852a7463a33e800b771758;salsa-%commit%/components/salsa-macros' + [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" +HOMEPAGE=" + https://docs.astral.sh/ruff/ + https://github.com/astral-sh/ruff +" +SRC_URI=" + ${CARGO_CRATE_URIS} + https://github.com/astral-sh/ruff/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 PSF-2 Unicode-DFS-2016 + WTFPL-2 +" +# ring +LICENSE+=" + ISC SSLeay openssl MIT +" +# libcst_derive +LICENSE+=" + MIT PSF-2 Apache-2.0 +" + +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~loong ~riscv" + +RDEPEND=" + !elibc_musl? ( !elibc_Darwin? ( !elibc_bionic? ( dev-libs/jemalloc:= ) ) ) + app-arch/zstd +" +DEPEND=" + ${RDEPEND} +" + +QA_FLAGS_IGNORED="usr/bin/.*" + +DOCS=( + BREAKING_CHANGES.md + CODE_OF_CONDUCT.md + CONTRIBUTING.md + README.md + assets + docs +) + +src_configure() { + export RUSTFLAGS="${RUSTFLAGS}" + cargo_src_configure +} + +src_compile() { + local -x ZSTD_SYS_USE_PKG_CONFIG=1 + # Gentoo bug #927338 + if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then + local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 + local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so + fi + cargo_src_compile --bin ruff + + local releasedir + releasedir=$(cargo_target_dir) + + ${releasedir}/ruff generate-shell-completion bash > ruff-completion.bash || die + ${releasedir}/ruff generate-shell-completion zsh > ruff-completion.zsh || die +} + +src_test() { + local -x ZSTD_SYS_USE_PKG_CONFIG=1 + # Gentoo bug #927338 + if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then + local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 + local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so + fi + cargo_src_test --target-dir "${PWD}"/tested-target/ +} + +src_install() { + local releasedir=$(cargo_target_dir) + + dobin ${releasedir}/ruff + + newbashcomp ruff-completion.bash ruff + newzshcomp ruff-completion.zsh _ruff + + dodoc -r "${DOCS[@]}" +} diff --git a/dev-util/ruff/ruff-0.7.2.ebuild b/dev-util/ruff/ruff-0.7.2.ebuild deleted file mode 100644 index cd6b3ea4c24a..000000000000 --- a/dev-util/ruff/ruff-0.7.2.ebuild +++ /dev/null @@ -1,487 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - Inflector@0.11.4 - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anes@0.1.6 - annotate-snippets@0.6.1 - annotate-snippets@0.9.2 - anstream@0.6.13 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.8 - anyhow@1.0.91 - append-only-vec@0.1.5 - arc-swap@1.7.1 - argfile@0.2.1 - arrayvec@0.7.4 - assert_fs@1.1.2 - autocfg@1.2.0 - base64@0.22.0 - bincode@1.3.3 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - bstr@1.10.0 - bumpalo@3.16.0 - byteorder@1.5.0 - cachedir@0.3.1 - camino@1.1.9 - cast@0.3.0 - castaway@0.2.3 - cc@1.0.95 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - cfg_aliases@0.2.1 - chic@1.2.2 - chrono@0.4.38 - ciborium-io@0.2.2 - ciborium-ll@0.2.2 - ciborium@0.2.2 - clap@4.5.20 - clap_builder@4.5.20 - clap_complete@4.5.2 - clap_complete_command@0.6.1 - clap_complete_nushell@4.5.2 - clap_derive@4.5.18 - clap_lex@0.7.0 - clearscreen@3.0.0 - codspeed-criterion-compat@2.7.2 - codspeed@2.7.2 - colorchoice@1.0.0 - colored@2.1.0 - compact_str@0.8.0 - console@0.15.8 - console_error_panic_hook@0.1.7 - console_log@1.0.0 - core-foundation-sys@0.8.6 - countme@3.0.1 - cpufeatures@0.2.13 - crc32fast@1.4.0 - criterion-plot@0.5.0 - criterion@0.5.1 - crossbeam-channel@0.5.12 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.19 - crossbeam@0.8.4 - crunchy@0.2.2 - crypto-common@0.1.6 - ctrlc@3.4.5 - darling@0.20.8 - darling_core@0.20.8 - darling_macro@0.20.8 - dashmap@5.5.3 - dashmap@6.1.0 - diff@0.1.13 - difflib@0.4.0 - digest@0.10.7 - dir-test-macros@0.3.0 - dir-test@0.3.0 - dirs-sys@0.3.7 - dirs-sys@0.4.1 - dirs@4.0.0 - dirs@5.0.1 - doc-comment@0.3.3 - drop_bomb@0.1.5 - dyn-clone@1.0.17 - either@1.11.0 - encode_unicode@0.3.6 - env_filter@0.1.0 - env_logger@0.11.5 - equivalent@1.0.1 - errno@0.3.8 - etcetera@0.8.0 - fastrand@2.1.1 - fern@0.7.0 - filetime@0.2.25 - flate2@1.0.28 - fnv@1.0.7 - form_urlencoded@1.2.1 - fs-err@2.11.0 - fsevent-sys@4.1.0 - generic-array@0.14.7 - getopts@0.2.21 - getrandom@0.2.14 - glob@0.3.1 - globset@0.4.15 - globwalk@0.9.1 - half@2.4.1 - hashbrown@0.14.5 - hashbrown@0.15.0 - hashlink@0.9.1 - heck@0.5.0 - hermit-abi@0.3.9 - home@0.5.9 - humantime@2.1.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - idna@0.5.0 - ignore@0.4.23 - imara-diff@0.1.7 - imperative@1.0.6 - indexmap@2.5.0 - indicatif@0.17.8 - indoc@2.0.5 - inotify-sys@0.1.5 - inotify@0.9.6 - insta-cmd@0.6.0 - insta@1.41.0 - instant@0.1.12 - is-docker@0.2.0 - is-macro@0.3.6 - is-terminal@0.4.12 - is-wsl@0.4.0 - itertools@0.10.5 - itertools@0.13.0 - itoa@1.0.11 - jobserver@0.1.32 - jod-thread@0.1.2 - js-sys@0.3.72 - kqueue-sys@1.0.4 - kqueue@1.0.8 - lazy_static@1.4.0 - libc@0.2.161 - libcst@1.5.0 - libcst_derive@1.4.0 - libmimalloc-sys@0.1.39 - libredox@0.1.3 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.14 - lock_api@0.4.11 - log@0.4.22 - lsp-server@0.7.7 - matchers@0.1.0 - matches@0.1.10 - matchit@0.8.4 - memchr@2.7.4 - mimalloc@0.1.43 - minicov@0.3.5 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - mio@0.8.11 - natord@1.0.9 - newtype-uuid@1.1.0 - nix@0.28.0 - nix@0.29.0 - nom@7.1.3 - notify@6.1.1 - nu-ansi-term@0.46.0 - nu-ansi-term@0.50.1 - num-traits@0.2.18 - number_prefix@0.4.0 - once_cell@1.20.2 - oorandom@11.1.3 - option-ext@0.2.0 - ordermap@0.5.3 - os_str_bytes@7.0.0 - overload@0.1.1 - parking_lot@0.12.3 - parking_lot_core@0.9.9 - paste@1.0.15 - path-absolutize@3.1.1 - path-dedot@3.1.1 - path-slash@0.2.1 - pathdiff@0.2.2 - peg-macros@0.8.4 - peg-runtime@0.8.3 - peg@0.8.4 - pep440_rs@0.4.0 - pep440_rs@0.7.1 - pep508_rs@0.3.0 - percent-encoding@2.3.1 - pest@2.7.11 - pest_derive@2.7.11 - pest_generator@2.7.11 - pest_meta@2.7.11 - phf@0.11.2 - phf_codegen@0.11.2 - phf_generator@0.11.2 - phf_shared@0.11.2 - pin-project-lite@0.2.14 - pkg-config@0.3.30 - portable-atomic@1.6.0 - ppv-lite86@0.2.17 - predicates-core@1.0.8 - predicates-tree@1.0.11 - predicates@3.1.2 - pretty_assertions@1.4.1 - proc-macro2@1.0.89 - pyproject-toml@0.9.0 - quick-junit@0.5.0 - quick-xml@0.36.1 - quote@1.0.37 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.3 - redox_users@0.4.5 - regex-automata@0.1.10 - regex-automata@0.4.8 - regex-syntax@0.6.29 - regex-syntax@0.8.5 - regex@1.11.1 - ring@0.17.8 - rust-stemmers@1.2.0 - rustc-hash@1.1.0 - rustc-hash@2.0.0 - rustix@0.38.37 - rustls-pki-types@1.7.0 - rustls-webpki@0.102.5 - rustls@0.23.10 - rustversion@1.0.15 - ryu@1.0.17 - same-file@1.0.6 - schemars@0.8.21 - schemars_derive@0.8.21 - scoped-tls@1.0.1 - scopeguard@1.2.0 - seahash@4.1.0 - serde-wasm-bindgen@0.6.5 - serde@1.0.213 - serde_derive@1.0.213 - serde_derive_internals@0.29.0 - serde_json@1.0.132 - serde_repr@0.1.19 - serde_spanned@0.6.7 - serde_test@1.0.177 - serde_with@3.11.0 - serde_with_macros@3.11.0 - sha2@0.10.8 - sharded-slab@0.1.7 - shellexpand@3.1.0 - similar@2.5.0 - siphasher@0.3.11 - smallvec@1.13.2 - spin@0.9.8 - static_assertions@1.1.0 - strip-ansi-escapes@0.2.0 - strsim@0.10.0 - strsim@0.11.1 - strum@0.26.3 - strum_macros@0.26.4 - subtle@2.5.0 - syn@1.0.109 - syn@2.0.85 - synstructure@0.13.1 - tempfile@3.13.0 - terminal_size@0.4.0 - terminfo@0.8.0 - termtree@0.4.1 - test-case-core@3.3.1 - test-case-macros@3.3.1 - test-case@3.3.1 - thiserror-impl@1.0.65 - thiserror@1.0.65 - thread_local@1.1.8 - tikv-jemalloc-sys@0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7 - tikv-jemallocator@0.6.0 - tinytemplate@1.2.1 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.22.20 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-flame@0.2.0 - tracing-indicatif@0.3.6 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing-tree@0.4.0 - tracing@0.1.40 - typed-arena@2.0.2 - typenum@1.17.0 - ucd-trie@0.1.6 - unic-char-property@0.9.0 - unic-char-range@0.9.0 - unic-common@0.9.0 - unic-ucd-category@0.9.0 - unic-ucd-version@0.9.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.13 - unicode-normalization@0.1.24 - unicode-width@0.1.13 - unicode-width@0.2.0 - unicode_names2@1.3.0 - unicode_names2_generator@1.3.0 - unscanny@0.1.0 - untrusted@0.9.0 - ureq@2.10.1 - url@2.5.2 - utf8parse@0.2.1 - uuid-macro-internal@1.11.0 - uuid@1.11.0 - valuable@0.1.0 - version_check@0.9.4 - vt100@0.15.2 - vte@0.11.1 - vte_generate_state_changes@0.1.1 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.95 - wasm-bindgen-futures@0.4.45 - wasm-bindgen-macro-support@0.2.95 - wasm-bindgen-macro@0.2.95 - wasm-bindgen-shared@0.2.95 - wasm-bindgen-test-macro@0.3.45 - wasm-bindgen-test@0.3.45 - wasm-bindgen@0.2.95 - web-sys@0.3.69 - web-time@1.1.0 - webpki-roots@0.26.1 - which@6.0.1 - wild@2.2.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - 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 - winnow@0.6.18 - winsafe@0.0.19 - yansi-term@0.1.2 - yansi@1.0.1 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 - zeroize@1.7.0 - zip@0.6.6 - zstd-safe@5.0.2+zstd.1.5.2 - zstd-sys@2.0.11+zstd.1.5.6 - zstd@0.11.2+zstd.1.5.2 -" - -declare -A GIT_CRATES=( - [lsp-types]='https://github.com/astral-sh/lsp-types;3512a9f33eadc5402cfab1b8f7340824c8ca1439;lsp-types-%commit%' - [salsa-macro-rules]='https://github.com/salsa-rs/salsa;254c749b02cde2fd29852a7463a33e800b771758;salsa-%commit%/components/salsa-macro-rules' - [salsa-macros]='https://github.com/salsa-rs/salsa;254c749b02cde2fd29852a7463a33e800b771758;salsa-%commit%/components/salsa-macros' - [salsa]='https://github.com/salsa-rs/salsa;254c749b02cde2fd29852a7463a33e800b771758;salsa-%commit%' -) - -inherit shell-completion cargo - -DESCRIPTION="An extremely fast Python linter, written in Rust" -HOMEPAGE=" - https://docs.astral.sh/ruff/ - https://github.com/astral-sh/ruff -" -SRC_URI=" - ${CARGO_CRATE_URIS} - https://github.com/astral-sh/ruff/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 PSF-2 Unicode-DFS-2016 - WTFPL-2 -" -# ring -LICENSE+=" - ISC SSLeay openssl MIT -" -# libcst_derive -LICENSE+=" - MIT PSF-2 Apache-2.0 -" - -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 -" -DEPEND=" - ${RDEPEND} -" - -QA_FLAGS_IGNORED="usr/bin/.*" - -DOCS=( - BREAKING_CHANGES.md - CODE_OF_CONDUCT.md - CONTRIBUTING.md - README.md - assets - docs -) - -src_configure() { - export RUSTFLAGS="${RUSTFLAGS}" - cargo_src_configure -} - -src_compile() { - local -x ZSTD_SYS_USE_PKG_CONFIG=1 - # Gentoo bug #927338 - if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then - local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 - local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so - fi - cargo_src_compile --bin ruff - - local releasedir - releasedir=$(cargo_target_dir) - - ${releasedir}/ruff generate-shell-completion bash > ruff-completion.bash || die - ${releasedir}/ruff generate-shell-completion zsh > ruff-completion.zsh || die -} - -src_test() { - local -x ZSTD_SYS_USE_PKG_CONFIG=1 - # Gentoo bug #927338 - if use !elibc_musl && use !elibc_Darwin && use !elibc_bionic; then - local -x CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS=1 - local -x JEMALLOC_OVERRIDE="${ESYSROOT}/usr/$(get_libdir)"/libjemalloc.so - fi - cargo_src_test --target-dir "${PWD}"/tested-target/ -} - -src_install() { - local releasedir=$(cargo_target_dir) - - dobin ${releasedir}/ruff - - newbashcomp ruff-completion.bash ruff - newzshcomp ruff-completion.zsh _ruff - - dodoc -r "${DOCS[@]}" -} diff --git a/dev-util/rustup/rustup-1.27.0-r1.ebuild b/dev-util/rustup/rustup-1.27.0-r1.ebuild new file mode 100644 index 000000000000..955f561e70f4 --- /dev/null +++ b/dev-util/rustup/rustup-1.27.0-r1.ebuild @@ -0,0 +1,97 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +inherit bash-completion-r1 cargo prefix + +DESCRIPTION="Rust toolchain installer" +HOMEPAGE="https://rust-lang.github.io/rustup/" + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rust-lang/${PN}.git" +else + SRC_URI="https://github.com/rust-lang/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + https://dev.gentoo.org/~arthurzam/distfiles/dev-util/${PN}/${P}-crates.tar.xz + " + KEYWORDS="~amd64 ~arm64 ~ppc64" +fi + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" +SLOT="0" +# uses network +RESTRICT="test" + +DEPEND=" + app-arch/xz-utils + net-misc/curl:=[http2,ssl] + dev-libs/openssl:0= +" +RDEPEND="${DEPEND}" + +# rust does not use *FLAGS from make.conf, silence portage warning +QA_FLAGS_IGNORED="usr/bin/rustup-init" + +src_unpack() { + if [[ "${PV}" == 9999 ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + # modeled after ci/run.bash upstream + # reqwest-rustls-tls requires ring crate, which is not very portable. + local myfeatures=( + no-self-update + curl-backend + reqwest-backend + reqwest-default-tls + ) + case ${ARCH} in + ppc* | mips* | riscv* | s390*) + ;; + *) myfeatures+=( reqwest-rustls-tls ) + ;; + esac + cargo_src_configure --no-default-features +} + +src_compile() { + export OPENSSL_NO_VENDOR=true + cargo_src_compile +} + +src_install() { + cargo_src_install + einstalldocs + newbin "$(prefixify_ro "${FILESDIR}"/symlink_rustup.sh)" rustup-init-gentoo + + ln -s "${ED}/usr/bin/rustup-init" rustup || die + ./rustup completions bash rustup > "${T}/rustup" || die + ./rustup completions zsh rustup > "${T}/_rustup" || die + + dobashcomp "${T}/rustup" + + insinto /usr/share/zsh/site-functions + doins "${T}/_rustup" +} + +pkg_postinst() { + elog "No rustup toolchains installed by default" + elog "eselect activated system rust toolchain can be added to rustup by running" + elog "helper script installed as ${EPREFIX}/usr/bin/rustup-init-gentoo" + elog "it will create symlinks to system-installed rustup in home directory" + elog "and rustup updates will be managed by portage" + elog "please delete current rustup binaries from ~/.cargo/bin/ (if any)" + elog "before running rustup-init-gentoo" +} diff --git a/dev-util/rustup/rustup-1.27.0.ebuild b/dev-util/rustup/rustup-1.27.0.ebuild deleted file mode 100644 index 7a13cc3a534b..000000000000 --- a/dev-util/rustup/rustup-1.27.0.ebuild +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright 2020-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -" - -inherit bash-completion-r1 cargo prefix - -DESCRIPTION="Rust toolchain installer" -HOMEPAGE="https://rust-lang.github.io/rustup/" - -if [[ ${PV} == "9999" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/rust-lang/${PN}.git" -else - SRC_URI="https://github.com/rust-lang/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} - https://dev.gentoo.org/~arthurzam/distfiles/dev-util/${PN}/${P}-crates.tar.xz - " - KEYWORDS="~amd64 ~arm64 ~ppc64" -fi - -LICENSE="|| ( Apache-2.0 MIT )" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" -SLOT="0" -# uses network -RESTRICT="test" - -DEPEND=" - app-arch/xz-utils - net-misc/curl:=[http2,ssl] - 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" - -src_unpack() { - if [[ "${PV}" == 9999 ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_configure() { - # modeled after ci/run.bash upstream - # reqwest-rustls-tls requires ring crate, which is not very portable. - local myfeatures=( - no-self-update - curl-backend - reqwest-backend - reqwest-default-tls - ) - case ${ARCH} in - ppc* | mips* | riscv* | s390*) - ;; - *) myfeatures+=( reqwest-rustls-tls ) - ;; - esac - cargo_src_configure --no-default-features -} - -src_compile() { - export OPENSSL_NO_VENDOR=true - cargo_src_compile -} - -src_install() { - cargo_src_install - einstalldocs - newbin "$(prefixify_ro "${FILESDIR}"/symlink_rustup.sh)" rustup-init-gentoo - - ln -s "${ED}/usr/bin/rustup-init" rustup || die - ./rustup completions bash rustup > "${T}/rustup" || die - ./rustup completions zsh rustup > "${T}/_rustup" || die - - dobashcomp "${T}/rustup" - - insinto /usr/share/zsh/site-functions - doins "${T}/_rustup" -} - -pkg_postinst() { - elog "No rustup toolchains installed by default" - elog "eselect activated system rust toolchain can be added to rustup by running" - elog "helper script installed as ${EPREFIX}/usr/bin/rustup-init-gentoo" - elog "it will create symlinks to system-installed rustup in home directory" - elog "and rustup updates will be managed by portage" - elog "please delete current rustup binaries from ~/.cargo/bin/ (if any)" - elog "before running rustup-init-gentoo" -} diff --git a/dev-util/rustup/rustup-1.27.1-r1.ebuild b/dev-util/rustup/rustup-1.27.1-r1.ebuild new file mode 100644 index 000000000000..b7b6c9366d6b --- /dev/null +++ b/dev-util/rustup/rustup-1.27.1-r1.ebuild @@ -0,0 +1,95 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES="" + +inherit bash-completion-r1 cargo prefix + +DESCRIPTION="Rust toolchain installer" +HOMEPAGE="https://rust-lang.github.io/rustup/" + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/rust-lang/${PN}.git" +else + SRC_URI="https://github.com/rust-lang/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/dev-util/${PN}/${P}-crates.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc64" +fi + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" +SLOT="0" +# uses network +RESTRICT="test" + +DEPEND=" + app-arch/xz-utils + net-misc/curl:=[http2,ssl] + dev-libs/openssl:0= +" +RDEPEND="${DEPEND}" + +# rust does not use *FLAGS from make.conf, silence portage warning +QA_FLAGS_IGNORED="usr/bin/rustup-init" + +src_unpack() { + if [[ "${PV}" == 9999 ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + # modeled after ci/run.bash upstream + # reqwest-rustls-tls requires ring crate, which is not very portable. + local myfeatures=( + no-self-update + curl-backend + reqwest-backend + reqwest-default-tls + ) + case ${ARCH} in + ppc* | mips* | riscv* | s390*) + ;; + *) myfeatures+=( reqwest-rustls-tls ) + ;; + esac + cargo_src_configure --no-default-features +} + +src_compile() { + export OPENSSL_NO_VENDOR=true + cargo_src_compile +} + +src_install() { + cargo_src_install + einstalldocs + newbin "$(prefixify_ro "${FILESDIR}"/symlink_rustup.sh)" rustup-init-gentoo + + ln -s "${ED}/usr/bin/rustup-init" rustup || die + ./rustup completions bash rustup > "${T}/rustup" || die + ./rustup completions zsh rustup > "${T}/_rustup" || die + + dobashcomp "${T}/rustup" + + insinto /usr/share/zsh/site-functions + doins "${T}/_rustup" +} + +pkg_postinst() { + elog "No rustup toolchains installed by default" + elog "eselect activated system rust toolchain can be added to rustup by running" + elog "helper script installed as ${EPREFIX}/usr/bin/rustup-init-gentoo" + elog "it will create symlinks to system-installed rustup in home directory" + elog "and rustup updates will be managed by portage" + elog "please delete current rustup binaries from ~/.cargo/bin/ (if any)" + elog "before running rustup-init-gentoo" +} diff --git a/dev-util/rustup/rustup-1.27.1.ebuild b/dev-util/rustup/rustup-1.27.1.ebuild deleted file mode 100644 index b7b6c9366d6b..000000000000 --- a/dev-util/rustup/rustup-1.27.1.ebuild +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 2020-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES="" - -inherit bash-completion-r1 cargo prefix - -DESCRIPTION="Rust toolchain installer" -HOMEPAGE="https://rust-lang.github.io/rustup/" - -if [[ ${PV} == "9999" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/rust-lang/${PN}.git" -else - SRC_URI="https://github.com/rust-lang/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/dev-util/${PN}/${P}-crates.tar.xz" - KEYWORDS="~amd64 ~arm64 ~ppc64" -fi - -LICENSE="|| ( Apache-2.0 MIT )" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT Unicode-DFS-2016" -SLOT="0" -# uses network -RESTRICT="test" - -DEPEND=" - app-arch/xz-utils - net-misc/curl:=[http2,ssl] - dev-libs/openssl:0= -" -RDEPEND="${DEPEND}" - -# rust does not use *FLAGS from make.conf, silence portage warning -QA_FLAGS_IGNORED="usr/bin/rustup-init" - -src_unpack() { - if [[ "${PV}" == 9999 ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_configure() { - # modeled after ci/run.bash upstream - # reqwest-rustls-tls requires ring crate, which is not very portable. - local myfeatures=( - no-self-update - curl-backend - reqwest-backend - reqwest-default-tls - ) - case ${ARCH} in - ppc* | mips* | riscv* | s390*) - ;; - *) myfeatures+=( reqwest-rustls-tls ) - ;; - esac - cargo_src_configure --no-default-features -} - -src_compile() { - export OPENSSL_NO_VENDOR=true - cargo_src_compile -} - -src_install() { - cargo_src_install - einstalldocs - newbin "$(prefixify_ro "${FILESDIR}"/symlink_rustup.sh)" rustup-init-gentoo - - ln -s "${ED}/usr/bin/rustup-init" rustup || die - ./rustup completions bash rustup > "${T}/rustup" || die - ./rustup completions zsh rustup > "${T}/_rustup" || die - - dobashcomp "${T}/rustup" - - insinto /usr/share/zsh/site-functions - doins "${T}/_rustup" -} - -pkg_postinst() { - elog "No rustup toolchains installed by default" - elog "eselect activated system rust toolchain can be added to rustup by running" - elog "helper script installed as ${EPREFIX}/usr/bin/rustup-init-gentoo" - elog "it will create symlinks to system-installed rustup in home directory" - elog "and rustup updates will be managed by portage" - elog "please delete current rustup binaries from ~/.cargo/bin/ (if any)" - elog "before running rustup-init-gentoo" -} 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-r1.ebuild deleted file mode 100644 index 97207cbb5aeb..000000000000 --- a/dev-util/sccache/sccache-0.5.4-r1.ebuild +++ /dev/null @@ -1,496 +0,0 @@ -# Copyright 2017-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.7 - -EAPI=8 - -CRATES=" - addr2line@0.19.0 - adler@1.0.2 - aho-corasick@0.7.20 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstyle@0.3.5 - anstyle@1.0.0 - anyhow@1.0.70 - ar@0.9.0 - arc-swap@1.5.1 - arrayref@0.3.6 - arrayvec@0.5.2 - arrayvec@0.7.2 - ascii@1.1.0 - assert_cmd@2.0.10 - async-compat@0.2.1 - async-trait@0.1.68 - autocfg@1.1.0 - backon@0.4.0 - backtrace@0.3.67 - base64@0.13.1 - base64@0.21.0 - base64ct@1.6.0 - bb8@0.8.0 - bincode@1.3.3 - bitflags@1.3.2 - bitflags@2.0.2 - blake3@1.3.3 - block-buffer@0.10.3 - bstr@1.0.1 - buf_redux@0.8.4 - bumpalo@3.11.1 - byteorder@1.4.3 - bytes@1.4.0 - cc@1.0.79 - cfg-if@0.1.10 - cfg-if@1.0.0 - chrono@0.4.26 - chunked_transfer@1.4.0 - clap@4.1.11 - clap_derive@4.1.9 - clap_lex@0.3.0 - combine@4.6.6 - const-oid@0.9.2 - const-random-macro@0.1.15 - const-random@0.1.15 - constant_time_eq@0.2.4 - core-foundation-sys@0.8.3 - core-foundation@0.9.3 - core_affinity@0.8.0 - cpufeatures@0.2.5 - crc32fast@1.3.2 - crossbeam-utils@0.8.15 - crunchy@0.2.2 - crypto-common@0.1.6 - daemonize@0.5.0 - dashmap@5.4.0 - data-encoding@2.3.3 - der@0.7.6 - difflib@0.4.0 - digest@0.10.6 - directories@5.0.0 - dirs-sys@0.4.0 - displaydoc@0.1.7 - dlv-list@0.5.0 - doc-comment@0.3.3 - either@1.8.0 - encoding-index-japanese@1.20141219.5 - encoding-index-korean@1.20141219.5 - encoding-index-simpchinese@1.20141219.5 - encoding-index-singlebyte@1.20141219.5 - encoding-index-tradchinese@1.20141219.5 - encoding@0.2.33 - encoding_index_tests@0.1.4 - encoding_rs@0.8.31 - enum-as-inner@0.5.1 - env_logger@0.10.0 - errno-dragonfly@0.1.2 - errno@0.2.8 - errno@0.3.1 - error-chain@0.12.4 - fastrand@1.8.0 - filetime@0.2.21 - flagset@0.4.3 - flate2@1.0.26 - float-cmp@0.9.0 - flume@0.10.14 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.1.0 - fs-err@2.9.0 - futures-channel@0.3.27 - futures-core@0.3.27 - futures-executor@0.3.27 - futures-io@0.3.27 - futures-macro@0.3.27 - futures-sink@0.3.27 - futures-task@0.3.27 - futures-util@0.3.27 - futures@0.3.27 - generic-array@0.14.6 - getrandom@0.2.8 - gimli@0.27.2 - gzp@0.11.3 - h2@0.3.17 - hashbrown@0.12.3 - hashbrown@0.13.2 - heck@0.4.0 - hermit-abi@0.2.6 - hermit-abi@0.3.1 - hex@0.4.3 - hmac@0.12.1 - home@0.5.5 - hostname@0.3.1 - http-body@0.4.5 - http@0.2.9 - httparse@1.8.0 - httpdate@1.0.2 - humantime@2.1.0 - hyper-rustls@0.24.0 - hyper-tls@0.5.0 - hyper@0.14.25 - iana-time-zone@0.1.47 - idna@0.2.3 - idna@0.3.0 - indexmap@1.9.2 - instant@0.1.12 - io-lifetimes@0.7.5 - io-lifetimes@1.0.3 - ipconfig@0.3.1 - ipnet@2.5.1 - is-terminal@0.4.7 - itertools@0.10.5 - itoa@1.0.4 - jobserver@0.1.26 - js-sys@0.3.60 - jsonwebtoken@8.2.0 - lazy_static@1.4.0 - libc@0.2.140 - libm@0.2.6 - libmount@0.1.15 - linked-hash-map@0.5.6 - linux-raw-sys@0.0.46 - linux-raw-sys@0.1.3 - linux-raw-sys@0.3.8 - lock_api@0.4.9 - log@0.4.19 - lru-cache@0.1.2 - match_cfg@0.1.0 - matches@0.1.10 - md-5@0.10.5 - memchr@2.5.0 - memmap2@0.6.2 - memoffset@0.7.1 - mime@0.3.17 - mime_guess@2.0.4 - miniz_oxide@0.6.2 - miniz_oxide@0.7.1 - mio@0.8.5 - multipart@0.18.0 - nanorand@0.7.0 - native-tls@0.2.11 - nix@0.14.1 - nix@0.26.2 - normalize-line-endings@0.3.0 - num-bigint-dig@0.8.2 - num-bigint@0.4.3 - num-integer@0.1.45 - num-iter@0.1.43 - num-traits@0.2.15 - num_cpus@1.15.0 - num_threads@0.1.6 - number_prefix@0.4.0 - object@0.30.3 - once_cell@1.17.1 - opendal@0.37.0 - openssl-macros@0.1.0 - openssl-probe@0.1.5 - openssl-src@111.25.1+1.1.1t - openssl-sys@0.9.90 - openssl@0.10.55 - ordered-multimap@0.6.0 - os_str_bytes@6.4.1 - parking_lot@0.12.1 - parking_lot_core@0.9.4 - pem-rfc7468@0.7.0 - pem@1.1.0 - percent-encoding@2.2.0 - pin-project-internal@1.0.12 - pin-project-lite@0.2.9 - pin-project@1.0.12 - pin-utils@0.1.0 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.26 - ppv-lite86@0.2.17 - predicates-core@1.0.6 - predicates-tree@1.0.7 - predicates@3.0.3 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro-hack@0.5.20+deprecated - proc-macro2@1.0.56 - quick-error@1.2.3 - quick-xml@0.27.1 - quick-xml@0.28.1 - quote@1.0.26 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redis@0.22.1 - redox_syscall@0.2.16 - redox_users@0.4.3 - regex-automata@0.1.10 - regex-syntax@0.6.29 - regex@1.7.3 - reqsign@0.13.0 - reqwest@0.11.18 - resolv-conf@0.7.0 - retry@2.0.0 - ring@0.16.20 - rouille@3.6.1 - rsa@0.9.2 - rust-ini@0.19.0 - rustc-demangle@0.1.23 - rustix@0.35.13 - rustix@0.36.4 - rustix@0.37.7 - rustls-native-certs@0.6.2 - rustls-pemfile@1.0.1 - rustls-webpki@0.100.1 - rustls@0.20.7 - rustls@0.21.1 - ryu@1.0.11 - safemem@0.3.3 - same-file@1.0.6 - schannel@0.1.20 - scopeguard@1.1.0 - sct@0.7.0 - security-framework-sys@2.6.1 - security-framework@2.7.0 - semver@1.0.16 - serde@1.0.159 - serde_derive@1.0.159 - serde_json@1.0.94 - serde_repr@0.1.9 - serde_spanned@0.6.1 - serde_urlencoded@0.7.1 - serial_test@2.0.0 - serial_test_derive@2.0.0 - sha1@0.10.5 - sha1_smol@1.0.0 - sha2@0.10.6 - signal-hook-registry@1.4.0 - signature@2.0.0 - simple_asn1@0.6.2 - slab@0.4.7 - smallvec@1.10.0 - socket2@0.4.9 - spin@0.5.2 - spin@0.9.4 - spki@0.7.2 - static_assertions@1.1.0 - stringmatch@0.3.3 - strip-ansi-escapes@0.1.1 - strsim@0.10.0 - subtle@2.4.1 - syn@1.0.104 - syn@2.0.13 - syslog@6.0.1 - tar@0.4.38 - temp-env@0.3.4 - tempfile@3.4.0 - termcolor@1.1.3 - terminal_size@0.2.2 - termtree@0.4.0 - thirtyfour@0.27.3 - thirtyfour_sync@0.27.1 - thiserror-impl@1.0.38 - thiserror@1.0.38 - threadpool@1.8.1 - time-core@0.1.0 - time-macros@0.2.6 - time@0.1.43 - time@0.3.17 - tiny-keccak@2.0.2 - tiny_http@0.12.0 - tinyvec@1.6.0 - tinyvec_macros@0.1.0 - tokio-macros@2.1.0 - tokio-native-tls@0.3.0 - tokio-rustls@0.23.4 - tokio-rustls@0.24.0 - tokio-serde@0.8.0 - tokio-util@0.7.7 - tokio@1.28.2 - toml@0.7.3 - toml_datetime@0.6.1 - toml_edit@0.19.8 - tower-layer@0.3.2 - tower-service@0.3.2 - tower@0.4.13 - tracing-attributes@0.1.23 - tracing-core@0.1.30 - tracing@0.1.37 - trust-dns-proto@0.22.0 - trust-dns-resolver@0.22.0 - try-lock@0.2.3 - twoway@0.1.8 - typenum@1.15.0 - unicase@2.6.0 - unicode-bidi@0.3.8 - unicode-ident@1.0.5 - unicode-normalization@0.1.22 - untrusted@0.7.1 - url@2.3.1 - urlparse@0.7.3 - utf8parse@0.2.0 - uuid@1.3.3 - vcpkg@0.2.15 - version-compare@0.1.1 - version_check@0.9.4 - void@1.0.2 - vte@0.10.1 - vte_generate_state_changes@0.1.1 - wait-timeout@0.2.0 - walkdir@2.3.3 - want@0.3.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.83 - wasm-bindgen-futures@0.4.29 - wasm-bindgen-macro-support@0.2.83 - wasm-bindgen-macro@0.2.83 - wasm-bindgen-shared@0.2.83 - wasm-bindgen@0.2.83 - wasm-streams@0.2.3 - web-sys@0.3.59 - webpki-roots@0.22.5 - webpki@0.22.0 - which@4.4.0 - widestring@0.5.1 - 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 - windows-sys@0.36.1 - windows-sys@0.42.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-targets@0.42.1 - windows-targets@0.48.0 - windows_aarch64_gnullvm@0.42.1 - windows_aarch64_gnullvm@0.48.0 - windows_aarch64_msvc@0.36.1 - windows_aarch64_msvc@0.42.1 - windows_aarch64_msvc@0.48.0 - windows_i686_gnu@0.36.1 - windows_i686_gnu@0.42.1 - windows_i686_gnu@0.48.0 - windows_i686_msvc@0.36.1 - windows_i686_msvc@0.42.1 - windows_i686_msvc@0.48.0 - windows_x86_64_gnu@0.36.1 - windows_x86_64_gnu@0.42.1 - windows_x86_64_gnu@0.48.0 - windows_x86_64_gnullvm@0.42.1 - windows_x86_64_gnullvm@0.48.0 - windows_x86_64_msvc@0.36.1 - windows_x86_64_msvc@0.42.1 - windows_x86_64_msvc@0.48.0 - winnow@0.4.1 - winreg@0.10.1 - xattr@0.2.3 - zeroize@1.5.7 - zip@0.6.4 - zstd-safe@6.0.4+zstd.1.5.4 - zstd-sys@2.0.7+zstd.1.5.4 - zstd@0.12.3+zstd.1.5.2 -" - -inherit cargo optfeature systemd - -DESCRIPTION="ccache/distcc like tool with support for rust and cloud storage" -HOMEPAGE="https://github.com/mozilla/sccache/" - -if [[ ${PV} == "9999" ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/mozilla/sccache.git" -else - SRC_URI=" - https://github.com/mozilla/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} - " - KEYWORDS="~amd64 ~arm64 ~ppc64" -fi - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB -" -SLOT="0" -IUSE="azure dist-client dist-server gcs memcached redis s3 simple-s3" -# See https://github.com/mozilla/sccache/issues/1820, hopefully temporary. -RESTRICT="test" -REQUIRED_USE="s3? ( simple-s3 )" - -BDEPEND=" - virtual/pkgconfig - >=virtual/rust-1.65 -" -DEPEND=" - app-arch/zstd - sys-libs/zlib:= - dist-server? ( dev-libs/openssl:= ) - gcs? ( dev-libs/openssl:= ) -" -RDEPEND=" - ${DEPEND} - dist-server? ( sys-apps/bubblewrap ) -" - -QA_FLAGS_IGNORED="usr/bin/sccache*" - -src_unpack() { - if [[ "${PV}" == *9999* ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_configure() { - # Should be able to drop this once we have a 'gentoo' profile - sed -i 's/strip = true/strip = false/' Cargo.toml || die - - export ZSTD_SYS_USE_PKG_CONFIG=1 - myfeatures=( - native-zlib - $(usev azure) - $(usev dist-client) - $(usev dist-server) - $(usev gcs) - $(usev memcached) - $(usev redis) - $(usev s3) - $(usev simple-s3) - ) - - cargo_src_configure --no-default-features -} - -src_test() { - if [[ "${PV}" == *9999* ]]; then - ewarn "tests are always broken for ${PV} (require network), skipping" - else - cargo_src_test - fi -} - -src_install() { - cargo_src_install - - keepdir /etc/sccache - - einstalldocs - dodoc -r docs/. - - if use dist-server; then - newinitd "${FILESDIR}"/server.initd sccache-server - newconfd "${FILESDIR}"/server.confd sccache-server - - newinitd "${FILESDIR}"/scheduler.initd sccache-scheduler - newconfd "${FILESDIR}"/scheduler.confd sccache-scheduler - - systemd_dounit "${FILESDIR}"/sccache-server.service - systemd_dounit "${FILESDIR}"/sccache-scheduler.service - - fi -} - -pkg_postinst() { - ewarn "${PN} is experimental, please use with care" - use memcached && optfeature "memcached backend support" net-misc/memcached - use redis && optfeature "redis backend support" dev-db/redis -} diff --git a/dev-util/sccache/sccache-0.5.4-r2.ebuild b/dev-util/sccache/sccache-0.5.4-r2.ebuild new file mode 100644 index 000000000000..cb475537b793 --- /dev/null +++ b/dev-util/sccache/sccache-0.5.4-r2.ebuild @@ -0,0 +1,504 @@ +# Copyright 2017-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.7 + +EAPI=8 + +CRATES=" + addr2line@0.19.0 + adler@1.0.2 + aho-corasick@0.7.20 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstyle@0.3.5 + anstyle@1.0.0 + anyhow@1.0.70 + ar@0.9.0 + arc-swap@1.5.1 + arrayref@0.3.6 + arrayvec@0.5.2 + arrayvec@0.7.2 + ascii@1.1.0 + assert_cmd@2.0.10 + async-compat@0.2.1 + async-trait@0.1.68 + autocfg@1.1.0 + backon@0.4.0 + backtrace@0.3.67 + base64@0.13.1 + base64@0.21.0 + base64ct@1.6.0 + bb8@0.8.0 + bincode@1.3.3 + bitflags@1.3.2 + bitflags@2.0.2 + blake3@1.3.3 + block-buffer@0.10.3 + bstr@1.0.1 + buf_redux@0.8.4 + bumpalo@3.11.1 + byteorder@1.4.3 + bytes@1.4.0 + cc@1.0.79 + cfg-if@0.1.10 + cfg-if@1.0.0 + chrono@0.4.26 + chunked_transfer@1.4.0 + clap@4.1.11 + clap_derive@4.1.9 + clap_lex@0.3.0 + combine@4.6.6 + const-oid@0.9.2 + const-random-macro@0.1.15 + const-random@0.1.15 + constant_time_eq@0.2.4 + core-foundation-sys@0.8.3 + core-foundation@0.9.3 + core_affinity@0.8.0 + cpufeatures@0.2.5 + crc32fast@1.3.2 + crossbeam-utils@0.8.15 + crunchy@0.2.2 + crypto-common@0.1.6 + daemonize@0.5.0 + dashmap@5.4.0 + data-encoding@2.3.3 + der@0.7.6 + difflib@0.4.0 + digest@0.10.6 + directories@5.0.0 + dirs-sys@0.4.0 + displaydoc@0.1.7 + dlv-list@0.5.0 + doc-comment@0.3.3 + either@1.8.0 + encoding-index-japanese@1.20141219.5 + encoding-index-korean@1.20141219.5 + encoding-index-simpchinese@1.20141219.5 + encoding-index-singlebyte@1.20141219.5 + encoding-index-tradchinese@1.20141219.5 + encoding@0.2.33 + encoding_index_tests@0.1.4 + encoding_rs@0.8.31 + enum-as-inner@0.5.1 + env_logger@0.10.0 + errno-dragonfly@0.1.2 + errno@0.2.8 + errno@0.3.1 + error-chain@0.12.4 + fastrand@1.8.0 + filetime@0.2.21 + flagset@0.4.3 + flate2@1.0.26 + float-cmp@0.9.0 + flume@0.10.14 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.1.0 + fs-err@2.9.0 + futures-channel@0.3.27 + futures-core@0.3.27 + futures-executor@0.3.27 + futures-io@0.3.27 + futures-macro@0.3.27 + futures-sink@0.3.27 + futures-task@0.3.27 + futures-util@0.3.27 + futures@0.3.27 + generic-array@0.14.6 + getrandom@0.2.8 + gimli@0.27.2 + gzp@0.11.3 + h2@0.3.17 + hashbrown@0.12.3 + hashbrown@0.13.2 + heck@0.4.0 + hermit-abi@0.2.6 + hermit-abi@0.3.1 + hex@0.4.3 + hmac@0.12.1 + home@0.5.5 + hostname@0.3.1 + http-body@0.4.5 + http@0.2.9 + httparse@1.8.0 + httpdate@1.0.2 + humantime@2.1.0 + hyper-rustls@0.24.0 + hyper-tls@0.5.0 + hyper@0.14.25 + iana-time-zone@0.1.47 + idna@0.2.3 + idna@0.3.0 + indexmap@1.9.2 + instant@0.1.12 + io-lifetimes@0.7.5 + io-lifetimes@1.0.3 + ipconfig@0.3.1 + ipnet@2.5.1 + is-terminal@0.4.7 + itertools@0.10.5 + itoa@1.0.4 + jobserver@0.1.26 + js-sys@0.3.60 + jsonwebtoken@8.2.0 + lazy_static@1.4.0 + libc@0.2.140 + libm@0.2.6 + libmount@0.1.15 + linked-hash-map@0.5.6 + linux-raw-sys@0.0.46 + linux-raw-sys@0.1.3 + linux-raw-sys@0.3.8 + lock_api@0.4.9 + log@0.4.19 + lru-cache@0.1.2 + match_cfg@0.1.0 + matches@0.1.10 + md-5@0.10.5 + memchr@2.5.0 + memmap2@0.6.2 + memoffset@0.7.1 + mime@0.3.17 + mime_guess@2.0.4 + miniz_oxide@0.6.2 + miniz_oxide@0.7.1 + mio@0.8.5 + multipart@0.18.0 + nanorand@0.7.0 + native-tls@0.2.11 + nix@0.14.1 + nix@0.26.2 + normalize-line-endings@0.3.0 + num-bigint-dig@0.8.2 + num-bigint@0.4.3 + num-integer@0.1.45 + num-iter@0.1.43 + num-traits@0.2.15 + num_cpus@1.15.0 + num_threads@0.1.6 + number_prefix@0.4.0 + object@0.30.3 + once_cell@1.17.1 + opendal@0.37.0 + openssl-macros@0.1.0 + openssl-probe@0.1.5 + openssl-src@111.25.1+1.1.1t + openssl-sys@0.9.90 + openssl@0.10.55 + ordered-multimap@0.6.0 + os_str_bytes@6.4.1 + parking_lot@0.12.1 + parking_lot_core@0.9.4 + pem-rfc7468@0.7.0 + pem@1.1.0 + percent-encoding@2.2.0 + pin-project-internal@1.0.12 + pin-project-lite@0.2.9 + pin-project@1.0.12 + pin-utils@0.1.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.26 + ppv-lite86@0.2.17 + predicates-core@1.0.6 + predicates-tree@1.0.7 + predicates@3.0.3 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro-hack@0.5.20+deprecated + proc-macro2@1.0.56 + quick-error@1.2.3 + quick-xml@0.27.1 + quick-xml@0.28.1 + quote@1.0.26 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redis@0.22.1 + redox_syscall@0.2.16 + redox_users@0.4.3 + regex-automata@0.1.10 + regex-syntax@0.6.29 + regex@1.7.3 + reqsign@0.13.0 + reqwest@0.11.18 + resolv-conf@0.7.0 + retry@2.0.0 + ring@0.16.20 + rouille@3.6.1 + rsa@0.9.2 + rust-ini@0.19.0 + rustc-demangle@0.1.23 + rustix@0.35.13 + rustix@0.36.4 + rustix@0.37.7 + rustls-native-certs@0.6.2 + rustls-pemfile@1.0.1 + rustls-webpki@0.100.1 + rustls@0.20.7 + rustls@0.21.1 + ryu@1.0.11 + safemem@0.3.3 + same-file@1.0.6 + schannel@0.1.20 + scopeguard@1.1.0 + sct@0.7.0 + security-framework-sys@2.6.1 + security-framework@2.7.0 + semver@1.0.16 + serde@1.0.159 + serde_derive@1.0.159 + serde_json@1.0.94 + serde_repr@0.1.9 + serde_spanned@0.6.1 + serde_urlencoded@0.7.1 + serial_test@2.0.0 + serial_test_derive@2.0.0 + sha1@0.10.5 + sha1_smol@1.0.0 + sha2@0.10.6 + signal-hook-registry@1.4.0 + signature@2.0.0 + simple_asn1@0.6.2 + slab@0.4.7 + smallvec@1.10.0 + socket2@0.4.9 + spin@0.5.2 + spin@0.9.4 + spki@0.7.2 + static_assertions@1.1.0 + stringmatch@0.3.3 + strip-ansi-escapes@0.1.1 + strsim@0.10.0 + subtle@2.4.1 + syn@1.0.104 + syn@2.0.13 + syslog@6.0.1 + tar@0.4.38 + temp-env@0.3.4 + tempfile@3.4.0 + termcolor@1.1.3 + terminal_size@0.2.2 + termtree@0.4.0 + thirtyfour@0.27.3 + thirtyfour_sync@0.27.1 + thiserror-impl@1.0.38 + thiserror@1.0.38 + threadpool@1.8.1 + time-core@0.1.0 + time-macros@0.2.6 + time@0.1.43 + time@0.3.17 + tiny-keccak@2.0.2 + tiny_http@0.12.0 + tinyvec@1.6.0 + tinyvec_macros@0.1.0 + tokio-macros@2.1.0 + tokio-native-tls@0.3.0 + tokio-rustls@0.23.4 + tokio-rustls@0.24.0 + tokio-serde@0.8.0 + tokio-util@0.7.7 + tokio@1.28.2 + toml@0.7.3 + toml_datetime@0.6.1 + toml_edit@0.19.8 + tower-layer@0.3.2 + tower-service@0.3.2 + tower@0.4.13 + tracing-attributes@0.1.23 + tracing-core@0.1.30 + tracing@0.1.37 + trust-dns-proto@0.22.0 + trust-dns-resolver@0.22.0 + try-lock@0.2.3 + twoway@0.1.8 + typenum@1.15.0 + unicase@2.6.0 + unicode-bidi@0.3.8 + unicode-ident@1.0.5 + unicode-normalization@0.1.22 + untrusted@0.7.1 + url@2.3.1 + urlparse@0.7.3 + utf8parse@0.2.0 + uuid@1.3.3 + vcpkg@0.2.15 + version-compare@0.1.1 + version_check@0.9.4 + void@1.0.2 + vte@0.10.1 + vte_generate_state_changes@0.1.1 + wait-timeout@0.2.0 + walkdir@2.3.3 + want@0.3.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.83 + wasm-bindgen-futures@0.4.29 + wasm-bindgen-macro-support@0.2.83 + wasm-bindgen-macro@0.2.83 + wasm-bindgen-shared@0.2.83 + wasm-bindgen@0.2.83 + wasm-streams@0.2.3 + web-sys@0.3.59 + webpki-roots@0.22.5 + webpki@0.22.0 + which@4.4.0 + widestring@0.5.1 + 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 + windows-sys@0.36.1 + windows-sys@0.42.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-targets@0.42.1 + windows-targets@0.48.0 + windows_aarch64_gnullvm@0.42.1 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_msvc@0.36.1 + windows_aarch64_msvc@0.42.1 + windows_aarch64_msvc@0.48.0 + windows_i686_gnu@0.36.1 + windows_i686_gnu@0.42.1 + windows_i686_gnu@0.48.0 + windows_i686_msvc@0.36.1 + windows_i686_msvc@0.42.1 + windows_i686_msvc@0.48.0 + windows_x86_64_gnu@0.36.1 + windows_x86_64_gnu@0.42.1 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnullvm@0.42.1 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_msvc@0.36.1 + windows_x86_64_msvc@0.42.1 + windows_x86_64_msvc@0.48.0 + winnow@0.4.1 + winreg@0.10.1 + xattr@0.2.3 + zeroize@1.5.7 + zip@0.6.4 + zstd-safe@6.0.4+zstd.1.5.4 + zstd-sys@2.0.7+zstd.1.5.4 + 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" +HOMEPAGE="https://github.com/mozilla/sccache/" + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/mozilla/sccache.git" +else + SRC_URI=" + https://github.com/mozilla/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + " + KEYWORDS="~amd64 ~arm64 ~ppc64" +fi + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB +" +SLOT="0" +IUSE="azure dist-client dist-server gcs memcached redis s3 simple-s3" +# See https://github.com/mozilla/sccache/issues/1820, hopefully temporary. +RESTRICT="test" +REQUIRED_USE="s3? ( simple-s3 )" + +BDEPEND=" + virtual/pkgconfig +" +DEPEND=" + app-arch/zstd + sys-libs/zlib:= + dist-server? ( dev-libs/openssl:= ) + gcs? ( dev-libs/openssl:= ) +" +RDEPEND=" + ${DEPEND} + dist-server? ( sys-apps/bubblewrap ) +" + +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 + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + # Should be able to drop this once we have a 'gentoo' profile + sed -i 's/strip = true/strip = false/' Cargo.toml || die + + export ZSTD_SYS_USE_PKG_CONFIG=1 + myfeatures=( + native-zlib + $(usev azure) + $(usev dist-client) + $(usev dist-server) + $(usev gcs) + $(usev memcached) + $(usev redis) + $(usev s3) + $(usev simple-s3) + ) + + cargo_src_configure --no-default-features +} + +src_test() { + if [[ "${PV}" == *9999* ]]; then + ewarn "tests are always broken for ${PV} (require network), skipping" + else + cargo_src_test + fi +} + +src_install() { + cargo_src_install + + keepdir /etc/sccache + + einstalldocs + dodoc -r docs/. + + if use dist-server; then + newinitd "${FILESDIR}"/server.initd sccache-server + newconfd "${FILESDIR}"/server.confd sccache-server + + newinitd "${FILESDIR}"/scheduler.initd sccache-scheduler + newconfd "${FILESDIR}"/scheduler.confd sccache-scheduler + + systemd_dounit "${FILESDIR}"/sccache-server.service + systemd_dounit "${FILESDIR}"/sccache-scheduler.service + + fi +} + +pkg_postinst() { + ewarn "${PN} is experimental, please use with care" + use memcached && optfeature "memcached backend support" net-misc/memcached + use redis && optfeature "redis backend support" dev-db/redis +} 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-r1.ebuild b/dev-util/selenium-manager/selenium-manager-4.25.0-r1.ebuild new file mode 100644 index 000000000000..1e46fdad2294 --- /dev/null +++ b/dev-util/selenium-manager/selenium-manager-4.25.0-r1.ebuild @@ -0,0 +1,121 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +inherit cargo + +TAG=selenium-${PV} +MY_P=selenium-${TAG} +CRATES_P=${PN}-4.24.0 +DESCRIPTION="CLI tool that manages the browser/driver infrastructure required by Selenium" +HOMEPAGE=" + https://www.selenium.dev/ + https://github.com/SeleniumHQ/selenium/ +" +SRC_URI=" + https://github.com/SeleniumHQ/selenium/archive/selenium-${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://dev.gentoo.org/~mgorny/dist/${CRATES_P}-crates.tar.xz + " +fi +S="${WORKDIR}/${MY_P}/rust" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64 arm64 ppc64 ~riscv x86" +IUSE="telemetry test" +RESTRICT="!test? ( test )" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= + sys-libs/zlib:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + || ( + www-client/firefox + www-client/firefox-bin + ) + ) +" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + default + + sed -i -e '/strip/d' Cargo.toml || die + if ! use telemetry; then + sed -i -e '/avoid-stats/s:false:true:' src/config.rs || die + fi + + # Avoid tests requiring Internet or specific browsers (or trying + # to fetch them, whatever). + rm tests/browser_download_tests.rs || die + rm tests/cache_tests.rs || die + rm tests/exec_driver_tests.rs || die + rm tests/grid_tests.rs || die + rm tests/browser_tests.rs || die + rm tests/config_tests.rs || die + rm tests/iexplorer_tests.rs || die + rm tests/mirror_tests.rs || die + rm tests/output_tests.rs || die + rm tests/stable_browser_tests.rs || die + rm tests/webview_tests.rs || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + sed -i -e '/features.*static/d' "${ECARGO_VENDOR}"/apple-xar-*/Cargo.toml || die + + # remove unbundled sources, just in case + # (smoke.c is actually used to test system -lz, sigh) + find "${ECARGO_VENDOR}"/*-sys-*/ \ + \( -name '*.c' -a -not -name 'smoke.c' \) -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_test() { + local -x PATH=${T}/bin:${PATH} + + mkdir "${T}/bin" || die + if ! has_version "www-client/firefox"; then + # upstream expects "firefox" rather than "firefox-bin" + ln -s "$(type -P firefox-bin)" "${T}/bin/firefox" || die + fi + + cargo_src_test --no-fail-fast +} + +src_install() { + cargo_src_install + einstalldocs + dodoc README.md + + newenvd - 70selenium-manager <<-EOF || die + SE_MANAGER_PATH="${EPREFIX}/usr/bin/selenium-manager" + EOF +} diff --git a/dev-util/selenium-manager/selenium-manager-4.25.0.ebuild b/dev-util/selenium-manager/selenium-manager-4.25.0.ebuild deleted file mode 100644 index 1e46fdad2294..000000000000 --- a/dev-util/selenium-manager/selenium-manager-4.25.0.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -" - -inherit cargo - -TAG=selenium-${PV} -MY_P=selenium-${TAG} -CRATES_P=${PN}-4.24.0 -DESCRIPTION="CLI tool that manages the browser/driver infrastructure required by Selenium" -HOMEPAGE=" - https://www.selenium.dev/ - https://github.com/SeleniumHQ/selenium/ -" -SRC_URI=" - https://github.com/SeleniumHQ/selenium/archive/selenium-${PV}.tar.gz - -> ${MY_P}.gh.tar.gz -" -if [[ ${PKGBUMPING} != ${PVR} ]]; then - SRC_URI+=" - https://dev.gentoo.org/~mgorny/dist/${CRATES_P}-crates.tar.xz - " -fi -S="${WORKDIR}/${MY_P}/rust" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0" -KEYWORDS="amd64 arm64 ppc64 ~riscv x86" -IUSE="telemetry test" -RESTRICT="!test? ( test )" - -DEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-arch/zstd:= - sys-libs/zlib:= -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - test? ( - || ( - www-client/firefox - www-client/firefox-bin - ) - ) -" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_prepare() { - default - - sed -i -e '/strip/d' Cargo.toml || die - if ! use telemetry; then - sed -i -e '/avoid-stats/s:false:true:' src/config.rs || die - fi - - # Avoid tests requiring Internet or specific browsers (or trying - # to fetch them, whatever). - rm tests/browser_download_tests.rs || die - rm tests/cache_tests.rs || die - rm tests/exec_driver_tests.rs || die - rm tests/grid_tests.rs || die - rm tests/browser_tests.rs || die - rm tests/config_tests.rs || die - rm tests/iexplorer_tests.rs || die - rm tests/mirror_tests.rs || die - rm tests/output_tests.rs || die - rm tests/stable_browser_tests.rs || die - rm tests/webview_tests.rs || die - - # enable system libraries where supported - export ZSTD_SYS_USE_PKG_CONFIG=1 - sed -i -e '/features.*static/d' "${ECARGO_VENDOR}"/apple-xar-*/Cargo.toml || die - - # remove unbundled sources, just in case - # (smoke.c is actually used to test system -lz, sigh) - find "${ECARGO_VENDOR}"/*-sys-*/ \ - \( -name '*.c' -a -not -name 'smoke.c' \) -delete || die - - # bzip2-sys requires a pkg-config file - # https://github.com/alexcrichton/bzip2-rs/issues/104 - mkdir "${T}/pkg-config" || die - export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} - cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die - Name: bzip2 - Version: 9999 - Description: - Libs: -lbz2 - EOF -} - -src_test() { - local -x PATH=${T}/bin:${PATH} - - mkdir "${T}/bin" || die - if ! has_version "www-client/firefox"; then - # upstream expects "firefox" rather than "firefox-bin" - ln -s "$(type -P firefox-bin)" "${T}/bin/firefox" || die - fi - - cargo_src_test --no-fail-fast -} - -src_install() { - cargo_src_install - einstalldocs - dodoc README.md - - newenvd - 70selenium-manager <<-EOF || die - SE_MANAGER_PATH="${EPREFIX}/usr/bin/selenium-manager" - EOF -} diff --git a/dev-util/selenium-manager/selenium-manager-4.26.0-r1.ebuild b/dev-util/selenium-manager/selenium-manager-4.26.0-r1.ebuild new file mode 100644 index 000000000000..0a35cc52101b --- /dev/null +++ b/dev-util/selenium-manager/selenium-manager-4.26.0-r1.ebuild @@ -0,0 +1,121 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +inherit cargo + +TAG=selenium-${PV} +MY_P=selenium-${TAG} +CRATES_P=${PN}-4.26.0 +DESCRIPTION="CLI tool that manages the browser/driver infrastructure required by Selenium" +HOMEPAGE=" + https://www.selenium.dev/ + https://github.com/SeleniumHQ/selenium/ +" +SRC_URI=" + https://github.com/SeleniumHQ/selenium/archive/selenium-${PV}.tar.gz + -> ${MY_P}.gh.tar.gz +" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://dev.gentoo.org/~mgorny/dist/${CRATES_P}-crates.tar.xz + " +fi +S="${WORKDIR}/${MY_P}/rust" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +IUSE="telemetry test" +RESTRICT="!test? ( test )" + +DEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-arch/zstd:= + sys-libs/zlib:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + test? ( + || ( + www-client/firefox + www-client/firefox-bin + ) + ) +" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + default + + sed -i -e '/strip/d' Cargo.toml || die + if ! use telemetry; then + sed -i -e '/avoid-stats/s:false:true:' src/config.rs || die + fi + + # Avoid tests requiring Internet or specific browsers (or trying + # to fetch them, whatever). + rm tests/browser_download_tests.rs || die + rm tests/cache_tests.rs || die + rm tests/exec_driver_tests.rs || die + rm tests/grid_tests.rs || die + rm tests/browser_tests.rs || die + rm tests/config_tests.rs || die + rm tests/iexplorer_tests.rs || die + rm tests/mirror_tests.rs || die + rm tests/output_tests.rs || die + rm tests/stable_browser_tests.rs || die + rm tests/webview_tests.rs || die + + # enable system libraries where supported + export ZSTD_SYS_USE_PKG_CONFIG=1 + sed -i -e '/features.*static/d' "${ECARGO_VENDOR}"/apple-xar-*/Cargo.toml || die + + # remove unbundled sources, just in case + # (smoke.c is actually used to test system -lz, sigh) + find "${ECARGO_VENDOR}"/*-sys-*/ \ + \( -name '*.c' -a -not -name 'smoke.c' \) -delete || die + + # bzip2-sys requires a pkg-config file + # https://github.com/alexcrichton/bzip2-rs/issues/104 + mkdir "${T}/pkg-config" || die + export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} + cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die + Name: bzip2 + Version: 9999 + Description: + Libs: -lbz2 + EOF +} + +src_test() { + local -x PATH=${T}/bin:${PATH} + + mkdir "${T}/bin" || die + if ! has_version "www-client/firefox"; then + # upstream expects "firefox" rather than "firefox-bin" + ln -s "$(type -P firefox-bin)" "${T}/bin/firefox" || die + fi + + cargo_src_test --no-fail-fast +} + +src_install() { + cargo_src_install + einstalldocs + dodoc README.md + + newenvd - 70selenium-manager <<-EOF || die + SE_MANAGER_PATH="${EPREFIX}/usr/bin/selenium-manager" + EOF +} diff --git a/dev-util/selenium-manager/selenium-manager-4.26.0.ebuild b/dev-util/selenium-manager/selenium-manager-4.26.0.ebuild deleted file mode 100644 index 0a35cc52101b..000000000000 --- a/dev-util/selenium-manager/selenium-manager-4.26.0.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -" - -inherit cargo - -TAG=selenium-${PV} -MY_P=selenium-${TAG} -CRATES_P=${PN}-4.26.0 -DESCRIPTION="CLI tool that manages the browser/driver infrastructure required by Selenium" -HOMEPAGE=" - https://www.selenium.dev/ - https://github.com/SeleniumHQ/selenium/ -" -SRC_URI=" - https://github.com/SeleniumHQ/selenium/archive/selenium-${PV}.tar.gz - -> ${MY_P}.gh.tar.gz -" -if [[ ${PKGBUMPING} != ${PVR} ]]; then - SRC_URI+=" - https://dev.gentoo.org/~mgorny/dist/${CRATES_P}-crates.tar.xz - " -fi -S="${WORKDIR}/${MY_P}/rust" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" -IUSE="telemetry test" -RESTRICT="!test? ( test )" - -DEPEND=" - app-arch/bzip2:= - app-arch/xz-utils:= - app-arch/zstd:= - sys-libs/zlib:= -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - test? ( - || ( - www-client/firefox - www-client/firefox-bin - ) - ) -" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_prepare() { - default - - sed -i -e '/strip/d' Cargo.toml || die - if ! use telemetry; then - sed -i -e '/avoid-stats/s:false:true:' src/config.rs || die - fi - - # Avoid tests requiring Internet or specific browsers (or trying - # to fetch them, whatever). - rm tests/browser_download_tests.rs || die - rm tests/cache_tests.rs || die - rm tests/exec_driver_tests.rs || die - rm tests/grid_tests.rs || die - rm tests/browser_tests.rs || die - rm tests/config_tests.rs || die - rm tests/iexplorer_tests.rs || die - rm tests/mirror_tests.rs || die - rm tests/output_tests.rs || die - rm tests/stable_browser_tests.rs || die - rm tests/webview_tests.rs || die - - # enable system libraries where supported - export ZSTD_SYS_USE_PKG_CONFIG=1 - sed -i -e '/features.*static/d' "${ECARGO_VENDOR}"/apple-xar-*/Cargo.toml || die - - # remove unbundled sources, just in case - # (smoke.c is actually used to test system -lz, sigh) - find "${ECARGO_VENDOR}"/*-sys-*/ \ - \( -name '*.c' -a -not -name 'smoke.c' \) -delete || die - - # bzip2-sys requires a pkg-config file - # https://github.com/alexcrichton/bzip2-rs/issues/104 - mkdir "${T}/pkg-config" || die - export PKG_CONFIG_PATH=${T}/pkg-config${PKG_CONFIG_PATH+:${PKG_CONFIG_PATH}} - cat >> "${T}/pkg-config/bzip2.pc" <<-EOF || die - Name: bzip2 - Version: 9999 - Description: - Libs: -lbz2 - EOF -} - -src_test() { - local -x PATH=${T}/bin:${PATH} - - mkdir "${T}/bin" || die - if ! has_version "www-client/firefox"; then - # upstream expects "firefox" rather than "firefox-bin" - ln -s "$(type -P firefox-bin)" "${T}/bin/firefox" || die - fi - - cargo_src_test --no-fail-fast -} - -src_install() { - cargo_src_install - einstalldocs - dodoc README.md - - newenvd - 70selenium-manager <<-EOF || die - SE_MANAGER_PATH="${EPREFIX}/usr/bin/selenium-manager" - EOF -} diff --git a/dev-util/tree-sitter-cli/tree-sitter-cli-0.22.6-r1.ebuild b/dev-util/tree-sitter-cli/tree-sitter-cli-0.22.6-r1.ebuild new file mode 100644 index 000000000000..bd4053e831df --- /dev/null +++ b/dev-util/tree-sitter-cli/tree-sitter-cli-0.22.6-r1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PN=tree-sitter +MY_P=${MY_PN}-${PV} + +inherit cargo + +DESCRIPTION="Command-line tool for creating and testing tree-sitter grammars" +HOMEPAGE="https://github.com/tree-sitter/tree-sitter" +SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz + https://dev.gentoo.org/~arthurzam/distfiles/dev-util/${PN}/${P}-crates.tar.xz" +S="${WORKDIR}"/${MY_P}/cli + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0 + Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" + +# Test seems to require files (grammar definitions) that we don't have. +RESTRICT="test" + +BDEPEND="~dev-libs/tree-sitter-${PV}:=" +RDEPEND="${BDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${MY_PN}" 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.ebuild deleted file mode 100644 index bd4053e831df..000000000000 --- a/dev-util/tree-sitter-cli/tree-sitter-cli-0.22.6.ebuild +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_PN=tree-sitter -MY_P=${MY_PN}-${PV} - -inherit cargo - -DESCRIPTION="Command-line tool for creating and testing tree-sitter grammars" -HOMEPAGE="https://github.com/tree-sitter/tree-sitter" -SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz - https://dev.gentoo.org/~arthurzam/distfiles/dev-util/${PN}/${P}-crates.tar.xz" -S="${WORKDIR}"/${MY_P}/cli - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0 - Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86" - -# Test seems to require files (grammar definitions) that we don't have. -RESTRICT="test" - -BDEPEND="~dev-libs/tree-sitter-${PV}:=" -RDEPEND="${BDEPEND}" - -QA_FLAGS_IGNORED="usr/bin/${MY_PN}" diff --git a/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.0-r1.ebuild b/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.0-r1.ebuild new file mode 100644 index 000000000000..b2788d6bac28 --- /dev/null +++ b/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.0-r1.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES="" + +MY_PN=tree-sitter +MY_P=${MY_PN}-${PV} + +inherit cargo + +DESCRIPTION="Command-line tool for creating and testing tree-sitter grammars" +HOMEPAGE="https://github.com/tree-sitter/tree-sitter" +SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/dev-util/${PN}/${P}-crates.tar.xz" +S="${WORKDIR}"/${MY_P}/cli + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 + Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" + +# Test seems to require files (grammar definitions) that we don't have. +RESTRICT="test" + +BDEPEND="~dev-libs/tree-sitter-${PV}:=" +RDEPEND="${BDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${MY_PN}" 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.ebuild deleted file mode 100644 index b2788d6bac28..000000000000 --- a/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.0.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES="" - -MY_PN=tree-sitter -MY_P=${MY_PN}-${PV} - -inherit cargo - -DESCRIPTION="Command-line tool for creating and testing tree-sitter grammars" -HOMEPAGE="https://github.com/tree-sitter/tree-sitter" -SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" -SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/dev-util/${PN}/${P}-crates.tar.xz" -S="${WORKDIR}"/${MY_P}/cli - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 - Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" - -# Test seems to require files (grammar definitions) that we don't have. -RESTRICT="test" - -BDEPEND="~dev-libs/tree-sitter-${PV}:=" -RDEPEND="${BDEPEND}" - -QA_FLAGS_IGNORED="usr/bin/${MY_PN}" diff --git a/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.2-r1.ebuild b/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.2-r1.ebuild new file mode 100644 index 000000000000..1fe76acc30bb --- /dev/null +++ b/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.2-r1.ebuild @@ -0,0 +1,34 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES="" + +MY_PN=tree-sitter +MY_P=${MY_PN}-${PV} + +inherit cargo + +DESCRIPTION="Command-line tool for creating and testing tree-sitter grammars" +HOMEPAGE="https://github.com/tree-sitter/tree-sitter" +SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/dev-util/${PN}/${P}-crates.tar.xz" +S="${WORKDIR}"/${MY_P}/cli + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 + Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +# Test seems to require files (grammar definitions) that we don't have. +RESTRICT="test" + +BDEPEND="~dev-libs/tree-sitter-${PV}:=" +RDEPEND="${BDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${MY_PN}" 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.ebuild deleted file mode 100644 index 1fe76acc30bb..000000000000 --- a/dev-util/tree-sitter-cli/tree-sitter-cli-0.23.2.ebuild +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES="" - -MY_PN=tree-sitter -MY_P=${MY_PN}-${PV} - -inherit cargo - -DESCRIPTION="Command-line tool for creating and testing tree-sitter grammars" -HOMEPAGE="https://github.com/tree-sitter/tree-sitter" -SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" -SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/dev-util/${PN}/${P}-crates.tar.xz" -S="${WORKDIR}"/${MY_P}/cli - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 - Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -# Test seems to require files (grammar definitions) that we don't have. -RESTRICT="test" - -BDEPEND="~dev-libs/tree-sitter-${PV}:=" -RDEPEND="${BDEPEND}" - -QA_FLAGS_IGNORED="usr/bin/${MY_PN}" diff --git a/dev-util/tree-sitter-cli/tree-sitter-cli-0.24.3-r1.ebuild b/dev-util/tree-sitter-cli/tree-sitter-cli-0.24.3-r1.ebuild new file mode 100644 index 000000000000..bca1cd9e7bcc --- /dev/null +++ b/dev-util/tree-sitter-cli/tree-sitter-cli-0.24.3-r1.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +MY_PN=tree-sitter +MY_P=${MY_PN}-${PV} + +inherit cargo + +DESCRIPTION="Command-line tool for creating and testing tree-sitter grammars" +HOMEPAGE="https://github.com/tree-sitter/tree-sitter" +SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" +SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/dev-util/${PN}/${P}-crates.tar.xz" +S="${WORKDIR}"/${MY_P}/cli + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 + Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +# Test seems to require files (grammar definitions) that we don't have. +RESTRICT="test" + +BDEPEND="~dev-libs/tree-sitter-${PV}:=" +RDEPEND="${BDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${MY_PN}" 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.ebuild deleted file mode 100644 index bca1cd9e7bcc..000000000000 --- a/dev-util/tree-sitter-cli/tree-sitter-cli-0.24.3.ebuild +++ /dev/null @@ -1,35 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -" - -MY_PN=tree-sitter -MY_P=${MY_PN}-${PV} - -inherit cargo - -DESCRIPTION="Command-line tool for creating and testing tree-sitter grammars" -HOMEPAGE="https://github.com/tree-sitter/tree-sitter" -SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" -SRC_URI+=" https://dev.gentoo.org/~arthurzam/distfiles/dev-util/${PN}/${P}-crates.tar.xz" -S="${WORKDIR}"/${MY_P}/cli - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 - Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -# Test seems to require files (grammar definitions) that we don't have. -RESTRICT="test" - -BDEPEND="~dev-libs/tree-sitter-${PV}:=" -RDEPEND="${BDEPEND}" - -QA_FLAGS_IGNORED="usr/bin/${MY_PN}" diff --git a/dev-util/wachy/wachy-0.1.0_alpha6-r1.ebuild b/dev-util/wachy/wachy-0.1.0_alpha6-r1.ebuild deleted file mode 100644 index fba545be9ca7..000000000000 --- a/dev-util/wachy/wachy-0.1.0_alpha6-r1.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 2017-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Auto-Generated by cargo-ebuild 0.3.2-alpha.0 - -EAPI=8 - -CRATES=" - addr2line@0.17.0 - adler@1.0.2 - ahash@0.6.3 - array-macro@1.0.5 - autocfg@1.0.1 - backtrace@0.3.63 - bitflags@1.3.2 - cc@1.0.72 - cfg-if@1.0.0 - chrono@0.4.19 - clap@2.33.3 - cmake@0.1.46 - cplus_demangle@0.1.1 - cpp_demangle@0.3.3 - crc32fast@1.2.1 - crossbeam-channel@0.5.1 - crossbeam-utils@0.8.5 - cursive@0.16.3 - cursive_core@0.2.2 - cursive_table_view@0.13.3 - darling@0.10.2 - darling_core@0.10.2 - darling_macro@0.10.2 - either@1.6.1 - enum-map-derive@0.4.6 - enum-map@0.6.4 - fallible-iterator@0.2.0 - flate2@1.0.22 - flexi_logger@0.20.0 - fnv@1.0.7 - fuzzy-matcher@0.3.7 - getrandom@0.2.3 - gimli@0.26.1 - glob@0.3.0 - hashbrown@0.11.2 - ident_case@1.0.1 - indexmap@1.7.0 - itertools@0.10.1 - itoa@0.4.8 - lazy_static@1.4.0 - libc@0.2.107 - log@0.4.14 - maplit@1.0.2 - memchr@2.4.1 - memmap2@0.5.0 - miniz_oxide@0.4.4 - ncurses@5.101.0 - num-complex@0.3.1 - num-integer@0.1.44 - num-iter@0.1.42 - num-rational@0.3.2 - num-traits@0.2.14 - num@0.3.1 - object@0.27.1 - once_cell@1.8.0 - owning_ref@0.4.1 - pkg-config@0.3.22 - proc-macro2@1.0.32 - quote@1.0.10 - rustc-demangle@0.1.21 - rustversion@1.0.5 - ryu@1.0.5 - serde@1.0.130 - serde_derive@1.0.130 - serde_json@1.0.70 - signal-hook-registry@1.4.0 - signal-hook@0.3.10 - smallvec@1.7.0 - stable_deref_trait@1.2.0 - strsim@0.9.3 - syn@1.0.81 - term_size@0.3.2 - textwrap@0.11.0 - thiserror-impl@1.0.30 - thiserror@1.0.30 - thread_local@1.1.3 - time-macros@0.2.3 - time@0.1.43 - time@0.3.5 - unicode-segmentation@1.8.0 - unicode-width@0.1.9 - unicode-xid@0.2.2 - unwrap@1.2.1 - version_check@0.9.3 - wasi@0.10.2+wasi-snapshot-preview1 - wasmer_enumset@1.0.1 - wasmer_enumset_derive@0.5.0 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - xi-unicode@0.3.0 - zydis@3.1.2 -" - -inherit cargo - -DESCRIPTION="A dynamic tracing profiler for Linux" -HOMEPAGE=" - https://rubrikinc.github.io/wachy/ - https://github.com/rubrikinc/wachy -" -SRC_URI=" - https://github.com/rubrikinc/${PN}/archive/refs/tags/${PV/_alpha/-alpha.}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" -S=${WORKDIR}/${PN}-${PV/_alpha/-alpha.} - -LICENSE="|| ( Apache-2.0 MIT )" -# Dependent crate licenses -LICENSE+=" Apache-2.0 MIT" -SLOT="0" -KEYWORDS="~amd64" -RESTRICT="mirror" - -DEPEND="sys-libs/ncurses:=" -RDEPEND="${DEPEND}" - -QA_FLAGS_IGNORED="usr/bin/wachy" - -DOCS=( - README.md - docs - demo -) - -src_prepare() { - rm demo/.gitignore || die - default -} - -src_install() { - cargo_src_install - - dodoc -r "${DOCS[@]}" -} diff --git a/dev-util/wachy/wachy-0.1.0_alpha6-r2.ebuild b/dev-util/wachy/wachy-0.1.0_alpha6-r2.ebuild new file mode 100644 index 000000000000..fba545be9ca7 --- /dev/null +++ b/dev-util/wachy/wachy-0.1.0_alpha6-r2.ebuild @@ -0,0 +1,143 @@ +# Copyright 2017-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Auto-Generated by cargo-ebuild 0.3.2-alpha.0 + +EAPI=8 + +CRATES=" + addr2line@0.17.0 + adler@1.0.2 + ahash@0.6.3 + array-macro@1.0.5 + autocfg@1.0.1 + backtrace@0.3.63 + bitflags@1.3.2 + cc@1.0.72 + cfg-if@1.0.0 + chrono@0.4.19 + clap@2.33.3 + cmake@0.1.46 + cplus_demangle@0.1.1 + cpp_demangle@0.3.3 + crc32fast@1.2.1 + crossbeam-channel@0.5.1 + crossbeam-utils@0.8.5 + cursive@0.16.3 + cursive_core@0.2.2 + cursive_table_view@0.13.3 + darling@0.10.2 + darling_core@0.10.2 + darling_macro@0.10.2 + either@1.6.1 + enum-map-derive@0.4.6 + enum-map@0.6.4 + fallible-iterator@0.2.0 + flate2@1.0.22 + flexi_logger@0.20.0 + fnv@1.0.7 + fuzzy-matcher@0.3.7 + getrandom@0.2.3 + gimli@0.26.1 + glob@0.3.0 + hashbrown@0.11.2 + ident_case@1.0.1 + indexmap@1.7.0 + itertools@0.10.1 + itoa@0.4.8 + lazy_static@1.4.0 + libc@0.2.107 + log@0.4.14 + maplit@1.0.2 + memchr@2.4.1 + memmap2@0.5.0 + miniz_oxide@0.4.4 + ncurses@5.101.0 + num-complex@0.3.1 + num-integer@0.1.44 + num-iter@0.1.42 + num-rational@0.3.2 + num-traits@0.2.14 + num@0.3.1 + object@0.27.1 + once_cell@1.8.0 + owning_ref@0.4.1 + pkg-config@0.3.22 + proc-macro2@1.0.32 + quote@1.0.10 + rustc-demangle@0.1.21 + rustversion@1.0.5 + ryu@1.0.5 + serde@1.0.130 + serde_derive@1.0.130 + serde_json@1.0.70 + signal-hook-registry@1.4.0 + signal-hook@0.3.10 + smallvec@1.7.0 + stable_deref_trait@1.2.0 + strsim@0.9.3 + syn@1.0.81 + term_size@0.3.2 + textwrap@0.11.0 + thiserror-impl@1.0.30 + thiserror@1.0.30 + thread_local@1.1.3 + time-macros@0.2.3 + time@0.1.43 + time@0.3.5 + unicode-segmentation@1.8.0 + unicode-width@0.1.9 + unicode-xid@0.2.2 + unwrap@1.2.1 + version_check@0.9.3 + wasi@0.10.2+wasi-snapshot-preview1 + wasmer_enumset@1.0.1 + wasmer_enumset_derive@0.5.0 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + xi-unicode@0.3.0 + zydis@3.1.2 +" + +inherit cargo + +DESCRIPTION="A dynamic tracing profiler for Linux" +HOMEPAGE=" + https://rubrikinc.github.io/wachy/ + https://github.com/rubrikinc/wachy +" +SRC_URI=" + https://github.com/rubrikinc/${PN}/archive/refs/tags/${PV/_alpha/-alpha.}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" +S=${WORKDIR}/${PN}-${PV/_alpha/-alpha.} + +LICENSE="|| ( Apache-2.0 MIT )" +# Dependent crate licenses +LICENSE+=" Apache-2.0 MIT" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="mirror" + +DEPEND="sys-libs/ncurses:=" +RDEPEND="${DEPEND}" + +QA_FLAGS_IGNORED="usr/bin/wachy" + +DOCS=( + README.md + docs + demo +) + +src_prepare() { + rm demo/.gitignore || die + default +} + +src_install() { + cargo_src_install + + dodoc -r "${DOCS[@]}" +} 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-r1.ebuild b/dev-util/watchman/watchman-2023.06.19.00-r1.ebuild new file mode 100644 index 000000000000..21cf39c9d5d0 --- /dev/null +++ b/dev-util/watchman/watchman-2023.06.19.00-r1.ebuild @@ -0,0 +1,250 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# These must be bumped together: +# dev-cpp/edencommon +# dev-cpp/folly +# dev-util/watchman + +# TODO: Split into different variables then combine for each component? +# Not all is in rust/ dir. +# Rust components: +# - thirdparty/deelevate_binding/Cargo.toml +# - rust/watchman_client/Cargo.toml +# - rust/serde_bser/Cargo.toml +# - cli/Cargo.toml +CRATES=" + ahash@0.8.3 + ansi_term@0.12.1 + anyhow@1.0.71 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + byteorder@1.4.3 + bytes@1.4.0 + cfg-if@1.0.0 + clap@2.34.0 + core-foundation-sys@0.8.4 + crossbeam-channel@0.5.8 + crossbeam-deque@0.8.3 + crossbeam-epoch@0.9.15 + crossbeam-queue@0.3.8 + crossbeam-utils@0.8.16 + crossbeam@0.8.2 + duct@0.13.6 + either@1.8.1 + 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-sink@0.3.28 + futures-task@0.3.28 + futures-util@0.3.28 + futures@0.1.31 + futures@0.3.28 + getrandom@0.2.10 + heck@0.3.3 + hermit-abi@0.1.19 + hermit-abi@0.2.6 + itoa@1.0.6 + jwalk@0.6.2 + lazy_static@1.4.0 + libc@0.2.146 + lock_api@0.4.10 + log@0.4.19 + maplit@1.0.2 + memchr@2.5.0 + memoffset@0.6.5 + memoffset@0.9.0 + mio@0.8.8 + nix@0.25.1 + ntapi@0.4.1 + num_cpus@1.15.0 + once_cell@1.18.0 + os_pipe@1.1.4 + parking_lot@0.12.1 + parking_lot_core@0.9.8 + pin-project-lite@0.2.9 + pin-utils@0.1.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.60 + quote@1.0.28 + rayon-core@1.11.0 + rayon@1.7.0 + redox_syscall@0.3.5 + ryu@1.0.13 + scopeguard@1.1.0 + serde@1.0.164 + serde_bytes@0.11.9 + serde_derive@1.0.164 + serde_json@1.0.99 + shared_child@1.0.0 + signal-hook-registry@1.4.1 + slab@0.4.8 + smallvec@1.10.0 + socket2@0.4.9 + strsim@0.8.0 + structopt-derive@0.4.18 + structopt@0.3.26 + syn@1.0.109 + syn@2.0.20 + sysinfo@0.26.9 + tabular@0.2.0 + textwrap@0.11.0 + thiserror-impl@1.0.40 + thiserror@1.0.40 + tokio-macros@2.1.0 + tokio-util@0.6.10 + tokio@1.28.2 + tracing-core@0.1.31 + tracing@0.1.37 + unicode-ident@1.0.9 + unicode-segmentation@1.10.1 + unicode-width@0.1.10 + vec_map@0.8.2 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-targets@0.48.0 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_msvc@0.48.0 + windows_i686_gnu@0.48.0 + windows_i686_msvc@0.48.0 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_msvc@0.48.0 +" + +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" +HOMEPAGE="https://facebook.github.io/watchman/" +SRC_URI="https://github.com/facebook/watchman/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" ${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + MIT Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="amd64" +IUSE="llvm-libunwind python" +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +# See https://github.com/facebook/watchman/blob/main/CMakeLists.txt#L342 for libevent +RDEPEND=" + dev-libs/libevent:= + dev-libs/libpcre2 + ~dev-cpp/edencommon-${PV}:= + ~dev-cpp/folly-${PV}:= + dev-cpp/glog:= + >=dev-libs/libfmt-8.1.1-r1:= + dev-libs/openssl:= + llvm-libunwind? ( sys-libs/llvm-libunwind:= ) + !llvm-libunwind? ( sys-libs/libunwind:= ) + python? ( ${PYTHON_DEPS} ) +" +# TODO: Make gtest test-only (needs a fair bit of patching) +DEPEND=" + ${RDEPEND} + dev-cpp/gtest +" + +PATCHES=( + "${FILESDIR}"/${PN}-2023.01.16.00-python-working-dir.patch + "${FILESDIR}"/${PN}-2022.02.28.00-libatomic.patch + "${FILESDIR}"/${PN}-2022.08.08.00-musl-fsword-fix.patch + "${FILESDIR}"/${PN}-2023.06.19.00-rust-1.70-avoidance.patch + "${FILESDIR}"/${PN}-2023.06.19.00-unused.patch +) + +# Rust utility +QA_FLAGS_IGNORED="usr/bin/watchmanctl" + +distutils_enable_tests unittest + +src_prepare() { + # Avoid cargo_src_prepare + cmake_src_prepare +} + +src_configure() { + # https://github.com/facebook/watchman/blob/789678cf9855fb07b402afb75b01e4f8786deba2/build/fbcode_builder/CMake/RustStaticLibrary.cmake#L17 + export RUST_VENDORED_CRATES_DIR="${ECARGO_VENDOR}" + export RUST_CARGO_HOME="${ECARGO_HOME}" + export CARGO_HOME="${ECARGO_HOME}" + # Build system already handles avoiding Rust-jobs-while-CMake-jobs-spawned issue + # https://github.com/facebook/watchman/blob/789678cf9855fb07b402afb75b01e4f8786deba2/build/fbcode_builder/CMake/RustStaticLibrary.cmake#L69 + # so no need to force -j1 via cargo jobs + + local mycmakeargs=( + # Rust wrangling + -DUSE_CARGO_VENDOR=ON + -DGENERATE_CARGO_VENDOR_CONFIG=OFF + -DRUST_CARGO_HOME="${RUST_CARGO_HOME}" + + # General bits + -DWATCHMAN_STATE_DIR="${EPREFIX}"/run/watchman + -DWATCHMAN_VERSION_OVERRIDE=${PV} + + # Fails to build against fbthrift for now in libatomic troubles + -DENABLE_EDEN_SUPPORT=OFF + + # We handle this ourselves + -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON + ) + + cmake_src_configure +} + +src_compile() { + cmake_src_compile + + if use python ; then + pushd watchman/python >/dev/null || die + distutils-r1_src_compile + popd >/dev/null || die + fi +} + +src_test() { + cmake_src_test + + if use python ; then + pushd watchman/python >/dev/null || die + distutils-r1_src_test + popd >/dev/null || die + fi +} + +src_install() { + cmake_src_install + + newtmpfiles "${FILESDIR}"/watchman.tmpfiles watchman.conf + + if use python ; then + pushd watchman/python >/dev/null || die + distutils-r1_src_install + popd >/dev/null || die + fi +} + +pkg_postinst() { + tmpfiles_process watchman.conf +} diff --git a/dev-util/watchman/watchman-2023.06.19.00.ebuild b/dev-util/watchman/watchman-2023.06.19.00.ebuild deleted file mode 100644 index 9b399e090d42..000000000000 --- a/dev-util/watchman/watchman-2023.06.19.00.ebuild +++ /dev/null @@ -1,247 +0,0 @@ -# Copyright 2020-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# These must be bumped together: -# dev-cpp/edencommon -# dev-cpp/folly -# dev-util/watchman - -# TODO: Split into different variables then combine for each component? -# Not all is in rust/ dir. -# Rust components: -# - thirdparty/deelevate_binding/Cargo.toml -# - rust/watchman_client/Cargo.toml -# - rust/serde_bser/Cargo.toml -# - cli/Cargo.toml -CRATES=" - ahash@0.8.3 - ansi_term@0.12.1 - anyhow@1.0.71 - atty@0.2.14 - autocfg@1.1.0 - bitflags@1.3.2 - byteorder@1.4.3 - bytes@1.4.0 - cfg-if@1.0.0 - clap@2.34.0 - core-foundation-sys@0.8.4 - crossbeam-channel@0.5.8 - crossbeam-deque@0.8.3 - crossbeam-epoch@0.9.15 - crossbeam-queue@0.3.8 - crossbeam-utils@0.8.16 - crossbeam@0.8.2 - duct@0.13.6 - either@1.8.1 - 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-sink@0.3.28 - futures-task@0.3.28 - futures-util@0.3.28 - futures@0.1.31 - futures@0.3.28 - getrandom@0.2.10 - heck@0.3.3 - hermit-abi@0.1.19 - hermit-abi@0.2.6 - itoa@1.0.6 - jwalk@0.6.2 - lazy_static@1.4.0 - libc@0.2.146 - lock_api@0.4.10 - log@0.4.19 - maplit@1.0.2 - memchr@2.5.0 - memoffset@0.6.5 - memoffset@0.9.0 - mio@0.8.8 - nix@0.25.1 - ntapi@0.4.1 - num_cpus@1.15.0 - once_cell@1.18.0 - os_pipe@1.1.4 - parking_lot@0.12.1 - parking_lot_core@0.9.8 - pin-project-lite@0.2.9 - pin-utils@0.1.0 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.60 - quote@1.0.28 - rayon-core@1.11.0 - rayon@1.7.0 - redox_syscall@0.3.5 - ryu@1.0.13 - scopeguard@1.1.0 - serde@1.0.164 - serde_bytes@0.11.9 - serde_derive@1.0.164 - serde_json@1.0.99 - shared_child@1.0.0 - signal-hook-registry@1.4.1 - slab@0.4.8 - smallvec@1.10.0 - socket2@0.4.9 - strsim@0.8.0 - structopt-derive@0.4.18 - structopt@0.3.26 - syn@1.0.109 - syn@2.0.20 - sysinfo@0.26.9 - tabular@0.2.0 - textwrap@0.11.0 - thiserror-impl@1.0.40 - thiserror@1.0.40 - tokio-macros@2.1.0 - tokio-util@0.6.10 - tokio@1.28.2 - tracing-core@0.1.31 - tracing@0.1.37 - unicode-ident@1.0.9 - unicode-segmentation@1.10.1 - unicode-width@0.1.10 - vec_map@0.8.2 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.48.0 - windows-targets@0.48.0 - windows_aarch64_gnullvm@0.48.0 - windows_aarch64_msvc@0.48.0 - windows_i686_gnu@0.48.0 - windows_i686_msvc@0.48.0 - windows_x86_64_gnu@0.48.0 - windows_x86_64_gnullvm@0.48.0 - windows_x86_64_msvc@0.48.0 -" - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{10..12} ) - -inherit cargo cmake distutils-r1 tmpfiles - -DESCRIPTION="A file watching service" -HOMEPAGE="https://facebook.github.io/watchman/" -SRC_URI="https://github.com/facebook/watchman/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" -SRC_URI+=" ${CARGO_CRATE_URIS}" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - MIT Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="amd64" -IUSE="llvm-libunwind python" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -# See https://github.com/facebook/watchman/blob/main/CMakeLists.txt#L342 for libevent -RDEPEND=" - dev-libs/libevent:= - dev-libs/libpcre2 - ~dev-cpp/edencommon-${PV}:= - ~dev-cpp/folly-${PV}:= - dev-cpp/glog:= - >=dev-libs/libfmt-8.1.1-r1:= - dev-libs/openssl:= - llvm-libunwind? ( sys-libs/llvm-libunwind:= ) - !llvm-libunwind? ( sys-libs/libunwind:= ) - python? ( ${PYTHON_DEPS} ) -" -# TODO: Make gtest test-only (needs a fair bit of patching) -DEPEND=" - ${RDEPEND} - dev-cpp/gtest -" - -PATCHES=( - "${FILESDIR}"/${PN}-2023.01.16.00-python-working-dir.patch - "${FILESDIR}"/${PN}-2022.02.28.00-libatomic.patch - "${FILESDIR}"/${PN}-2022.08.08.00-musl-fsword-fix.patch - "${FILESDIR}"/${PN}-2023.06.19.00-rust-1.70-avoidance.patch - "${FILESDIR}"/${PN}-2023.06.19.00-unused.patch -) - -# Rust utility -QA_FLAGS_IGNORED="usr/bin/watchmanctl" - -distutils_enable_tests unittest - -src_prepare() { - # Avoid cargo_src_prepare - cmake_src_prepare -} - -src_configure() { - # https://github.com/facebook/watchman/blob/789678cf9855fb07b402afb75b01e4f8786deba2/build/fbcode_builder/CMake/RustStaticLibrary.cmake#L17 - export RUST_VENDORED_CRATES_DIR="${ECARGO_VENDOR}" - export RUST_CARGO_HOME="${ECARGO_HOME}" - export CARGO_HOME="${ECARGO_HOME}" - # Build system already handles avoiding Rust-jobs-while-CMake-jobs-spawned issue - # https://github.com/facebook/watchman/blob/789678cf9855fb07b402afb75b01e4f8786deba2/build/fbcode_builder/CMake/RustStaticLibrary.cmake#L69 - # so no need to force -j1 via cargo jobs - - local mycmakeargs=( - # Rust wrangling - -DUSE_CARGO_VENDOR=ON - -DGENERATE_CARGO_VENDOR_CONFIG=OFF - -DRUST_CARGO_HOME="${RUST_CARGO_HOME}" - - # General bits - -DWATCHMAN_STATE_DIR="${EPREFIX}"/run/watchman - -DWATCHMAN_VERSION_OVERRIDE=${PV} - - # Fails to build against fbthrift for now in libatomic troubles - -DENABLE_EDEN_SUPPORT=OFF - - # We handle this ourselves - -DCMAKE_DISABLE_FIND_PACKAGE_Python3=ON - ) - - cmake_src_configure -} - -src_compile() { - cmake_src_compile - - if use python ; then - pushd watchman/python >/dev/null || die - distutils-r1_src_compile - popd >/dev/null || die - fi -} - -src_test() { - cmake_src_test - - if use python ; then - pushd watchman/python >/dev/null || die - distutils-r1_src_test - popd >/dev/null || die - fi -} - -src_install() { - cmake_src_install - - newtmpfiles "${FILESDIR}"/watchman.tmpfiles watchman.conf - - if use python ; then - pushd watchman/python >/dev/null || die - distutils-r1_src_install - popd >/dev/null || die - fi -} - -pkg_postinst() { - tmpfiles_process watchman.conf -} diff --git a/dev-vcs/breezy/breezy-3.3.5-r1.ebuild b/dev-vcs/breezy/breezy-3.3.5-r1.ebuild new file mode 100644 index 000000000000..215f1f5ffa2c --- /dev/null +++ b/dev-vcs/breezy/breezy-3.3.5-r1.ebuild @@ -0,0 +1,77 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_SINGLE_IMPL=1 +PYTHON_COMPAT=( python3_{10..12} ) + +CRATES=" +" + +inherit cargo distutils-r1 optfeature + +DESCRIPTION="Distributed Version Control System with a Friendly UI" +HOMEPAGE="https://www.breezy-vcs.org/ https://github.com/breezy-team/breezy" +SRC_URI="https://launchpad.net/brz/$(ver_cut 1-2)/${PV}/+download/${P}.tar.gz + ${CARGO_CRATE_URIS}" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+="https://dev.gentoo.org/~arthurzam/distfiles/dev-vcs/${PN}/${P}-crates.tar.xz" +fi + +LICENSE="GPL-2+" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +# I've got tired of all the test failures. It definitely mostly works. +# We have ~29000 tests successfully passing from ~30000 tests. +RESTRICT="test" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/configobj[${PYTHON_USEDEP}] + dev-python/fastbencode[${PYTHON_USEDEP}] + dev-python/patiencediff[${PYTHON_USEDEP}] + dev-python/merge3[${PYTHON_USEDEP}] + dev-python/dulwich[${PYTHON_USEDEP}] + dev-python/urllib3[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + ') + !dev-vcs/bzr +" +BDEPEND=" + $(python_gen_cond_dep ' + dev-python/cython[${PYTHON_USEDEP}] + dev-python/setuptools-gettext[${PYTHON_USEDEP}] + dev-python/setuptools-rust[${PYTHON_USEDEP}] + ') +" + +QA_FLAGS_IGNORED=" + usr/lib.*/py.*/site-packages/breezy/.*.so + usr/bin/brz +" + +src_prepare() { + sed -e 's@man/man1@share/&@' \ + -e 's@, strip=Strip\.All@@' \ + -i setup.py || die + + distutils-r1_src_prepare +} + +src_install() { + distutils-r1_src_install + + # Symlink original bzr's bin names to new names + dosym brz /usr/bin/bzr +} + +pkg_postinst() { + optfeature "access branches over sftp" "dev-python/pycryptodome dev-python/paramiko" + optfeature "PGP sign and verify commits" "app-crypt/gpgme[python]" +} diff --git a/dev-vcs/breezy/breezy-3.3.5.ebuild b/dev-vcs/breezy/breezy-3.3.5.ebuild deleted file mode 100644 index 215f1f5ffa2c..000000000000 --- a/dev-vcs/breezy/breezy-3.3.5.ebuild +++ /dev/null @@ -1,77 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -DISTUTILS_SINGLE_IMPL=1 -PYTHON_COMPAT=( python3_{10..12} ) - -CRATES=" -" - -inherit cargo distutils-r1 optfeature - -DESCRIPTION="Distributed Version Control System with a Friendly UI" -HOMEPAGE="https://www.breezy-vcs.org/ https://github.com/breezy-team/breezy" -SRC_URI="https://launchpad.net/brz/$(ver_cut 1-2)/${PV}/+download/${P}.tar.gz - ${CARGO_CRATE_URIS}" -if [[ ${PKGBUMPING} != ${PVR} ]]; then - SRC_URI+="https://dev.gentoo.org/~arthurzam/distfiles/dev-vcs/${PN}/${P}-crates.tar.xz" -fi - -LICENSE="GPL-2+" -# Dependent crate licenses -LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" - -# I've got tired of all the test failures. It definitely mostly works. -# We have ~29000 tests successfully passing from ~30000 tests. -RESTRICT="test" - -RDEPEND=" - $(python_gen_cond_dep ' - dev-python/configobj[${PYTHON_USEDEP}] - dev-python/fastbencode[${PYTHON_USEDEP}] - dev-python/patiencediff[${PYTHON_USEDEP}] - dev-python/merge3[${PYTHON_USEDEP}] - dev-python/dulwich[${PYTHON_USEDEP}] - dev-python/urllib3[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - ') - !dev-vcs/bzr -" -BDEPEND=" - $(python_gen_cond_dep ' - dev-python/cython[${PYTHON_USEDEP}] - dev-python/setuptools-gettext[${PYTHON_USEDEP}] - dev-python/setuptools-rust[${PYTHON_USEDEP}] - ') -" - -QA_FLAGS_IGNORED=" - usr/lib.*/py.*/site-packages/breezy/.*.so - usr/bin/brz -" - -src_prepare() { - sed -e 's@man/man1@share/&@' \ - -e 's@, strip=Strip\.All@@' \ - -i setup.py || die - - distutils-r1_src_prepare -} - -src_install() { - distutils-r1_src_install - - # Symlink original bzr's bin names to new names - dosym brz /usr/bin/bzr -} - -pkg_postinst() { - optfeature "access branches over sftp" "dev-python/pycryptodome dev-python/paramiko" - optfeature "PGP sign and verify commits" "app-crypt/gpgme[python]" -} diff --git a/dev-vcs/breezy/breezy-3.3.7-r1.ebuild b/dev-vcs/breezy/breezy-3.3.7-r1.ebuild deleted file mode 100644 index 695dc3e7e9a0..000000000000 --- a/dev-vcs/breezy/breezy-3.3.7-r1.ebuild +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 2021-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 -DISTUTILS_USE_PEP517=setuptools -DISTUTILS_SINGLE_IMPL=1 -PYTHON_COMPAT=( python3_{10..12} ) - -CRATES=" -" - -inherit cargo distutils-r1 optfeature - -DESCRIPTION="Distributed Version Control System with a Friendly UI" -HOMEPAGE="https://www.breezy-vcs.org/ https://github.com/breezy-team/breezy" -SRC_URI="https://launchpad.net/brz/$(ver_cut 1-2)/${PV}/+download/${P}.tar.gz - ${CARGO_CRATE_URIS}" -if [[ ${PKGBUMPING} != ${PVR} ]]; then - SRC_URI+="https://dev.gentoo.org/~arthurzam/distfiles/dev-vcs/${PN}/${P}-crates.tar.xz" -fi - -LICENSE="GPL-2+" -# Dependent crate licenses -LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" - -# I've got tired of all the test failures. It definitely mostly works. -# We have ~29000 tests successfully passing from ~30000 tests. -RESTRICT="test" - -RDEPEND=" - $(python_gen_cond_dep ' - dev-python/configobj[${PYTHON_USEDEP}] - dev-python/fastbencode[${PYTHON_USEDEP}] - dev-python/patiencediff[${PYTHON_USEDEP}] - dev-python/merge3[${PYTHON_USEDEP}] - dev-python/dulwich[${PYTHON_USEDEP}] - dev-python/urllib3[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/tzlocal[${PYTHON_USEDEP}] - ') - !dev-vcs/bzr -" -BDEPEND=" - $(python_gen_cond_dep ' - dev-python/cython[${PYTHON_USEDEP}] - dev-python/setuptools-gettext[${PYTHON_USEDEP}] - dev-python/setuptools-rust[${PYTHON_USEDEP}] - ') -" - -QA_FLAGS_IGNORED=" - usr/lib.*/py.*/site-packages/breezy/.*.so - usr/bin/brz -" - -src_prepare() { - sed -e 's@man/man1@share/&@' \ - -e 's@, strip=Strip\.All@@' \ - -i setup.py || die - - distutils-r1_src_prepare -} - -src_install() { - distutils-r1_src_install - - # Symlink original bzr's bin names to new names - dosym brz /usr/bin/bzr -} - -pkg_postinst() { - optfeature "access branches over sftp" "dev-python/pycryptodome dev-python/paramiko" - optfeature "PGP sign and verify commits" "app-crypt/gpgme[python]" -} diff --git a/dev-vcs/breezy/breezy-3.3.7-r2.ebuild b/dev-vcs/breezy/breezy-3.3.7-r2.ebuild new file mode 100644 index 000000000000..695dc3e7e9a0 --- /dev/null +++ b/dev-vcs/breezy/breezy-3.3.7-r2.ebuild @@ -0,0 +1,78 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 +DISTUTILS_USE_PEP517=setuptools +DISTUTILS_SINGLE_IMPL=1 +PYTHON_COMPAT=( python3_{10..12} ) + +CRATES=" +" + +inherit cargo distutils-r1 optfeature + +DESCRIPTION="Distributed Version Control System with a Friendly UI" +HOMEPAGE="https://www.breezy-vcs.org/ https://github.com/breezy-team/breezy" +SRC_URI="https://launchpad.net/brz/$(ver_cut 1-2)/${PV}/+download/${P}.tar.gz + ${CARGO_CRATE_URIS}" +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+="https://dev.gentoo.org/~arthurzam/distfiles/dev-vcs/${PN}/${P}-crates.tar.xz" +fi + +LICENSE="GPL-2+" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +# I've got tired of all the test failures. It definitely mostly works. +# We have ~29000 tests successfully passing from ~30000 tests. +RESTRICT="test" + +RDEPEND=" + $(python_gen_cond_dep ' + dev-python/configobj[${PYTHON_USEDEP}] + dev-python/fastbencode[${PYTHON_USEDEP}] + dev-python/patiencediff[${PYTHON_USEDEP}] + dev-python/merge3[${PYTHON_USEDEP}] + dev-python/dulwich[${PYTHON_USEDEP}] + dev-python/urllib3[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + dev-python/tzlocal[${PYTHON_USEDEP}] + ') + !dev-vcs/bzr +" +BDEPEND=" + $(python_gen_cond_dep ' + dev-python/cython[${PYTHON_USEDEP}] + dev-python/setuptools-gettext[${PYTHON_USEDEP}] + dev-python/setuptools-rust[${PYTHON_USEDEP}] + ') +" + +QA_FLAGS_IGNORED=" + usr/lib.*/py.*/site-packages/breezy/.*.so + usr/bin/brz +" + +src_prepare() { + sed -e 's@man/man1@share/&@' \ + -e 's@, strip=Strip\.All@@' \ + -i setup.py || die + + distutils-r1_src_prepare +} + +src_install() { + distutils-r1_src_install + + # Symlink original bzr's bin names to new names + dosym brz /usr/bin/bzr +} + +pkg_postinst() { + optfeature "access branches over sftp" "dev-python/pycryptodome dev-python/paramiko" + optfeature "PGP sign and verify commits" "app-crypt/gpgme[python]" +} diff --git a/dev-vcs/git-absorb/git-absorb-0.6.15-r1.ebuild b/dev-vcs/git-absorb/git-absorb-0.6.15-r1.ebuild new file mode 100644 index 000000000000..c3b68e62d3d7 --- /dev/null +++ b/dev-vcs/git-absorb/git-absorb-0.6.15-r1.ebuild @@ -0,0 +1,158 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + anstream@0.6.13 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + anyhow@1.0.81 + bitflags@1.3.2 + bitflags@2.5.0 + cc@1.0.90 + cfg-if@1.0.0 + clap@4.5.3 + clap_builder@4.5.2 + clap_complete@4.5.1 + clap_complete_nushell@4.5.1 + clap_derive@4.5.3 + clap_lex@0.7.0 + colorchoice@1.0.0 + crossbeam-channel@0.5.12 + crossbeam-utils@0.8.19 + deranged@0.3.11 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + errno@0.3.8 + fastrand@2.0.1 + form_urlencoded@1.2.1 + getrandom@0.2.12 + git2@0.19.0 + heck@0.5.0 + hermit-abi@0.3.9 + idna@0.5.0 + is-terminal@0.4.12 + itoa@1.0.10 + jobserver@0.1.28 + libc@0.2.155 + libgit2-sys@0.17.0+1.8.1 + libredox@0.0.1 + libz-sys@1.1.16 + linux-raw-sys@0.4.13 + log@0.4.21 + memchr@2.7.1 + num-conv@0.1.0 + once_cell@1.19.0 + percent-encoding@2.3.1 + pkg-config@0.3.30 + powerfmt@0.2.0 + proc-macro2@1.0.79 + quote@1.0.35 + redox_syscall@0.4.1 + redox_users@0.4.4 + rustix@0.38.32 + rustversion@1.0.14 + serde@1.0.197 + serde_derive@1.0.197 + slog-async@2.8.0 + slog-term@2.9.1 + slog@2.7.0 + strsim@0.11.0 + syn@2.0.53 + take_mut@0.2.2 + tempfile@3.10.1 + term@0.7.0 + terminal_size@0.3.0 + thiserror-impl@1.0.58 + thiserror@1.0.58 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + url@2.5.0 + utf8parse@0.2.1 + vcpkg@0.2.15 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.4 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.4 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.4 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.4 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.4 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.4 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.4 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.4 +" + +inherit cargo shell-completion + +DESCRIPTION="Automatically absorb staged changes into git current branch" +HOMEPAGE="https://github.com/tummychow/git-absorb" +SRC_URI="${CARGO_CRATE_URIS}" +SRC_URI+=" https://github.com/tummychow/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD" +# Dependent crate licenses +LICENSE+=" MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-libs/libgit2-1.8:= +" +DEPEND="${RDEPEND}" + +DOCS=( README.md ) + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_compile() { + export LIBGIT2_NO_VENDOR=1 + + cargo_src_compile + + GIT_ABSORB_BIN="$(cargo_target_dir)/${PN}" + + # Prepare shell completion generation + mkdir completions || die + local shell + for shell in bash fish zsh; do + "${GIT_ABSORB_BIN}" --gen-completions \ + ${shell} \ + > completions/${PN}.${shell} \ + || die + done +} + +src_install() { + cargo_src_install + doman Documentation/${PN}.1 + + newbashcomp "completions/${PN}.bash" "${PN}" + dofishcomp "completions/${PN}.fish" + dozshcomp "completions/${PN}.zsh" + + default +} diff --git a/dev-vcs/git-absorb/git-absorb-0.6.15.ebuild b/dev-vcs/git-absorb/git-absorb-0.6.15.ebuild deleted file mode 100644 index c3b68e62d3d7..000000000000 --- a/dev-vcs/git-absorb/git-absorb-0.6.15.ebuild +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - anstream@0.6.13 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - anyhow@1.0.81 - bitflags@1.3.2 - bitflags@2.5.0 - cc@1.0.90 - cfg-if@1.0.0 - clap@4.5.3 - clap_builder@4.5.2 - clap_complete@4.5.1 - clap_complete_nushell@4.5.1 - clap_derive@4.5.3 - clap_lex@0.7.0 - colorchoice@1.0.0 - crossbeam-channel@0.5.12 - crossbeam-utils@0.8.19 - deranged@0.3.11 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - errno@0.3.8 - fastrand@2.0.1 - form_urlencoded@1.2.1 - getrandom@0.2.12 - git2@0.19.0 - heck@0.5.0 - hermit-abi@0.3.9 - idna@0.5.0 - is-terminal@0.4.12 - itoa@1.0.10 - jobserver@0.1.28 - libc@0.2.155 - libgit2-sys@0.17.0+1.8.1 - libredox@0.0.1 - libz-sys@1.1.16 - linux-raw-sys@0.4.13 - log@0.4.21 - memchr@2.7.1 - num-conv@0.1.0 - once_cell@1.19.0 - percent-encoding@2.3.1 - pkg-config@0.3.30 - powerfmt@0.2.0 - proc-macro2@1.0.79 - quote@1.0.35 - redox_syscall@0.4.1 - redox_users@0.4.4 - rustix@0.38.32 - rustversion@1.0.14 - serde@1.0.197 - serde_derive@1.0.197 - slog-async@2.8.0 - slog-term@2.9.1 - slog@2.7.0 - strsim@0.11.0 - syn@2.0.53 - take_mut@0.2.2 - tempfile@3.10.1 - term@0.7.0 - terminal_size@0.3.0 - thiserror-impl@1.0.58 - thiserror@1.0.58 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - url@2.5.0 - utf8parse@0.2.1 - vcpkg@0.2.15 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.4 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.4 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.4 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.4 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.4 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.4 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.4 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.4 -" - -inherit cargo shell-completion - -DESCRIPTION="Automatically absorb staged changes into git current branch" -HOMEPAGE="https://github.com/tummychow/git-absorb" -SRC_URI="${CARGO_CRATE_URIS}" -SRC_URI+=" https://github.com/tummychow/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="BSD" -# Dependent crate licenses -LICENSE+=" MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64 ~arm64" - -RDEPEND=" - >=dev-libs/libgit2-1.8:= -" -DEPEND="${RDEPEND}" - -DOCS=( README.md ) - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_compile() { - export LIBGIT2_NO_VENDOR=1 - - cargo_src_compile - - GIT_ABSORB_BIN="$(cargo_target_dir)/${PN}" - - # Prepare shell completion generation - mkdir completions || die - local shell - for shell in bash fish zsh; do - "${GIT_ABSORB_BIN}" --gen-completions \ - ${shell} \ - > completions/${PN}.${shell} \ - || die - done -} - -src_install() { - cargo_src_install - doman Documentation/${PN}.1 - - newbashcomp "completions/${PN}.bash" "${PN}" - dofishcomp "completions/${PN}.fish" - dozshcomp "completions/${PN}.zsh" - - default -} diff --git a/dev-vcs/mercurial/mercurial-6.5.3-r1.ebuild b/dev-vcs/mercurial/mercurial-6.5.3-r1.ebuild deleted file mode 100644 index ef5aaf4ea840..000000000000 --- a/dev-vcs/mercurial/mercurial-6.5.3-r1.ebuild +++ /dev/null @@ -1,361 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=1 -DISTUTILS_USE_PEP517="setuptools" -DISTUTILS_EXT=1 -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="threads(+)" - -CRATES=" - adler-1.0.2 - ahash-0.8.2 - aho-corasick-0.7.19 - android_system_properties-0.1.5 - atty-0.2.14 - autocfg-1.1.0 - bitflags-1.3.2 - bitmaps-2.1.0 - block-buffer-0.9.0 - block-buffer-0.10.3 - bumpalo-3.11.1 - byteorder-1.4.3 - bytes-cast-0.3.0 - bytes-cast-derive-0.2.0 - cc-1.0.76 - cfg-if-1.0.0 - chrono-0.4.23 - clap-4.0.24 - clap_derive-4.0.21 - clap_lex-0.3.0 - codespan-reporting-0.11.1 - convert_case-0.4.0 - core-foundation-sys-0.8.3 - cpufeatures-0.2.5 - cpython-0.7.1 - crc32fast-1.3.2 - crossbeam-channel-0.5.6 - crossbeam-deque-0.8.2 - crossbeam-epoch-0.9.11 - crossbeam-utils-0.8.12 - crypto-common-0.1.6 - ctor-0.1.26 - cxx-1.0.81 - cxx-build-1.0.81 - cxxbridge-flags-1.0.81 - cxxbridge-macro-1.0.81 - derive_more-0.99.17 - diff-0.1.13 - digest-0.9.0 - digest-0.10.5 - either-1.8.0 - env_logger-0.9.3 - fastrand-1.8.0 - flate2-1.0.24 - format-bytes-0.3.0 - format-bytes-macros-0.4.0 - generic-array-0.14.6 - getrandom-0.1.16 - getrandom-0.2.8 - hashbrown-0.13.1 - heck-0.4.0 - hermit-abi-0.1.19 - hex-0.4.3 - home-0.5.4 - humantime-2.1.0 - iana-time-zone-0.1.53 - iana-time-zone-haiku-0.1.1 - im-rc-15.1.0 - instant-0.1.12 - itertools-0.10.5 - jobserver-0.1.25 - js-sys-0.3.60 - lazy_static-1.4.0 - libc-0.2.137 - libm-0.2.6 - libz-sys-1.1.8 - link-cplusplus-1.0.7 - log-0.4.17 - logging_timer-1.1.0 - logging_timer_proc_macros-1.1.0 - memchr-2.5.0 - memmap2-0.5.8 - memoffset-0.6.5 - miniz_oxide-0.5.4 - num-integer-0.1.45 - num-traits-0.2.15 - num_cpus-1.14.0 - once_cell-1.16.0 - opaque-debug-0.3.0 - os_str_bytes-6.4.0 - output_vt100-0.1.3 - paste-1.0.9 - pkg-config-0.3.26 - ppv-lite86-0.2.17 - pretty_assertions-1.3.0 - proc-macro-error-1.0.4 - proc-macro-error-attr-1.0.4 - proc-macro2-1.0.47 - python3-sys-0.7.1 - quote-1.0.21 - rand-0.7.3 - rand-0.8.5 - rand_chacha-0.2.2 - rand_chacha-0.3.1 - rand_core-0.5.1 - rand_core-0.6.4 - rand_distr-0.4.3 - rand_hc-0.2.0 - rand_pcg-0.3.1 - rand_xoshiro-0.6.0 - rayon-1.7.0 - rayon-core-1.11.0 - redox_syscall-0.2.16 - regex-1.7.0 - regex-syntax-0.6.28 - remove_dir_all-0.5.3 - rustc_version-0.4.0 - same-file-1.0.6 - scopeguard-1.1.0 - scratch-1.0.2 - self_cell-1.0.0 - semver-1.0.14 - sha-1-0.9.8 - sha-1-0.10.0 - sized-chunks-0.6.5 - stable_deref_trait-1.2.0 - static_assertions-1.1.0 - strsim-0.10.0 - syn-1.0.103 - tempfile-3.3.0 - termcolor-1.1.3 - thread_local-1.1.4 - time-0.1.44 - twox-hash-1.6.3 - typenum-1.15.0 - unicode-ident-1.0.5 - unicode-width-0.1.10 - vcpkg-0.2.15 - vcsgraph-0.2.0 - version_check-0.9.4 - wasi-0.9.0+wasi-snapshot-preview1 - wasi-0.10.0+wasi-snapshot-preview1 - 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 - web-sys-0.3.60 - which-4.3.0 - whoami-1.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 - yansi-0.5.1 - zstd-0.12.3+zstd.1.5.2 - zstd-safe-6.0.4+zstd.1.5.4 - zstd-sys-2.0.7+zstd.1.5.4 -" - -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}) )" - -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 )" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~loong ~m68k ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+chg emacs gpg test tk rust" - -BDEPEND="rust? ( ${RUST_DEPEND} )" -RDEPEND=" - app-misc/ca-certificates - gpg? ( app-crypt/gnupg ) - tk? ( dev-lang/tk )" - -DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) - test? ( - app-arch/unzip - dev-python/pygments[${PYTHON_USEDEP}] - )" - -REQUIRED_USE="rust? ( !$(python_gen_useflags 'python3_12') )" - -SITEFILE="70${PN}-gentoo.el" - -RESTRICT="!test? ( test )" - -PATCHES=( "${FILESDIR}/python3.12.patch" ) - -src_unpack() { - default_src_unpack - if use rust; then - local S="${S}/rust/hg-cpython" - cargo_src_unpack - else - # Needed because distutils-r1 install under cargo_env if cargo is inherited - cargo_gen_config - fi -} - -python_prepare_all() { - # fix up logic that won't work in Gentoo Prefix (also won't outside in - # certain cases), bug #362891 - sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die - sed -i -e 's/__APPLE__/__NO_APPLE__/g' mercurial/cext/osutil.c || die - - # Build assumes the Rust target directory, which is wrong for us. - sed -i -r "s:\brust[/,' ]+target[/,' ]+release\b:rust/$(cargo_target_dir):g" \ - Makefile \ - setup.py \ - tests/run-tests.py \ - || die - - distutils-r1_python_prepare_all -} - -src_compile() { - if use rust; then - pushd rust/hg-cpython || die - cargo_src_compile --no-default-features --jobs $(makeopts_jobs) - popd || die - fi - distutils-r1_src_compile -} - -python_compile() { - filter-flags -ftracer -ftree-vectorize - if use rust; then - local -x HGWITHRUSTEXT="cpython" - fi - distutils-r1_python_compile build_ext -} - -python_compile_all() { - rm -r contrib/win32 || die - if use chg; then - emake -C contrib/chg - fi - if use rust; then - pushd rust/rhg || die - cargo_src_compile --no-default-features --jobs $(makeopts_jobs) - popd || die - fi - if use emacs; then - cd contrib || die - elisp-compile mercurial.el || die "elisp-compile failed!" - fi -} - -src_install() { - distutils-r1_src_install -} - -python_install() { - if use rust; then - local -x HGWITHRUSTEXT="cpython" - fi - - distutils-r1_python_install build_ext - python_doscript contrib/hg-ssh -} - -python_install_all() { - distutils-r1_python_install_all - - newbashcomp contrib/bash_completion hg - - insinto /usr/share/zsh/site-functions - newins contrib/zsh_completion _hg - - dobin hgeditor - if use tk; then - dobin contrib/hgk - fi - - if use emacs; then - elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" - elisp-make-site-file "${SITEFILE}" - fi - - local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion plan9 *.el ) - - if use chg; then - dobin contrib/chg/chg - doman contrib/chg/chg.1 - RM_CONTRIB+=( chg ) - fi - if use rust; then - dobin "rust/$(cargo_target_dir)/rhg" - fi - - for f in ${RM_CONTRIB[@]}; do - rm -rf contrib/${f} || die - done - - dodoc -r contrib - docompress -x /usr/share/doc/${PF}/contrib - doman doc/*.? - dodoc CONTRIBUTORS hgweb.cgi - - insinto /etc/mercurial/hgrc.d - doins "${FILESDIR}/cacerts.rc" -} - -src_test() { - pushd tests &>/dev/null || die - rm -rf *svn* # Subversion tests fail with 1.5 - rm -f test-archive* # Fails due to verbose tar output changes - rm -f test-convert-baz* # GNU Arch baz - rm -f test-convert-cvs* # CVS - rm -f test-convert-darcs* # Darcs - rm -f test-convert-git* # git - rm -f test-convert-mtn* # monotone - rm -f test-convert-tla* # GNU Arch tla - rm -f test-largefiles* # tends to time out - rm -f test-https* # requires to support tls1.0 - rm -rf test-removeemptydirs* # requires access to access parent directories - if [[ ${EUID} -eq 0 ]]; then - einfo "Removing tests which require user privileges to succeed" - rm -f test-convert* - rm -f test-lock-badness* - rm -f test-permissions* - rm -f test-pull-permission* - rm -f test-journal-exists* - rm -f test-repair-strip* - fi - - popd &>/dev/null || die - distutils-r1_src_test -} - -python_test() { - cd tests || die - PYTHONWARNINGS=ignore "${PYTHON}" run-tests.py \ - --jobs $(makeopts_jobs) \ - --timeout 0 \ - || die "Tests fail with ${EPYTHON}" -} - -pkg_postinst() { - use emacs && elisp-site-regen - - elog "If you want to convert repositories from other tools using convert" - elog "extension please install correct tool:" - elog " dev-vcs/cvs" - elog " dev-vcs/darcs" - elog " dev-vcs/git" - elog " dev-vcs/monotone" - elog " dev-vcs/subversion" -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-vcs/mercurial/mercurial-6.5.3-r2.ebuild b/dev-vcs/mercurial/mercurial-6.5.3-r2.ebuild new file mode 100644 index 000000000000..969e0594fd27 --- /dev/null +++ b/dev-vcs/mercurial/mercurial-6.5.3-r2.ebuild @@ -0,0 +1,364 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=1 +DISTUTILS_USE_PEP517="setuptools" +DISTUTILS_EXT=1 +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="threads(+)" + +CRATES=" + adler-1.0.2 + ahash-0.8.2 + aho-corasick-0.7.19 + android_system_properties-0.1.5 + atty-0.2.14 + autocfg-1.1.0 + bitflags-1.3.2 + bitmaps-2.1.0 + block-buffer-0.9.0 + block-buffer-0.10.3 + bumpalo-3.11.1 + byteorder-1.4.3 + bytes-cast-0.3.0 + bytes-cast-derive-0.2.0 + cc-1.0.76 + cfg-if-1.0.0 + chrono-0.4.23 + clap-4.0.24 + clap_derive-4.0.21 + clap_lex-0.3.0 + codespan-reporting-0.11.1 + convert_case-0.4.0 + core-foundation-sys-0.8.3 + cpufeatures-0.2.5 + cpython-0.7.1 + crc32fast-1.3.2 + crossbeam-channel-0.5.6 + crossbeam-deque-0.8.2 + crossbeam-epoch-0.9.11 + crossbeam-utils-0.8.12 + crypto-common-0.1.6 + ctor-0.1.26 + cxx-1.0.81 + cxx-build-1.0.81 + cxxbridge-flags-1.0.81 + cxxbridge-macro-1.0.81 + derive_more-0.99.17 + diff-0.1.13 + digest-0.9.0 + digest-0.10.5 + either-1.8.0 + env_logger-0.9.3 + fastrand-1.8.0 + flate2-1.0.24 + format-bytes-0.3.0 + format-bytes-macros-0.4.0 + generic-array-0.14.6 + getrandom-0.1.16 + getrandom-0.2.8 + hashbrown-0.13.1 + heck-0.4.0 + hermit-abi-0.1.19 + hex-0.4.3 + home-0.5.4 + humantime-2.1.0 + iana-time-zone-0.1.53 + iana-time-zone-haiku-0.1.1 + im-rc-15.1.0 + instant-0.1.12 + itertools-0.10.5 + jobserver-0.1.25 + js-sys-0.3.60 + lazy_static-1.4.0 + libc-0.2.137 + libm-0.2.6 + libz-sys-1.1.8 + link-cplusplus-1.0.7 + log-0.4.17 + logging_timer-1.1.0 + logging_timer_proc_macros-1.1.0 + memchr-2.5.0 + memmap2-0.5.8 + memoffset-0.6.5 + miniz_oxide-0.5.4 + num-integer-0.1.45 + num-traits-0.2.15 + num_cpus-1.14.0 + once_cell-1.16.0 + opaque-debug-0.3.0 + os_str_bytes-6.4.0 + output_vt100-0.1.3 + paste-1.0.9 + pkg-config-0.3.26 + ppv-lite86-0.2.17 + pretty_assertions-1.3.0 + proc-macro-error-1.0.4 + proc-macro-error-attr-1.0.4 + proc-macro2-1.0.47 + python3-sys-0.7.1 + quote-1.0.21 + rand-0.7.3 + rand-0.8.5 + rand_chacha-0.2.2 + rand_chacha-0.3.1 + rand_core-0.5.1 + rand_core-0.6.4 + rand_distr-0.4.3 + rand_hc-0.2.0 + rand_pcg-0.3.1 + rand_xoshiro-0.6.0 + rayon-1.7.0 + rayon-core-1.11.0 + redox_syscall-0.2.16 + regex-1.7.0 + regex-syntax-0.6.28 + remove_dir_all-0.5.3 + rustc_version-0.4.0 + same-file-1.0.6 + scopeguard-1.1.0 + scratch-1.0.2 + self_cell-1.0.0 + semver-1.0.14 + sha-1-0.9.8 + sha-1-0.10.0 + sized-chunks-0.6.5 + stable_deref_trait-1.2.0 + static_assertions-1.1.0 + strsim-0.10.0 + syn-1.0.103 + tempfile-3.3.0 + termcolor-1.1.3 + thread_local-1.1.4 + time-0.1.44 + twox-hash-1.6.3 + typenum-1.15.0 + unicode-ident-1.0.5 + unicode-width-0.1.10 + vcpkg-0.2.15 + vcsgraph-0.2.0 + version_check-0.9.4 + wasi-0.9.0+wasi-snapshot-preview1 + wasi-0.10.0+wasi-snapshot-preview1 + 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 + web-sys-0.3.60 + which-4.3.0 + whoami-1.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 + yansi-0.5.1 + zstd-0.12.3+zstd.1.5.2 + zstd-safe-6.0.4+zstd.1.5.4 + 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} )" + +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 )" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~loong ~m68k ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="+chg emacs gpg test tk rust" + +BDEPEND="rust? ( ${RUST_DEPEND} )" +RDEPEND=" + app-misc/ca-certificates + gpg? ( app-crypt/gnupg ) + tk? ( dev-lang/tk )" + +DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) + test? ( + app-arch/unzip + dev-python/pygments[${PYTHON_USEDEP}] + )" + +REQUIRED_USE="rust? ( !$(python_gen_useflags 'python3_12') )" + +SITEFILE="70${PN}-gentoo.el" + +RESTRICT="!test? ( test )" + +PATCHES=( "${FILESDIR}/python3.12.patch" ) + +src_unpack() { + default_src_unpack + if use rust; then + local S="${S}/rust/hg-cpython" + cargo_src_unpack + else + # Needed because distutils-r1 install under cargo_env if cargo is inherited + cargo_gen_config + fi +} + +python_prepare_all() { + # fix up logic that won't work in Gentoo Prefix (also won't outside in + # certain cases), bug #362891 + sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die + sed -i -e 's/__APPLE__/__NO_APPLE__/g' mercurial/cext/osutil.c || die + + # Build assumes the Rust target directory, which is wrong for us. + sed -i -r "s:\brust[/,' ]+target[/,' ]+release\b:rust/$(cargo_target_dir):g" \ + Makefile \ + setup.py \ + tests/run-tests.py \ + || die + + distutils-r1_python_prepare_all +} + +src_compile() { + if use rust; then + pushd rust/hg-cpython || die + cargo_src_compile --no-default-features --jobs $(makeopts_jobs) + popd || die + fi + distutils-r1_src_compile +} + +python_compile() { + filter-flags -ftracer -ftree-vectorize + if use rust; then + local -x HGWITHRUSTEXT="cpython" + fi + distutils-r1_python_compile build_ext +} + +python_compile_all() { + rm -r contrib/win32 || die + if use chg; then + emake -C contrib/chg + fi + if use rust; then + pushd rust/rhg || die + cargo_src_compile --no-default-features --jobs $(makeopts_jobs) + popd || die + fi + if use emacs; then + cd contrib || die + elisp-compile mercurial.el || die "elisp-compile failed!" + fi +} + +src_install() { + distutils-r1_src_install +} + +python_install() { + if use rust; then + local -x HGWITHRUSTEXT="cpython" + fi + + distutils-r1_python_install build_ext + python_doscript contrib/hg-ssh +} + +python_install_all() { + distutils-r1_python_install_all + + newbashcomp contrib/bash_completion hg + + insinto /usr/share/zsh/site-functions + newins contrib/zsh_completion _hg + + dobin hgeditor + if use tk; then + dobin contrib/hgk + fi + + if use emacs; then + elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" + elisp-make-site-file "${SITEFILE}" + fi + + local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion plan9 *.el ) + + if use chg; then + dobin contrib/chg/chg + doman contrib/chg/chg.1 + RM_CONTRIB+=( chg ) + fi + if use rust; then + dobin "rust/$(cargo_target_dir)/rhg" + fi + + for f in ${RM_CONTRIB[@]}; do + rm -rf contrib/${f} || die + done + + dodoc -r contrib + docompress -x /usr/share/doc/${PF}/contrib + doman doc/*.? + dodoc CONTRIBUTORS hgweb.cgi + + insinto /etc/mercurial/hgrc.d + doins "${FILESDIR}/cacerts.rc" +} + +src_test() { + pushd tests &>/dev/null || die + rm -rf *svn* # Subversion tests fail with 1.5 + rm -f test-archive* # Fails due to verbose tar output changes + rm -f test-convert-baz* # GNU Arch baz + rm -f test-convert-cvs* # CVS + rm -f test-convert-darcs* # Darcs + rm -f test-convert-git* # git + rm -f test-convert-mtn* # monotone + rm -f test-convert-tla* # GNU Arch tla + rm -f test-largefiles* # tends to time out + rm -f test-https* # requires to support tls1.0 + rm -rf test-removeemptydirs* # requires access to access parent directories + if [[ ${EUID} -eq 0 ]]; then + einfo "Removing tests which require user privileges to succeed" + rm -f test-convert* + rm -f test-lock-badness* + rm -f test-permissions* + rm -f test-pull-permission* + rm -f test-journal-exists* + rm -f test-repair-strip* + fi + + popd &>/dev/null || die + distutils-r1_src_test +} + +python_test() { + cd tests || die + PYTHONWARNINGS=ignore "${PYTHON}" run-tests.py \ + --jobs $(makeopts_jobs) \ + --timeout 0 \ + || die "Tests fail with ${EPYTHON}" +} + +pkg_postinst() { + use emacs && elisp-site-regen + + elog "If you want to convert repositories from other tools using convert" + elog "extension please install correct tool:" + elog " dev-vcs/cvs" + elog " dev-vcs/darcs" + elog " dev-vcs/git" + elog " dev-vcs/monotone" + elog " dev-vcs/subversion" +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-vcs/mercurial/mercurial-6.6.2-r1.ebuild b/dev-vcs/mercurial/mercurial-6.6.2-r1.ebuild deleted file mode 100644 index 08e2955bc986..000000000000 --- a/dev-vcs/mercurial/mercurial-6.6.2-r1.ebuild +++ /dev/null @@ -1,371 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=1 -DISTUTILS_USE_PEP517="setuptools" -DISTUTILS_EXT=1 -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="threads(+)" - -CRATES=" - adler@1.0.2 - ahash@0.8.2 - aho-corasick@0.7.19 - android_system_properties@0.1.5 - atty@0.2.14 - autocfg@1.1.0 - bitflags@1.3.2 - bitmaps@2.1.0 - block-buffer@0.9.0 - block-buffer@0.10.3 - bumpalo@3.11.1 - byteorder@1.4.3 - bytes-cast@0.3.0 - bytes-cast-derive@0.2.0 - cc@1.0.76 - cfg-if@1.0.0 - chrono@0.4.23 - clap@4.0.24 - clap_derive@4.0.21 - clap_lex@0.3.0 - codespan-reporting@0.11.1 - convert_case@0.4.0 - core-foundation-sys@0.8.3 - cpufeatures@0.2.5 - cpython@0.7.1 - crc32fast@1.3.2 - crossbeam-channel@0.5.6 - crossbeam-deque@0.8.2 - crossbeam-epoch@0.9.11 - crossbeam-utils@0.8.12 - crypto-common@0.1.6 - ctor@0.1.26 - cxx@1.0.81 - cxx-build@1.0.81 - cxxbridge-flags@1.0.81 - cxxbridge-macro@1.0.81 - derive_more@0.99.17 - diff@0.1.13 - digest@0.9.0 - digest@0.10.5 - either@1.8.0 - env_logger@0.9.3 - fastrand@1.8.0 - flate2@1.0.24 - format-bytes@0.3.0 - format-bytes-macros@0.4.0 - generic-array@0.14.6 - getrandom@0.1.16 - getrandom@0.2.8 - hashbrown@0.12.3 - hashbrown@0.13.1 - heck@0.4.0 - hermit-abi@0.1.19 - hex@0.4.3 - home@0.5.4 - humantime@2.1.0 - iana-time-zone@0.1.53 - iana-time-zone-haiku@0.1.1 - im-rc@15.1.0 - indexmap@1.9.2 - instant@0.1.12 - itertools@0.10.5 - jobserver@0.1.25 - js-sys@0.3.60 - lazy_static@1.4.0 - libc@0.2.137 - libm@0.2.6 - libz-sys@1.1.8 - link-cplusplus@1.0.7 - log@0.4.17 - logging_timer@1.1.0 - logging_timer_proc_macros@1.1.0 - memchr@2.5.0 - memmap2@0.5.8 - memoffset@0.6.5 - miniz_oxide@0.5.4 - nom8@0.2.0 - num-integer@0.1.45 - num-traits@0.2.15 - num_cpus@1.14.0 - once_cell@1.16.0 - opaque-debug@0.3.0 - os_str_bytes@6.4.0 - output_vt100@0.1.3 - paste@1.0.9 - pkg-config@0.3.26 - ppv-lite86@0.2.17 - pretty_assertions@1.3.0 - proc-macro-error@1.0.4 - proc-macro-error-attr@1.0.4 - proc-macro2@1.0.47 - python3-sys@0.7.1 - quote@1.0.21 - rand@0.7.3 - rand@0.8.5 - rand_chacha@0.2.2 - rand_chacha@0.3.1 - rand_core@0.5.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rand_hc@0.2.0 - rand_pcg@0.3.1 - rand_xoshiro@0.6.0 - rayon@1.7.0 - rayon-core@1.11.0 - redox_syscall@0.2.16 - regex@1.7.0 - regex-syntax@0.6.28 - remove_dir_all@0.5.3 - rustc_version@0.4.0 - same-file@1.0.6 - scopeguard@1.1.0 - scratch@1.0.2 - self_cell@1.0.0 - semver@1.0.14 - serde@1.0.152 - serde_derive@1.0.152 - serde_spanned@0.6.1 - sha-1@0.9.8 - sha-1@0.10.0 - sized-chunks@0.6.5 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - strsim@0.10.0 - syn@1.0.109 - tempfile@3.3.0 - termcolor@1.1.3 - thread_local@1.1.4 - time@0.1.44 - toml@0.6.0 - toml_datetime@0.5.1 - toml_edit@0.18.1 - twox-hash@1.6.3 - typenum@1.15.0 - unicode-ident@1.0.5 - unicode-width@0.1.10 - vcpkg@0.2.15 - vcsgraph@0.2.0 - version_check@0.9.4 - wasi@0.9.0+wasi-snapshot-preview1 - wasi@0.10.0+wasi-snapshot-preview1 - 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 - web-sys@0.3.60 - which@4.3.0 - whoami@1.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 - yansi@0.5.1 - zstd@0.12.3+zstd.1.5.2 - zstd-safe@6.0.4+zstd.1.5.4 - zstd-sys@2.0.7+zstd.1.5.4 -" - -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} )" - -LICENSE="GPL-2+ - rust? ( - 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT MPL-2.0 PSF-2 Unicode-DFS-2016 Unlicense ZLIB )" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~loong ~m68k ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+chg emacs gpg test tk rust" - -BDEPEND="rust? ( ${RUST_DEPEND} )" -RDEPEND=" - app-misc/ca-certificates - gpg? ( app-crypt/gnupg ) - tk? ( dev-lang/tk )" - -DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) - test? ( - app-arch/unzip - dev-python/pygments[${PYTHON_USEDEP}] - )" - -REQUIRED_USE="rust? ( !$(python_gen_useflags 'python3_12') )" - -SITEFILE="70${PN}-gentoo.el" - -RESTRICT="!test? ( test )" - -PATCHES=( "${FILESDIR}/python3.12.patch" ) - -src_unpack() { - default_src_unpack - if use rust; then - local S="${S}/rust/hg-cpython" - cargo_src_unpack - else - # Needed because distutils-r1 install under cargo_env if cargo is inherited - cargo_gen_config - fi -} - -python_prepare_all() { - # fix up logic that won't work in Gentoo Prefix (also won't outside in - # certain cases), bug #362891 - sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die - sed -i -e 's/__APPLE__/__NO_APPLE__/g' mercurial/cext/osutil.c || die - - # Build assumes the Rust target directory, which is wrong for us. - sed -i -r "s:\brust[/,' ]+target[/,' ]+release\b:rust/$(cargo_target_dir):g" \ - Makefile \ - setup.py \ - tests/run-tests.py \ - || die - - distutils-r1_python_prepare_all -} - -src_compile() { - if use rust; then - pushd rust/hg-cpython || die - cargo_src_compile --no-default-features --jobs $(makeopts_jobs) - popd || die - fi - distutils-r1_src_compile -} - -python_compile() { - filter-flags -ftracer -ftree-vectorize - if use rust; then - local -x HGWITHRUSTEXT="cpython" - fi - distutils-r1_python_compile build_ext -} - -python_compile_all() { - rm -r contrib/win32 || die - if use chg; then - emake -C contrib/chg - fi - if use rust; then - pushd rust/rhg || die - cargo_src_compile --no-default-features --jobs $(makeopts_jobs) - popd || die - fi - if use emacs; then - cd contrib || die - elisp-compile mercurial.el || die "elisp-compile failed!" - fi -} - -src_install() { - distutils-r1_src_install -} - -python_install() { - if use rust; then - local -x HGWITHRUSTEXT="cpython" - fi - - distutils-r1_python_install build_ext - python_doscript contrib/hg-ssh -} - -python_install_all() { - distutils-r1_python_install_all - - newbashcomp contrib/bash_completion hg - - insinto /usr/share/zsh/site-functions - newins contrib/zsh_completion _hg - - dobin hgeditor - if use tk; then - dobin contrib/hgk - fi - - if use emacs; then - elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" - elisp-make-site-file "${SITEFILE}" - fi - - local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion plan9 *.el ) - - if use chg; then - dobin contrib/chg/chg - doman contrib/chg/chg.1 - RM_CONTRIB+=( chg ) - fi - if use rust; then - dobin "rust/$(cargo_target_dir)/rhg" - fi - - for f in ${RM_CONTRIB[@]}; do - rm -rf contrib/${f} || die - done - - dodoc -r contrib - docompress -x /usr/share/doc/${PF}/contrib - doman doc/*.? - dodoc CONTRIBUTORS hgweb.cgi - - insinto /etc/mercurial/hgrc.d - doins "${FILESDIR}/cacerts.rc" -} - -src_test() { - pushd tests &>/dev/null || die - rm -rf *svn* # Subversion tests fail with 1.5 - rm -f test-archive* # Fails due to verbose tar output changes - rm -f test-convert-baz* # GNU Arch baz - rm -f test-convert-cvs* # CVS - rm -f test-convert-darcs* # Darcs - rm -f test-convert-git* # git - rm -f test-convert-mtn* # monotone - rm -f test-convert-tla* # GNU Arch tla - rm -f test-largefiles* # tends to time out - rm -f test-https* # requires to support tls1.0 - rm -rf test-removeemptydirs* # requires access to access parent directories - if [[ ${EUID} -eq 0 ]]; then - einfo "Removing tests which require user privileges to succeed" - rm -f test-convert* - rm -f test-lock-badness* - rm -f test-permissions* - rm -f test-pull-permission* - rm -f test-journal-exists* - rm -f test-repair-strip* - fi - - popd &>/dev/null || die - distutils-r1_src_test -} - -python_test() { - cd tests || die - PYTHONWARNINGS=ignore "${PYTHON}" run-tests.py \ - --jobs $(makeopts_jobs) \ - --timeout 0 \ - || die "Tests fail with ${EPYTHON}" -} - -pkg_postinst() { - use emacs && elisp-site-regen - - elog "If you want to convert repositories from other tools using convert" - elog "extension please install correct tool:" - elog " dev-vcs/cvs" - elog " dev-vcs/darcs" - elog " dev-vcs/git" - elog " dev-vcs/monotone" - elog " dev-vcs/subversion" -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-vcs/mercurial/mercurial-6.6.2-r2.ebuild b/dev-vcs/mercurial/mercurial-6.6.2-r2.ebuild new file mode 100644 index 000000000000..9ee1dc0cfb34 --- /dev/null +++ b/dev-vcs/mercurial/mercurial-6.6.2-r2.ebuild @@ -0,0 +1,374 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=1 +DISTUTILS_USE_PEP517="setuptools" +DISTUTILS_EXT=1 +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="threads(+)" + +CRATES=" + adler@1.0.2 + ahash@0.8.2 + aho-corasick@0.7.19 + android_system_properties@0.1.5 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitmaps@2.1.0 + block-buffer@0.9.0 + block-buffer@0.10.3 + bumpalo@3.11.1 + byteorder@1.4.3 + bytes-cast@0.3.0 + bytes-cast-derive@0.2.0 + cc@1.0.76 + cfg-if@1.0.0 + chrono@0.4.23 + clap@4.0.24 + clap_derive@4.0.21 + clap_lex@0.3.0 + codespan-reporting@0.11.1 + convert_case@0.4.0 + core-foundation-sys@0.8.3 + cpufeatures@0.2.5 + cpython@0.7.1 + crc32fast@1.3.2 + crossbeam-channel@0.5.6 + crossbeam-deque@0.8.2 + crossbeam-epoch@0.9.11 + crossbeam-utils@0.8.12 + crypto-common@0.1.6 + ctor@0.1.26 + cxx@1.0.81 + cxx-build@1.0.81 + cxxbridge-flags@1.0.81 + cxxbridge-macro@1.0.81 + derive_more@0.99.17 + diff@0.1.13 + digest@0.9.0 + digest@0.10.5 + either@1.8.0 + env_logger@0.9.3 + fastrand@1.8.0 + flate2@1.0.24 + format-bytes@0.3.0 + format-bytes-macros@0.4.0 + generic-array@0.14.6 + getrandom@0.1.16 + getrandom@0.2.8 + hashbrown@0.12.3 + hashbrown@0.13.1 + heck@0.4.0 + hermit-abi@0.1.19 + hex@0.4.3 + home@0.5.4 + humantime@2.1.0 + iana-time-zone@0.1.53 + iana-time-zone-haiku@0.1.1 + im-rc@15.1.0 + indexmap@1.9.2 + instant@0.1.12 + itertools@0.10.5 + jobserver@0.1.25 + js-sys@0.3.60 + lazy_static@1.4.0 + libc@0.2.137 + libm@0.2.6 + libz-sys@1.1.8 + link-cplusplus@1.0.7 + log@0.4.17 + logging_timer@1.1.0 + logging_timer_proc_macros@1.1.0 + memchr@2.5.0 + memmap2@0.5.8 + memoffset@0.6.5 + miniz_oxide@0.5.4 + nom8@0.2.0 + num-integer@0.1.45 + num-traits@0.2.15 + num_cpus@1.14.0 + once_cell@1.16.0 + opaque-debug@0.3.0 + os_str_bytes@6.4.0 + output_vt100@0.1.3 + paste@1.0.9 + pkg-config@0.3.26 + ppv-lite86@0.2.17 + pretty_assertions@1.3.0 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.47 + python3-sys@0.7.1 + quote@1.0.21 + rand@0.7.3 + rand@0.8.5 + rand_chacha@0.2.2 + rand_chacha@0.3.1 + rand_core@0.5.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rand_hc@0.2.0 + rand_pcg@0.3.1 + rand_xoshiro@0.6.0 + rayon@1.7.0 + rayon-core@1.11.0 + redox_syscall@0.2.16 + regex@1.7.0 + regex-syntax@0.6.28 + remove_dir_all@0.5.3 + rustc_version@0.4.0 + same-file@1.0.6 + scopeguard@1.1.0 + scratch@1.0.2 + self_cell@1.0.0 + semver@1.0.14 + serde@1.0.152 + serde_derive@1.0.152 + serde_spanned@0.6.1 + sha-1@0.9.8 + sha-1@0.10.0 + sized-chunks@0.6.5 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strsim@0.10.0 + syn@1.0.109 + tempfile@3.3.0 + termcolor@1.1.3 + thread_local@1.1.4 + time@0.1.44 + toml@0.6.0 + toml_datetime@0.5.1 + toml_edit@0.18.1 + twox-hash@1.6.3 + typenum@1.15.0 + unicode-ident@1.0.5 + unicode-width@0.1.10 + vcpkg@0.2.15 + vcsgraph@0.2.0 + version_check@0.9.4 + wasi@0.9.0+wasi-snapshot-preview1 + wasi@0.10.0+wasi-snapshot-preview1 + 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 + web-sys@0.3.60 + which@4.3.0 + whoami@1.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 + yansi@0.5.1 + zstd@0.12.3+zstd.1.5.2 + zstd-safe@6.0.4+zstd.1.5.4 + 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} )" + +LICENSE="GPL-2+ + rust? ( + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT MPL-2.0 PSF-2 Unicode-DFS-2016 Unlicense ZLIB )" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~loong ~m68k ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="+chg emacs gpg test tk rust" + +BDEPEND="rust? ( ${RUST_DEPEND} )" +RDEPEND=" + app-misc/ca-certificates + gpg? ( app-crypt/gnupg ) + tk? ( dev-lang/tk )" + +DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) + test? ( + app-arch/unzip + dev-python/pygments[${PYTHON_USEDEP}] + )" + +REQUIRED_USE="rust? ( !$(python_gen_useflags 'python3_12') )" + +SITEFILE="70${PN}-gentoo.el" + +RESTRICT="!test? ( test )" + +PATCHES=( "${FILESDIR}/python3.12.patch" ) + +src_unpack() { + default_src_unpack + if use rust; then + local S="${S}/rust/hg-cpython" + cargo_src_unpack + else + # Needed because distutils-r1 install under cargo_env if cargo is inherited + cargo_gen_config + fi +} + +python_prepare_all() { + # fix up logic that won't work in Gentoo Prefix (also won't outside in + # certain cases), bug #362891 + sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die + sed -i -e 's/__APPLE__/__NO_APPLE__/g' mercurial/cext/osutil.c || die + + # Build assumes the Rust target directory, which is wrong for us. + sed -i -r "s:\brust[/,' ]+target[/,' ]+release\b:rust/$(cargo_target_dir):g" \ + Makefile \ + setup.py \ + tests/run-tests.py \ + || die + + distutils-r1_python_prepare_all +} + +src_compile() { + if use rust; then + pushd rust/hg-cpython || die + cargo_src_compile --no-default-features --jobs $(makeopts_jobs) + popd || die + fi + distutils-r1_src_compile +} + +python_compile() { + filter-flags -ftracer -ftree-vectorize + if use rust; then + local -x HGWITHRUSTEXT="cpython" + fi + distutils-r1_python_compile build_ext +} + +python_compile_all() { + rm -r contrib/win32 || die + if use chg; then + emake -C contrib/chg + fi + if use rust; then + pushd rust/rhg || die + cargo_src_compile --no-default-features --jobs $(makeopts_jobs) + popd || die + fi + if use emacs; then + cd contrib || die + elisp-compile mercurial.el || die "elisp-compile failed!" + fi +} + +src_install() { + distutils-r1_src_install +} + +python_install() { + if use rust; then + local -x HGWITHRUSTEXT="cpython" + fi + + distutils-r1_python_install build_ext + python_doscript contrib/hg-ssh +} + +python_install_all() { + distutils-r1_python_install_all + + newbashcomp contrib/bash_completion hg + + insinto /usr/share/zsh/site-functions + newins contrib/zsh_completion _hg + + dobin hgeditor + if use tk; then + dobin contrib/hgk + fi + + if use emacs; then + elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" + elisp-make-site-file "${SITEFILE}" + fi + + local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion plan9 *.el ) + + if use chg; then + dobin contrib/chg/chg + doman contrib/chg/chg.1 + RM_CONTRIB+=( chg ) + fi + if use rust; then + dobin "rust/$(cargo_target_dir)/rhg" + fi + + for f in ${RM_CONTRIB[@]}; do + rm -rf contrib/${f} || die + done + + dodoc -r contrib + docompress -x /usr/share/doc/${PF}/contrib + doman doc/*.? + dodoc CONTRIBUTORS hgweb.cgi + + insinto /etc/mercurial/hgrc.d + doins "${FILESDIR}/cacerts.rc" +} + +src_test() { + pushd tests &>/dev/null || die + rm -rf *svn* # Subversion tests fail with 1.5 + rm -f test-archive* # Fails due to verbose tar output changes + rm -f test-convert-baz* # GNU Arch baz + rm -f test-convert-cvs* # CVS + rm -f test-convert-darcs* # Darcs + rm -f test-convert-git* # git + rm -f test-convert-mtn* # monotone + rm -f test-convert-tla* # GNU Arch tla + rm -f test-largefiles* # tends to time out + rm -f test-https* # requires to support tls1.0 + rm -rf test-removeemptydirs* # requires access to access parent directories + if [[ ${EUID} -eq 0 ]]; then + einfo "Removing tests which require user privileges to succeed" + rm -f test-convert* + rm -f test-lock-badness* + rm -f test-permissions* + rm -f test-pull-permission* + rm -f test-journal-exists* + rm -f test-repair-strip* + fi + + popd &>/dev/null || die + distutils-r1_src_test +} + +python_test() { + cd tests || die + PYTHONWARNINGS=ignore "${PYTHON}" run-tests.py \ + --jobs $(makeopts_jobs) \ + --timeout 0 \ + || die "Tests fail with ${EPYTHON}" +} + +pkg_postinst() { + use emacs && elisp-site-regen + + elog "If you want to convert repositories from other tools using convert" + elog "extension please install correct tool:" + elog " dev-vcs/cvs" + elog " dev-vcs/darcs" + elog " dev-vcs/git" + elog " dev-vcs/monotone" + elog " dev-vcs/subversion" +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-vcs/mercurial/mercurial-6.7.4-r1.ebuild b/dev-vcs/mercurial/mercurial-6.7.4-r1.ebuild deleted file mode 100644 index 564e460089e9..000000000000 --- a/dev-vcs/mercurial/mercurial-6.7.4-r1.ebuild +++ /dev/null @@ -1,382 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=1 -DISTUTILS_USE_PEP517="setuptools" -DISTUTILS_EXT=1 -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="threads(+)" - -CRATES=" - adler@1.0.2 - ahash@0.8.2 - aho-corasick@0.7.19 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - atty@0.2.14 - autocfg@1.1.0 - bitflags@1.3.2 - bitmaps@2.1.0 - bitvec@1.0.1 - block-buffer@0.9.0 - block-buffer@0.10.3 - bumpalo@3.11.1 - byteorder@1.4.3 - bytes-cast@0.3.0 - bytes-cast-derive@0.2.0 - cc@1.0.76 - cfg-if@1.0.0 - chrono@0.4.34 - clap@4.0.24 - clap_derive@4.0.21 - clap_lex@0.3.0 - codespan-reporting@0.11.1 - convert_case@0.4.0 - core-foundation-sys@0.8.3 - cpufeatures@0.2.5 - cpython@0.7.1 - crc32fast@1.3.2 - crossbeam-channel@0.5.6 - crossbeam-deque@0.8.2 - crossbeam-epoch@0.9.11 - crossbeam-utils@0.8.12 - crypto-common@0.1.6 - ctor@0.1.26 - cxx@1.0.81 - cxx-build@1.0.81 - cxxbridge-flags@1.0.81 - cxxbridge-macro@1.0.81 - derive_more@0.99.17 - diff@0.1.13 - digest@0.9.0 - digest@0.10.5 - either@1.8.0 - env_logger@0.9.3 - fastrand@1.8.0 - flate2@1.0.24 - format-bytes@0.3.0 - format-bytes-macros@0.4.0 - funty@2.0.0 - generic-array@0.14.6 - getrandom@0.1.16 - getrandom@0.2.8 - hashbrown@0.12.3 - hashbrown@0.13.1 - heck@0.4.0 - hermit-abi@0.1.19 - hex@0.4.3 - home@0.5.4 - humantime@2.1.0 - iana-time-zone@0.1.53 - iana-time-zone-haiku@0.1.1 - im-rc@15.1.0 - indexmap@1.9.2 - instant@0.1.12 - itertools@0.10.5 - jobserver@0.1.25 - js-sys@0.3.60 - lazy_static@1.4.0 - libc@0.2.137 - libm@0.2.6 - libz-sys@1.1.8 - link-cplusplus@1.0.7 - log@0.4.17 - logging_timer@1.1.0 - logging_timer_proc_macros@1.1.0 - memchr@2.5.0 - memmap2@0.5.8 - memoffset@0.6.5 - miniz_oxide@0.5.4 - nom8@0.2.0 - num-traits@0.2.15 - num_cpus@1.14.0 - once_cell@1.16.0 - opaque-debug@0.3.0 - os_str_bytes@6.4.0 - output_vt100@0.1.3 - paste@1.0.9 - pkg-config@0.3.26 - ppv-lite86@0.2.17 - pretty_assertions@1.3.0 - proc-macro-error@1.0.4 - proc-macro-error-attr@1.0.4 - proc-macro2@1.0.47 - python3-sys@0.7.1 - quote@1.0.21 - radium@0.7.0 - rand@0.7.3 - rand@0.8.5 - rand_chacha@0.2.2 - rand_chacha@0.3.1 - rand_core@0.5.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rand_hc@0.2.0 - rand_pcg@0.3.1 - rand_xoshiro@0.6.0 - rayon@1.7.0 - rayon-core@1.11.0 - redox_syscall@0.2.16 - regex@1.7.0 - regex-syntax@0.6.28 - remove_dir_all@0.5.3 - rustc_version@0.4.0 - same-file@1.0.6 - scopeguard@1.1.0 - scratch@1.0.2 - self_cell@1.0.0 - semver@1.0.14 - serde@1.0.152 - serde_derive@1.0.152 - serde_spanned@0.6.1 - sha-1@0.9.8 - sha-1@0.10.0 - sized-chunks@0.6.5 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - strsim@0.10.0 - syn@1.0.109 - tap@1.0.1 - tempfile@3.3.0 - termcolor@1.1.3 - thread_local@1.1.4 - toml@0.6.0 - toml_datetime@0.5.1 - toml_edit@0.18.1 - twox-hash@1.6.3 - typenum@1.15.0 - unicode-ident@1.0.5 - unicode-width@0.1.10 - vcpkg@0.2.15 - vcsgraph@0.2.0 - version_check@0.9.4 - wasi@0.9.0+wasi-snapshot-preview1 - 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 - web-sys@0.3.60 - which@4.3.0 - whoami@1.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-targets@0.52.0 - windows_aarch64_gnullvm@0.52.0 - windows_aarch64_msvc@0.52.0 - windows_i686_gnu@0.52.0 - windows_i686_msvc@0.52.0 - windows_x86_64_gnu@0.52.0 - windows_x86_64_gnullvm@0.52.0 - windows_x86_64_msvc@0.52.0 - wyz@0.5.1 - yansi@0.5.1 - zstd@0.12.3+zstd.1.5.2 - zstd-safe@6.0.4+zstd.1.5.4 - zstd-sys@2.0.7+zstd.1.5.4 -" - -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} )" - -LICENSE="GPL-2+ - rust? ( - 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT MPL-2.0 PSF-2 Unicode-DFS-2016 Unlicense ZLIB )" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~loong ~m68k ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+chg emacs gpg test tk rust" - -BDEPEND="rust? ( ${RUST_DEPEND} )" -RDEPEND=" - app-misc/ca-certificates - gpg? ( app-crypt/gnupg ) - tk? ( dev-lang/tk )" - -DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) - test? ( - app-arch/unzip - dev-python/pygments[${PYTHON_USEDEP}] - )" - -REQUIRED_USE="rust? ( !$(python_gen_useflags 'python3_12') )" - -SITEFILE="70${PN}-gentoo.el" - -RESTRICT="!test? ( test )" - -PATCHES=( "${FILESDIR}/python3.12.patch" ) - -src_unpack() { - default_src_unpack - if use rust; then - local S="${S}/rust/hg-cpython" - cargo_src_unpack - else - # Needed because distutils-r1 install under cargo_env if cargo is inherited - cargo_gen_config - fi -} - -python_prepare_all() { - # fix up logic that won't work in Gentoo Prefix (also won't outside in - # certain cases), bug #362891 - sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die - sed -i -e 's/__APPLE__/__NO_APPLE__/g' mercurial/cext/osutil.c || die - - # Build assumes the Rust target directory, which is wrong for us. - sed -i -r "s:\brust[/,' ]+target[/,' ]+release\b:rust/$(cargo_target_dir):g" \ - Makefile \ - setup.py \ - tests/run-tests.py \ - || die - - distutils-r1_python_prepare_all -} - -src_compile() { - if use rust; then - pushd rust/hg-cpython || die - cargo_src_compile --no-default-features --jobs $(makeopts_jobs) - popd || die - fi - distutils-r1_src_compile -} - -python_compile() { - filter-flags -ftracer -ftree-vectorize - if use rust; then - local -x HGWITHRUSTEXT="cpython" - fi - distutils-r1_python_compile build_ext -} - -python_compile_all() { - rm -r contrib/win32 || die - if use chg; then - emake -C contrib/chg - fi - if use rust; then - pushd rust/rhg || die - cargo_src_compile --no-default-features --jobs $(makeopts_jobs) - popd || die - fi - if use emacs; then - cd contrib || die - elisp-compile mercurial.el || die "elisp-compile failed!" - fi -} - -src_install() { - distutils-r1_src_install -} - -python_install() { - if use rust; then - local -x HGWITHRUSTEXT="cpython" - fi - - distutils-r1_python_install build_ext - python_doscript contrib/hg-ssh -} - -python_install_all() { - distutils-r1_python_install_all - - newbashcomp contrib/bash_completion hg - - insinto /usr/share/zsh/site-functions - newins contrib/zsh_completion _hg - - dobin hgeditor - if use tk; then - dobin contrib/hgk - fi - - if use emacs; then - elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" - elisp-make-site-file "${SITEFILE}" - fi - - local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion plan9 *.el ) - - if use chg; then - dobin contrib/chg/chg - doman contrib/chg/chg.1 - RM_CONTRIB+=( chg ) - fi - if use rust; then - dobin "rust/$(cargo_target_dir)/rhg" - fi - - for f in ${RM_CONTRIB[@]}; do - rm -rf contrib/${f} || die - done - - dodoc -r contrib - docompress -x /usr/share/doc/${PF}/contrib - doman doc/*.? - dodoc CONTRIBUTORS hgweb.cgi - - insinto /etc/mercurial/hgrc.d - doins "${FILESDIR}/cacerts.rc" -} - -src_test() { - pushd tests &>/dev/null || die - rm -rf *svn* # Subversion tests fail with 1.5 - rm -f test-archive* # Fails due to verbose tar output changes - rm -f test-convert-baz* # GNU Arch baz - rm -f test-convert-cvs* # CVS - rm -f test-convert-darcs* # Darcs - rm -f test-convert-git* # git - rm -f test-convert-mtn* # monotone - rm -f test-convert-tla* # GNU Arch tla - rm -f test-largefiles* # tends to time out - rm -f test-https* # requires to support tls1.0 - rm -rf test-removeemptydirs* # requires access to access parent directories - if [[ ${EUID} -eq 0 ]]; then - einfo "Removing tests which require user privileges to succeed" - rm -f test-convert* - rm -f test-lock-badness* - rm -f test-permissions* - rm -f test-pull-permission* - rm -f test-journal-exists* - rm -f test-repair-strip* - fi - - popd &>/dev/null || die - distutils-r1_src_test -} - -python_test() { - cd tests || die - PYTHONWARNINGS=ignore "${PYTHON}" run-tests.py \ - --jobs $(makeopts_jobs) \ - --timeout 0 \ - || die "Tests fail with ${EPYTHON}" -} - -pkg_postinst() { - use emacs && elisp-site-regen - - elog "If you want to convert repositories from other tools using convert" - elog "extension please install correct tool:" - elog " dev-vcs/cvs" - elog " dev-vcs/darcs" - elog " dev-vcs/git" - elog " dev-vcs/monotone" - elog " dev-vcs/subversion" -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/dev-vcs/mercurial/mercurial-6.7.4-r2.ebuild b/dev-vcs/mercurial/mercurial-6.7.4-r2.ebuild new file mode 100644 index 000000000000..f68c7388f014 --- /dev/null +++ b/dev-vcs/mercurial/mercurial-6.7.4-r2.ebuild @@ -0,0 +1,385 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=1 +DISTUTILS_USE_PEP517="setuptools" +DISTUTILS_EXT=1 +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="threads(+)" + +CRATES=" + adler@1.0.2 + ahash@0.8.2 + aho-corasick@0.7.19 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitmaps@2.1.0 + bitvec@1.0.1 + block-buffer@0.9.0 + block-buffer@0.10.3 + bumpalo@3.11.1 + byteorder@1.4.3 + bytes-cast@0.3.0 + bytes-cast-derive@0.2.0 + cc@1.0.76 + cfg-if@1.0.0 + chrono@0.4.34 + clap@4.0.24 + clap_derive@4.0.21 + clap_lex@0.3.0 + codespan-reporting@0.11.1 + convert_case@0.4.0 + core-foundation-sys@0.8.3 + cpufeatures@0.2.5 + cpython@0.7.1 + crc32fast@1.3.2 + crossbeam-channel@0.5.6 + crossbeam-deque@0.8.2 + crossbeam-epoch@0.9.11 + crossbeam-utils@0.8.12 + crypto-common@0.1.6 + ctor@0.1.26 + cxx@1.0.81 + cxx-build@1.0.81 + cxxbridge-flags@1.0.81 + cxxbridge-macro@1.0.81 + derive_more@0.99.17 + diff@0.1.13 + digest@0.9.0 + digest@0.10.5 + either@1.8.0 + env_logger@0.9.3 + fastrand@1.8.0 + flate2@1.0.24 + format-bytes@0.3.0 + format-bytes-macros@0.4.0 + funty@2.0.0 + generic-array@0.14.6 + getrandom@0.1.16 + getrandom@0.2.8 + hashbrown@0.12.3 + hashbrown@0.13.1 + heck@0.4.0 + hermit-abi@0.1.19 + hex@0.4.3 + home@0.5.4 + humantime@2.1.0 + iana-time-zone@0.1.53 + iana-time-zone-haiku@0.1.1 + im-rc@15.1.0 + indexmap@1.9.2 + instant@0.1.12 + itertools@0.10.5 + jobserver@0.1.25 + js-sys@0.3.60 + lazy_static@1.4.0 + libc@0.2.137 + libm@0.2.6 + libz-sys@1.1.8 + link-cplusplus@1.0.7 + log@0.4.17 + logging_timer@1.1.0 + logging_timer_proc_macros@1.1.0 + memchr@2.5.0 + memmap2@0.5.8 + memoffset@0.6.5 + miniz_oxide@0.5.4 + nom8@0.2.0 + num-traits@0.2.15 + num_cpus@1.14.0 + once_cell@1.16.0 + opaque-debug@0.3.0 + os_str_bytes@6.4.0 + output_vt100@0.1.3 + paste@1.0.9 + pkg-config@0.3.26 + ppv-lite86@0.2.17 + pretty_assertions@1.3.0 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.47 + python3-sys@0.7.1 + quote@1.0.21 + radium@0.7.0 + rand@0.7.3 + rand@0.8.5 + rand_chacha@0.2.2 + rand_chacha@0.3.1 + rand_core@0.5.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rand_hc@0.2.0 + rand_pcg@0.3.1 + rand_xoshiro@0.6.0 + rayon@1.7.0 + rayon-core@1.11.0 + redox_syscall@0.2.16 + regex@1.7.0 + regex-syntax@0.6.28 + remove_dir_all@0.5.3 + rustc_version@0.4.0 + same-file@1.0.6 + scopeguard@1.1.0 + scratch@1.0.2 + self_cell@1.0.0 + semver@1.0.14 + serde@1.0.152 + serde_derive@1.0.152 + serde_spanned@0.6.1 + sha-1@0.9.8 + sha-1@0.10.0 + sized-chunks@0.6.5 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strsim@0.10.0 + syn@1.0.109 + tap@1.0.1 + tempfile@3.3.0 + termcolor@1.1.3 + thread_local@1.1.4 + toml@0.6.0 + toml_datetime@0.5.1 + toml_edit@0.18.1 + twox-hash@1.6.3 + typenum@1.15.0 + unicode-ident@1.0.5 + unicode-width@0.1.10 + vcpkg@0.2.15 + vcsgraph@0.2.0 + version_check@0.9.4 + wasi@0.9.0+wasi-snapshot-preview1 + 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 + web-sys@0.3.60 + which@4.3.0 + whoami@1.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-targets@0.52.0 + windows_aarch64_gnullvm@0.52.0 + windows_aarch64_msvc@0.52.0 + windows_i686_gnu@0.52.0 + windows_i686_msvc@0.52.0 + windows_x86_64_gnu@0.52.0 + windows_x86_64_gnullvm@0.52.0 + windows_x86_64_msvc@0.52.0 + wyz@0.5.1 + yansi@0.5.1 + zstd@0.12.3+zstd.1.5.2 + zstd-safe@6.0.4+zstd.1.5.4 + 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} )" + +LICENSE="GPL-2+ + rust? ( + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT MPL-2.0 PSF-2 Unicode-DFS-2016 Unlicense ZLIB )" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~loong ~m68k ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="+chg emacs gpg test tk rust" + +BDEPEND="rust? ( ${RUST_DEPEND} )" +RDEPEND=" + app-misc/ca-certificates + gpg? ( app-crypt/gnupg ) + tk? ( dev-lang/tk )" + +DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) + test? ( + app-arch/unzip + dev-python/pygments[${PYTHON_USEDEP}] + )" + +REQUIRED_USE="rust? ( !$(python_gen_useflags 'python3_12') )" + +SITEFILE="70${PN}-gentoo.el" + +RESTRICT="!test? ( test )" + +PATCHES=( "${FILESDIR}/python3.12.patch" ) + +src_unpack() { + default_src_unpack + if use rust; then + local S="${S}/rust/hg-cpython" + cargo_src_unpack + else + # Needed because distutils-r1 install under cargo_env if cargo is inherited + cargo_gen_config + fi +} + +python_prepare_all() { + # fix up logic that won't work in Gentoo Prefix (also won't outside in + # certain cases), bug #362891 + sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die + sed -i -e 's/__APPLE__/__NO_APPLE__/g' mercurial/cext/osutil.c || die + + # Build assumes the Rust target directory, which is wrong for us. + sed -i -r "s:\brust[/,' ]+target[/,' ]+release\b:rust/$(cargo_target_dir):g" \ + Makefile \ + setup.py \ + tests/run-tests.py \ + || die + + distutils-r1_python_prepare_all +} + +src_compile() { + if use rust; then + pushd rust/hg-cpython || die + cargo_src_compile --no-default-features --jobs $(makeopts_jobs) + popd || die + fi + distutils-r1_src_compile +} + +python_compile() { + filter-flags -ftracer -ftree-vectorize + if use rust; then + local -x HGWITHRUSTEXT="cpython" + fi + distutils-r1_python_compile build_ext +} + +python_compile_all() { + rm -r contrib/win32 || die + if use chg; then + emake -C contrib/chg + fi + if use rust; then + pushd rust/rhg || die + cargo_src_compile --no-default-features --jobs $(makeopts_jobs) + popd || die + fi + if use emacs; then + cd contrib || die + elisp-compile mercurial.el || die "elisp-compile failed!" + fi +} + +src_install() { + distutils-r1_src_install +} + +python_install() { + if use rust; then + local -x HGWITHRUSTEXT="cpython" + fi + + distutils-r1_python_install build_ext + python_doscript contrib/hg-ssh +} + +python_install_all() { + distutils-r1_python_install_all + + newbashcomp contrib/bash_completion hg + + insinto /usr/share/zsh/site-functions + newins contrib/zsh_completion _hg + + dobin hgeditor + if use tk; then + dobin contrib/hgk + fi + + if use emacs; then + elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" + elisp-make-site-file "${SITEFILE}" + fi + + local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion plan9 *.el ) + + if use chg; then + dobin contrib/chg/chg + doman contrib/chg/chg.1 + RM_CONTRIB+=( chg ) + fi + if use rust; then + dobin "rust/$(cargo_target_dir)/rhg" + fi + + for f in ${RM_CONTRIB[@]}; do + rm -rf contrib/${f} || die + done + + dodoc -r contrib + docompress -x /usr/share/doc/${PF}/contrib + doman doc/*.? + dodoc CONTRIBUTORS hgweb.cgi + + insinto /etc/mercurial/hgrc.d + doins "${FILESDIR}/cacerts.rc" +} + +src_test() { + pushd tests &>/dev/null || die + rm -rf *svn* # Subversion tests fail with 1.5 + rm -f test-archive* # Fails due to verbose tar output changes + rm -f test-convert-baz* # GNU Arch baz + rm -f test-convert-cvs* # CVS + rm -f test-convert-darcs* # Darcs + rm -f test-convert-git* # git + rm -f test-convert-mtn* # monotone + rm -f test-convert-tla* # GNU Arch tla + rm -f test-largefiles* # tends to time out + rm -f test-https* # requires to support tls1.0 + rm -rf test-removeemptydirs* # requires access to access parent directories + if [[ ${EUID} -eq 0 ]]; then + einfo "Removing tests which require user privileges to succeed" + rm -f test-convert* + rm -f test-lock-badness* + rm -f test-permissions* + rm -f test-pull-permission* + rm -f test-journal-exists* + rm -f test-repair-strip* + fi + + popd &>/dev/null || die + distutils-r1_src_test +} + +python_test() { + cd tests || die + PYTHONWARNINGS=ignore "${PYTHON}" run-tests.py \ + --jobs $(makeopts_jobs) \ + --timeout 0 \ + || die "Tests fail with ${EPYTHON}" +} + +pkg_postinst() { + use emacs && elisp-site-regen + + elog "If you want to convert repositories from other tools using convert" + elog "extension please install correct tool:" + elog " dev-vcs/cvs" + elog " dev-vcs/darcs" + elog " dev-vcs/git" + elog " dev-vcs/monotone" + elog " dev-vcs/subversion" +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-vcs/mercurial/mercurial-6.8.1-r1.ebuild b/dev-vcs/mercurial/mercurial-6.8.1-r1.ebuild new file mode 100644 index 000000000000..2e09a308c5df --- /dev/null +++ b/dev-vcs/mercurial/mercurial-6.8.1-r1.ebuild @@ -0,0 +1,401 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=1 +DISTUTILS_USE_PEP517="setuptools" +DISTUTILS_EXT=1 +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="threads(+)" + +CRATES=" + adler@1.0.2 + ahash@0.8.2 + aho-corasick@0.7.19 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.6.0 + bitmaps@2.1.0 + bitvec@1.0.1 + block-buffer@0.9.0 + block-buffer@0.10.3 + bstr@1.6.0 + bumpalo@3.11.1 + byteorder@1.4.3 + bytes-cast@0.3.0 + bytes-cast-derive@0.2.0 + cc@1.0.76 + cfg-if@1.0.0 + chrono@0.4.34 + clap@4.0.24 + clap_derive@4.0.21 + clap_lex@0.3.0 + codespan-reporting@0.11.1 + convert_case@0.4.0 + core-foundation-sys@0.8.3 + cpufeatures@0.2.5 + cpython@0.7.2 + crc32fast@1.3.2 + crossbeam-channel@0.5.6 + crossbeam-deque@0.8.2 + crossbeam-epoch@0.9.11 + crossbeam-utils@0.8.12 + crypto-common@0.1.6 + ctor@0.1.26 + cxx@1.0.81 + cxx-build@1.0.81 + cxxbridge-flags@1.0.81 + cxxbridge-macro@1.0.81 + derive_more@0.99.17 + diff@0.1.13 + digest@0.9.0 + digest@0.10.5 + dirs@5.0.1 + dirs-sys@0.4.1 + either@1.8.0 + env_logger@0.9.3 + fastrand@1.8.0 + flate2@1.0.24 + format-bytes@0.3.0 + format-bytes-macros@0.4.0 + funty@2.0.0 + generic-array@0.14.6 + getrandom@0.1.16 + getrandom@0.2.8 + hashbrown@0.12.3 + hashbrown@0.13.1 + heck@0.4.0 + hermit-abi@0.1.19 + hex@0.4.3 + home@0.5.4 + humantime@2.1.0 + iana-time-zone@0.1.53 + iana-time-zone-haiku@0.1.1 + im-rc@15.1.0 + indexmap@1.9.2 + instant@0.1.12 + itertools@0.10.5 + jobserver@0.1.25 + js-sys@0.3.60 + lazy_static@1.4.0 + libc@0.2.137 + libm@0.2.6 + libredox@0.1.3 + libz-sys@1.1.8 + link-cplusplus@1.0.7 + log@0.4.17 + logging_timer@1.1.0 + logging_timer_proc_macros@1.1.0 + memchr@2.5.0 + memmap2@0.5.8 + memoffset@0.6.5 + miniz_oxide@0.5.4 + nom8@0.2.0 + num-traits@0.2.15 + num_cpus@1.14.0 + once_cell@1.16.0 + opaque-debug@0.3.0 + option-ext@0.2.0 + os_str_bytes@6.4.0 + output_vt100@0.1.3 + paste@1.0.9 + pkg-config@0.3.26 + ppv-lite86@0.2.17 + pretty_assertions@1.3.0 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.47 + python3-sys@0.7.2 + quote@1.0.21 + radium@0.7.0 + rand@0.7.3 + rand@0.8.5 + rand_chacha@0.2.2 + rand_chacha@0.3.1 + rand_core@0.5.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rand_hc@0.2.0 + rand_pcg@0.3.1 + rand_xoshiro@0.6.0 + rayon@1.7.0 + rayon-core@1.11.0 + redox_syscall@0.2.16 + redox_users@0.4.5 + regex@1.7.0 + regex-automata@0.3.9 + regex-syntax@0.6.28 + remove_dir_all@0.5.3 + rustc_version@0.4.0 + same-file@1.0.6 + scopeguard@1.1.0 + scratch@1.0.2 + self_cell@1.0.0 + semver@1.0.14 + serde@1.0.152 + serde_derive@1.0.152 + serde_spanned@0.6.1 + sha-1@0.9.8 + sha-1@0.10.0 + shellexpand@3.1.0 + sized-chunks@0.6.5 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strsim@0.10.0 + syn@1.0.109 + tap@1.0.1 + tempfile@3.3.0 + termcolor@1.1.3 + thiserror@1.0.39 + thiserror-impl@1.0.39 + thread_local@1.1.4 + toml@0.6.0 + toml_datetime@0.5.1 + toml_edit@0.18.1 + twox-hash@1.6.3 + typenum@1.15.0 + unicode-ident@1.0.5 + unicode-width@0.1.10 + vcpkg@0.2.15 + vcsgraph@0.2.0 + version_check@0.9.4 + wasi@0.9.0+wasi-snapshot-preview1 + 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 + web-sys@0.3.60 + which@4.3.0 + whoami@1.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.48.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 + wyz@0.5.1 + yansi@0.5.1 + zstd@0.12.3+zstd.1.5.2 + zstd-safe@6.0.4+zstd.1.5.4 + 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} )" + +LICENSE="GPL-2+ + rust? ( + 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT MPL-2.0 PSF-2 Unicode-DFS-2016 Unlicense ZLIB )" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="+chg emacs gpg test tk rust" + +BDEPEND="rust? ( ${RUST_DEPEND} )" +RDEPEND=" + app-misc/ca-certificates + gpg? ( app-crypt/gnupg ) + tk? ( dev-lang/tk )" + +DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) + test? ( + app-arch/unzip + dev-python/pygments[${PYTHON_USEDEP}] + )" + +SITEFILE="70${PN}-gentoo.el" + +RESTRICT="!test? ( test )" + +src_unpack() { + default_src_unpack + if use rust; then + local S="${S}/rust/hg-cpython" + cargo_src_unpack + else + # Needed because distutils-r1 install under cargo_env if cargo is inherited + cargo_gen_config + fi +} + +python_prepare_all() { + # fix up logic that won't work in Gentoo Prefix (also won't outside in + # certain cases), bug #362891 + sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die + sed -i -e 's/__APPLE__/__NO_APPLE__/g' mercurial/cext/osutil.c || die + + # Build assumes the Rust target directory, which is wrong for us. + sed -i -r "s:\brust[/,' ]+target[/,' ]+release\b:rust/$(cargo_target_dir):g" \ + Makefile \ + setup.py \ + tests/run-tests.py \ + || die + + distutils-r1_python_prepare_all +} + +src_compile() { + if use rust; then + pushd rust/hg-cpython || die + cargo_src_compile --no-default-features --jobs $(makeopts_jobs) + popd || die + fi + distutils-r1_src_compile +} + +python_compile() { + filter-flags -ftracer -ftree-vectorize + if use rust; then + local -x HGWITHRUSTEXT="cpython" + fi + distutils-r1_python_compile build_ext +} + +python_compile_all() { + rm -r contrib/win32 || die + if use chg; then + emake -C contrib/chg + fi + if use rust; then + pushd rust/rhg || die + cargo_src_compile --no-default-features --jobs $(makeopts_jobs) + popd || die + fi + if use emacs; then + cd contrib || die + elisp-compile mercurial.el || die "elisp-compile failed!" + fi +} + +src_install() { + distutils-r1_src_install +} + +python_install() { + if use rust; then + local -x HGWITHRUSTEXT="cpython" + fi + + distutils-r1_python_install build_ext + python_doscript contrib/hg-ssh +} + +python_install_all() { + distutils-r1_python_install_all + + newbashcomp contrib/bash_completion hg + + insinto /usr/share/zsh/site-functions + newins contrib/zsh_completion _hg + + dobin hgeditor + if use tk; then + dobin contrib/hgk + fi + + if use emacs; then + elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" + elisp-make-site-file "${SITEFILE}" + fi + + local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion plan9 *.el ) + + if use chg; then + dobin contrib/chg/chg + doman contrib/chg/chg.1 + RM_CONTRIB+=( chg ) + fi + if use rust; then + dobin "rust/$(cargo_target_dir)/rhg" + fi + + for f in ${RM_CONTRIB[@]}; do + rm -rf contrib/${f} || die + done + + dodoc -r contrib + docompress -x /usr/share/doc/${PF}/contrib + doman doc/*.? + dodoc CONTRIBUTORS hgweb.cgi + + insinto /etc/mercurial/hgrc.d + doins "${FILESDIR}/cacerts.rc" +} + +src_test() { + pushd tests &>/dev/null || die + rm -rf *svn* # Subversion tests fail with 1.5 + rm -f test-archive* # Fails due to verbose tar output changes + rm -f test-convert-baz* # GNU Arch baz + rm -f test-convert-cvs* # CVS + rm -f test-convert-darcs* # Darcs + rm -f test-convert-git* # git + rm -f test-convert-mtn* # monotone + rm -f test-convert-tla* # GNU Arch tla + rm -f test-largefiles* # tends to time out + rm -f test-https* # requires to support tls1.0 + rm -rf test-removeemptydirs* # requires access to access parent directories + if [[ ${EUID} -eq 0 ]]; then + einfo "Removing tests which require user privileges to succeed" + rm -f test-convert* + rm -f test-lock-badness* + rm -f test-permissions* + rm -f test-pull-permission* + rm -f test-journal-exists* + rm -f test-repair-strip* + fi + + popd &>/dev/null || die + distutils-r1_src_test +} + +python_test() { + cd tests || die + PYTHONWARNINGS=ignore "${PYTHON}" run-tests.py \ + --jobs $(makeopts_jobs) \ + --timeout 0 \ + || die "Tests fail with ${EPYTHON}" +} + +pkg_postinst() { + use emacs && elisp-site-regen + + elog "If you want to convert repositories from other tools using convert" + elog "extension please install correct tool:" + elog " dev-vcs/cvs" + elog " dev-vcs/darcs" + elog " dev-vcs/git" + elog " dev-vcs/monotone" + elog " dev-vcs/subversion" +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-vcs/mercurial/mercurial-6.8.1.ebuild b/dev-vcs/mercurial/mercurial-6.8.1.ebuild deleted file mode 100644 index f0b887149ad7..000000000000 --- a/dev-vcs/mercurial/mercurial-6.8.1.ebuild +++ /dev/null @@ -1,398 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=1 -DISTUTILS_USE_PEP517="setuptools" -DISTUTILS_EXT=1 -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="threads(+)" - -CRATES=" - adler@1.0.2 - ahash@0.8.2 - aho-corasick@0.7.19 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - atty@0.2.14 - autocfg@1.1.0 - bitflags@1.3.2 - bitflags@2.6.0 - bitmaps@2.1.0 - bitvec@1.0.1 - block-buffer@0.9.0 - block-buffer@0.10.3 - bstr@1.6.0 - bumpalo@3.11.1 - byteorder@1.4.3 - bytes-cast@0.3.0 - bytes-cast-derive@0.2.0 - cc@1.0.76 - cfg-if@1.0.0 - chrono@0.4.34 - clap@4.0.24 - clap_derive@4.0.21 - clap_lex@0.3.0 - codespan-reporting@0.11.1 - convert_case@0.4.0 - core-foundation-sys@0.8.3 - cpufeatures@0.2.5 - cpython@0.7.2 - crc32fast@1.3.2 - crossbeam-channel@0.5.6 - crossbeam-deque@0.8.2 - crossbeam-epoch@0.9.11 - crossbeam-utils@0.8.12 - crypto-common@0.1.6 - ctor@0.1.26 - cxx@1.0.81 - cxx-build@1.0.81 - cxxbridge-flags@1.0.81 - cxxbridge-macro@1.0.81 - derive_more@0.99.17 - diff@0.1.13 - digest@0.9.0 - digest@0.10.5 - dirs@5.0.1 - dirs-sys@0.4.1 - either@1.8.0 - env_logger@0.9.3 - fastrand@1.8.0 - flate2@1.0.24 - format-bytes@0.3.0 - format-bytes-macros@0.4.0 - funty@2.0.0 - generic-array@0.14.6 - getrandom@0.1.16 - getrandom@0.2.8 - hashbrown@0.12.3 - hashbrown@0.13.1 - heck@0.4.0 - hermit-abi@0.1.19 - hex@0.4.3 - home@0.5.4 - humantime@2.1.0 - iana-time-zone@0.1.53 - iana-time-zone-haiku@0.1.1 - im-rc@15.1.0 - indexmap@1.9.2 - instant@0.1.12 - itertools@0.10.5 - jobserver@0.1.25 - js-sys@0.3.60 - lazy_static@1.4.0 - libc@0.2.137 - libm@0.2.6 - libredox@0.1.3 - libz-sys@1.1.8 - link-cplusplus@1.0.7 - log@0.4.17 - logging_timer@1.1.0 - logging_timer_proc_macros@1.1.0 - memchr@2.5.0 - memmap2@0.5.8 - memoffset@0.6.5 - miniz_oxide@0.5.4 - nom8@0.2.0 - num-traits@0.2.15 - num_cpus@1.14.0 - once_cell@1.16.0 - opaque-debug@0.3.0 - option-ext@0.2.0 - os_str_bytes@6.4.0 - output_vt100@0.1.3 - paste@1.0.9 - pkg-config@0.3.26 - ppv-lite86@0.2.17 - pretty_assertions@1.3.0 - proc-macro-error@1.0.4 - proc-macro-error-attr@1.0.4 - proc-macro2@1.0.47 - python3-sys@0.7.2 - quote@1.0.21 - radium@0.7.0 - rand@0.7.3 - rand@0.8.5 - rand_chacha@0.2.2 - rand_chacha@0.3.1 - rand_core@0.5.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rand_hc@0.2.0 - rand_pcg@0.3.1 - rand_xoshiro@0.6.0 - rayon@1.7.0 - rayon-core@1.11.0 - redox_syscall@0.2.16 - redox_users@0.4.5 - regex@1.7.0 - regex-automata@0.3.9 - regex-syntax@0.6.28 - remove_dir_all@0.5.3 - rustc_version@0.4.0 - same-file@1.0.6 - scopeguard@1.1.0 - scratch@1.0.2 - self_cell@1.0.0 - semver@1.0.14 - serde@1.0.152 - serde_derive@1.0.152 - serde_spanned@0.6.1 - sha-1@0.9.8 - sha-1@0.10.0 - shellexpand@3.1.0 - sized-chunks@0.6.5 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - strsim@0.10.0 - syn@1.0.109 - tap@1.0.1 - tempfile@3.3.0 - termcolor@1.1.3 - thiserror@1.0.39 - thiserror-impl@1.0.39 - thread_local@1.1.4 - toml@0.6.0 - toml_datetime@0.5.1 - toml_edit@0.18.1 - twox-hash@1.6.3 - typenum@1.15.0 - unicode-ident@1.0.5 - unicode-width@0.1.10 - vcpkg@0.2.15 - vcsgraph@0.2.0 - version_check@0.9.4 - wasi@0.9.0+wasi-snapshot-preview1 - 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 - web-sys@0.3.60 - which@4.3.0 - whoami@1.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.48.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 - wyz@0.5.1 - yansi@0.5.1 - zstd@0.12.3+zstd.1.5.2 - zstd-safe@6.0.4+zstd.1.5.4 - zstd-sys@2.0.7+zstd.1.5.4 -" - -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} )" - -LICENSE="GPL-2+ - rust? ( - 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT MPL-2.0 PSF-2 Unicode-DFS-2016 Unlicense ZLIB )" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+chg emacs gpg test tk rust" - -BDEPEND="rust? ( ${RUST_DEPEND} )" -RDEPEND=" - app-misc/ca-certificates - gpg? ( app-crypt/gnupg ) - tk? ( dev-lang/tk )" - -DEPEND="emacs? ( >=app-editors/emacs-23.1:* ) - test? ( - app-arch/unzip - dev-python/pygments[${PYTHON_USEDEP}] - )" - -SITEFILE="70${PN}-gentoo.el" - -RESTRICT="!test? ( test )" - -src_unpack() { - default_src_unpack - if use rust; then - local S="${S}/rust/hg-cpython" - cargo_src_unpack - else - # Needed because distutils-r1 install under cargo_env if cargo is inherited - cargo_gen_config - fi -} - -python_prepare_all() { - # fix up logic that won't work in Gentoo Prefix (also won't outside in - # certain cases), bug #362891 - sed -i -e 's:xcodebuild:nocodebuild:' setup.py || die - sed -i -e 's/__APPLE__/__NO_APPLE__/g' mercurial/cext/osutil.c || die - - # Build assumes the Rust target directory, which is wrong for us. - sed -i -r "s:\brust[/,' ]+target[/,' ]+release\b:rust/$(cargo_target_dir):g" \ - Makefile \ - setup.py \ - tests/run-tests.py \ - || die - - distutils-r1_python_prepare_all -} - -src_compile() { - if use rust; then - pushd rust/hg-cpython || die - cargo_src_compile --no-default-features --jobs $(makeopts_jobs) - popd || die - fi - distutils-r1_src_compile -} - -python_compile() { - filter-flags -ftracer -ftree-vectorize - if use rust; then - local -x HGWITHRUSTEXT="cpython" - fi - distutils-r1_python_compile build_ext -} - -python_compile_all() { - rm -r contrib/win32 || die - if use chg; then - emake -C contrib/chg - fi - if use rust; then - pushd rust/rhg || die - cargo_src_compile --no-default-features --jobs $(makeopts_jobs) - popd || die - fi - if use emacs; then - cd contrib || die - elisp-compile mercurial.el || die "elisp-compile failed!" - fi -} - -src_install() { - distutils-r1_src_install -} - -python_install() { - if use rust; then - local -x HGWITHRUSTEXT="cpython" - fi - - distutils-r1_python_install build_ext - python_doscript contrib/hg-ssh -} - -python_install_all() { - distutils-r1_python_install_all - - newbashcomp contrib/bash_completion hg - - insinto /usr/share/zsh/site-functions - newins contrib/zsh_completion _hg - - dobin hgeditor - if use tk; then - dobin contrib/hgk - fi - - if use emacs; then - elisp-install ${PN} contrib/mercurial.el* || die "elisp-install failed!" - elisp-make-site-file "${SITEFILE}" - fi - - local RM_CONTRIB=( hgk hg-ssh bash_completion zsh_completion plan9 *.el ) - - if use chg; then - dobin contrib/chg/chg - doman contrib/chg/chg.1 - RM_CONTRIB+=( chg ) - fi - if use rust; then - dobin "rust/$(cargo_target_dir)/rhg" - fi - - for f in ${RM_CONTRIB[@]}; do - rm -rf contrib/${f} || die - done - - dodoc -r contrib - docompress -x /usr/share/doc/${PF}/contrib - doman doc/*.? - dodoc CONTRIBUTORS hgweb.cgi - - insinto /etc/mercurial/hgrc.d - doins "${FILESDIR}/cacerts.rc" -} - -src_test() { - pushd tests &>/dev/null || die - rm -rf *svn* # Subversion tests fail with 1.5 - rm -f test-archive* # Fails due to verbose tar output changes - rm -f test-convert-baz* # GNU Arch baz - rm -f test-convert-cvs* # CVS - rm -f test-convert-darcs* # Darcs - rm -f test-convert-git* # git - rm -f test-convert-mtn* # monotone - rm -f test-convert-tla* # GNU Arch tla - rm -f test-largefiles* # tends to time out - rm -f test-https* # requires to support tls1.0 - rm -rf test-removeemptydirs* # requires access to access parent directories - if [[ ${EUID} -eq 0 ]]; then - einfo "Removing tests which require user privileges to succeed" - rm -f test-convert* - rm -f test-lock-badness* - rm -f test-permissions* - rm -f test-pull-permission* - rm -f test-journal-exists* - rm -f test-repair-strip* - fi - - popd &>/dev/null || die - distutils-r1_src_test -} - -python_test() { - cd tests || die - PYTHONWARNINGS=ignore "${PYTHON}" run-tests.py \ - --jobs $(makeopts_jobs) \ - --timeout 0 \ - || die "Tests fail with ${EPYTHON}" -} - -pkg_postinst() { - use emacs && elisp-site-regen - - elog "If you want to convert repositories from other tools using convert" - elog "extension please install correct tool:" - elog " dev-vcs/cvs" - elog " dev-vcs/darcs" - elog " dev-vcs/git" - elog " dev-vcs/monotone" - elog " dev-vcs/subversion" -} - -pkg_postrm() { - use emacs && elisp-site-regen -} 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-r1.ebuild b/dev-vcs/stgit/stgit-2.4.11-r1.ebuild new file mode 100644 index 000000000000..4ad2d8e33b6a --- /dev/null +++ b/dev-vcs/stgit/stgit-2.4.11-r1.ebuild @@ -0,0 +1,211 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.1 + +EAPI=8 + +CRATES=" + adler2@2.0.0 + ahash@0.8.11 + allocator-api2@0.2.18 + 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.86 + arc-swap@1.7.1 + autocfg@1.3.0 + bitflags@2.6.0 + bstr@1.10.0 + bzip2-rs@0.1.2 + cc@1.1.14 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + clap@4.5.16 + clap_builder@4.5.15 + clap_lex@0.7.2 + clru@0.6.2 + colorchoice@1.0.2 + crc32fast@1.4.2 + ctrlc@3.4.5 + curl-sys@0.4.74+curl-8.9.0 + curl@0.4.46 + dunce@1.0.5 + encoding_rs@0.8.34 + equivalent@1.0.1 + errno@0.3.9 + faster-hex@0.9.0 + fastrand@2.1.1 + filetime@0.2.24 + flate2@1.0.33 + fnv@1.0.7 + form_urlencoded@1.2.1 + gix-actor@0.32.0 + gix-bitmap@0.2.11 + gix-chunk@0.4.8 + gix-command@0.3.9 + gix-commitgraph@0.24.3 + gix-config-value@0.14.8 + gix-config@0.40.0 + gix-date@0.9.0 + gix-diff@0.46.0 + gix-discover@0.35.0 + gix-features@0.38.2 + gix-fs@0.11.3 + gix-glob@0.16.5 + gix-hash@0.14.2 + gix-hashtable@0.5.2 + gix-index@0.35.0 + gix-lock@14.0.0 + gix-object@0.44.0 + gix-odb@0.63.0 + gix-pack@0.53.0 + gix-path@0.10.10 + gix-quote@0.4.12 + gix-ref@0.47.0 + gix-refspec@0.25.0 + gix-revision@0.29.0 + gix-revwalk@0.15.0 + gix-sec@0.10.8 + gix-tempfile@14.0.2 + gix-trace@0.1.9 + gix-traverse@0.41.0 + gix-url@0.27.5 + gix-utils@0.1.12 + gix-validate@0.9.0 + gix@0.66.0 + hashbrown@0.14.5 + hermit-abi@0.4.0 + home@0.5.9 + idna@0.5.0 + indexmap@2.4.0 + is-terminal@0.4.13 + is_terminal_polyfill@1.70.1 + itoa@1.0.11 + jiff-tzdb-platform@0.1.0 + jiff-tzdb@0.1.0 + jiff@0.1.10 + libc@0.2.158 + libredox@0.1.3 + libz-sys@1.1.20 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + memchr@2.7.4 + memmap2@0.9.4 + miniz_oxide@0.8.0 + nix@0.29.0 + once_cell@1.19.0 + openssl-probe@0.1.5 + openssl-sys@0.9.103 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + percent-encoding@2.3.1 + pkg-config@0.3.30 + proc-macro2@1.0.86 + prodash@28.0.0 + quote@1.0.37 + redox_syscall@0.5.3 + regex-automata@0.4.7 + rustix@0.38.34 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.23 + scopeguard@1.2.0 + serde@1.0.209 + serde_derive@1.0.209 + serde_json@1.0.127 + sha1_smol@1.0.1 + shell-words@1.1.0 + shlex@1.3.0 + smallvec@1.13.2 + socket2@0.5.7 + strsim@0.11.1 + syn@2.0.76 + tar@0.4.41 + tempfile@3.12.0 + termcolor@1.4.1 + terminal_size@0.3.0 + thiserror-impl@1.0.63 + thiserror@1.0.63 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + unicode-bidi@0.3.15 + unicode-bom@2.0.3 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + url@2.5.2 + utf8parse@0.2.2 + vcpkg@0.2.15 + version_check@0.9.5 + walkdir@2.5.0 + winapi-util@0.1.9 + 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 + winnow@0.6.18 + xattr@1.3.1 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo flag-o-matic + +DESCRIPTION="Stack-based patch management for Git" +HOMEPAGE="https://stacked-git.github.io/" +SRC_URI="${CARGO_CRATE_URIS}" +SRC_URI+=" https://github.com/stacked-git/stgit/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD MIT Unicode-DFS-2016" +SLOT="0/2" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +IUSE="doc" + +DEPEND="doc? ( app-text/asciidoc )" + +# 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/stg" + +src_configure() { + filter-lto #bug 897692 +} + +src_compile() { + cargo_src_compile + emake completion + emake contrib + use doc && emake doc +} + +src_install() { + cargo_src_install + emake DESTDIR="${D}" prefix="/usr" install-completion + emake DESTDIR="${D}" prefix="/usr" install-contrib + if use doc; then + emake DESTDIR="${D}" prefix="/usr" install-man + emake DESTDIR="${D}" prefix="/usr" \ + htmldir="/usr/share/doc/${PF}" \ + install-html + fi +} diff --git a/dev-vcs/stgit/stgit-2.4.11.ebuild b/dev-vcs/stgit/stgit-2.4.11.ebuild deleted file mode 100644 index 4ad2d8e33b6a..000000000000 --- a/dev-vcs/stgit/stgit-2.4.11.ebuild +++ /dev/null @@ -1,211 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.1 - -EAPI=8 - -CRATES=" - adler2@2.0.0 - ahash@0.8.11 - allocator-api2@0.2.18 - 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.86 - arc-swap@1.7.1 - autocfg@1.3.0 - bitflags@2.6.0 - bstr@1.10.0 - bzip2-rs@0.1.2 - cc@1.1.14 - cfg-if@1.0.0 - cfg_aliases@0.2.1 - clap@4.5.16 - clap_builder@4.5.15 - clap_lex@0.7.2 - clru@0.6.2 - colorchoice@1.0.2 - crc32fast@1.4.2 - ctrlc@3.4.5 - curl-sys@0.4.74+curl-8.9.0 - curl@0.4.46 - dunce@1.0.5 - encoding_rs@0.8.34 - equivalent@1.0.1 - errno@0.3.9 - faster-hex@0.9.0 - fastrand@2.1.1 - filetime@0.2.24 - flate2@1.0.33 - fnv@1.0.7 - form_urlencoded@1.2.1 - gix-actor@0.32.0 - gix-bitmap@0.2.11 - gix-chunk@0.4.8 - gix-command@0.3.9 - gix-commitgraph@0.24.3 - gix-config-value@0.14.8 - gix-config@0.40.0 - gix-date@0.9.0 - gix-diff@0.46.0 - gix-discover@0.35.0 - gix-features@0.38.2 - gix-fs@0.11.3 - gix-glob@0.16.5 - gix-hash@0.14.2 - gix-hashtable@0.5.2 - gix-index@0.35.0 - gix-lock@14.0.0 - gix-object@0.44.0 - gix-odb@0.63.0 - gix-pack@0.53.0 - gix-path@0.10.10 - gix-quote@0.4.12 - gix-ref@0.47.0 - gix-refspec@0.25.0 - gix-revision@0.29.0 - gix-revwalk@0.15.0 - gix-sec@0.10.8 - gix-tempfile@14.0.2 - gix-trace@0.1.9 - gix-traverse@0.41.0 - gix-url@0.27.5 - gix-utils@0.1.12 - gix-validate@0.9.0 - gix@0.66.0 - hashbrown@0.14.5 - hermit-abi@0.4.0 - home@0.5.9 - idna@0.5.0 - indexmap@2.4.0 - is-terminal@0.4.13 - is_terminal_polyfill@1.70.1 - itoa@1.0.11 - jiff-tzdb-platform@0.1.0 - jiff-tzdb@0.1.0 - jiff@0.1.10 - libc@0.2.158 - libredox@0.1.3 - libz-sys@1.1.20 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - memchr@2.7.4 - memmap2@0.9.4 - miniz_oxide@0.8.0 - nix@0.29.0 - once_cell@1.19.0 - openssl-probe@0.1.5 - openssl-sys@0.9.103 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - percent-encoding@2.3.1 - pkg-config@0.3.30 - proc-macro2@1.0.86 - prodash@28.0.0 - quote@1.0.37 - redox_syscall@0.5.3 - regex-automata@0.4.7 - rustix@0.38.34 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.23 - scopeguard@1.2.0 - serde@1.0.209 - serde_derive@1.0.209 - serde_json@1.0.127 - sha1_smol@1.0.1 - shell-words@1.1.0 - shlex@1.3.0 - smallvec@1.13.2 - socket2@0.5.7 - strsim@0.11.1 - syn@2.0.76 - tar@0.4.41 - tempfile@3.12.0 - termcolor@1.4.1 - terminal_size@0.3.0 - thiserror-impl@1.0.63 - thiserror@1.0.63 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - unicode-bidi@0.3.15 - unicode-bom@2.0.3 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - url@2.5.2 - utf8parse@0.2.2 - vcpkg@0.2.15 - version_check@0.9.5 - walkdir@2.5.0 - winapi-util@0.1.9 - 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 - winnow@0.6.18 - xattr@1.3.1 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit cargo flag-o-matic - -DESCRIPTION="Stack-based patch management for Git" -HOMEPAGE="https://stacked-git.github.io/" -SRC_URI="${CARGO_CRATE_URIS}" -SRC_URI+=" https://github.com/stacked-git/stgit/releases/download/v${PV}/${P}.tar.gz" - -LICENSE="GPL-2" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD MIT Unicode-DFS-2016" -SLOT="0/2" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" -IUSE="doc" - -DEPEND="doc? ( app-text/asciidoc )" - -# 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/stg" - -src_configure() { - filter-lto #bug 897692 -} - -src_compile() { - cargo_src_compile - emake completion - emake contrib - use doc && emake doc -} - -src_install() { - cargo_src_install - emake DESTDIR="${D}" prefix="/usr" install-completion - emake DESTDIR="${D}" prefix="/usr" install-contrib - if use doc; then - emake DESTDIR="${D}" prefix="/usr" install-man - emake DESTDIR="${D}" prefix="/usr" \ - htmldir="/usr/share/doc/${PF}" \ - install-html - fi -} diff --git a/dev-vcs/stgit/stgit-2.4.12-r1.ebuild b/dev-vcs/stgit/stgit-2.4.12-r1.ebuild new file mode 100644 index 000000000000..84fa72cec8d1 --- /dev/null +++ b/dev-vcs/stgit/stgit-2.4.12-r1.ebuild @@ -0,0 +1,211 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + adler2@2.0.0 + ahash@0.8.11 + allocator-api2@0.2.18 + 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.87 + arc-swap@1.7.1 + autocfg@1.3.0 + bitflags@2.6.0 + bstr@1.10.0 + bzip2-rs@0.1.2 + cc@1.1.18 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + clap@4.5.17 + clap_builder@4.5.17 + clap_lex@0.7.2 + clru@0.6.2 + colorchoice@1.0.2 + crc32fast@1.4.2 + ctrlc@3.4.5 + curl-sys@0.4.74+curl-8.9.0 + curl@0.4.46 + dunce@1.0.5 + encoding_rs@0.8.34 + equivalent@1.0.1 + errno@0.3.9 + faster-hex@0.9.0 + fastrand@2.1.1 + filetime@0.2.25 + flate2@1.0.33 + fnv@1.0.7 + form_urlencoded@1.2.1 + gix-actor@0.32.0 + gix-bitmap@0.2.11 + gix-chunk@0.4.8 + gix-command@0.3.9 + gix-commitgraph@0.24.3 + gix-config-value@0.14.8 + gix-config@0.40.0 + gix-date@0.9.0 + gix-diff@0.46.0 + gix-discover@0.35.0 + gix-features@0.38.2 + gix-fs@0.11.3 + gix-glob@0.16.5 + gix-hash@0.14.2 + gix-hashtable@0.5.2 + gix-index@0.35.0 + gix-lock@14.0.0 + gix-object@0.44.0 + gix-odb@0.63.0 + gix-pack@0.53.0 + gix-path@0.10.11 + gix-quote@0.4.12 + gix-ref@0.47.0 + gix-refspec@0.25.0 + gix-revision@0.29.0 + gix-revwalk@0.15.0 + gix-sec@0.10.8 + gix-tempfile@14.0.2 + gix-trace@0.1.10 + gix-traverse@0.41.0 + gix-url@0.27.5 + gix-utils@0.1.12 + gix-validate@0.9.0 + gix@0.66.0 + hashbrown@0.14.5 + hermit-abi@0.4.0 + home@0.5.9 + idna@0.5.0 + indexmap@2.5.0 + is-terminal@0.4.13 + is_terminal_polyfill@1.70.1 + itoa@1.0.11 + jiff-tzdb-platform@0.1.1 + jiff-tzdb@0.1.1 + jiff@0.1.13 + libc@0.2.158 + libredox@0.1.3 + libz-sys@1.1.20 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + memchr@2.7.4 + memmap2@0.9.4 + miniz_oxide@0.8.0 + nix@0.29.0 + once_cell@1.19.0 + openssl-probe@0.1.5 + openssl-sys@0.9.103 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + percent-encoding@2.3.1 + pkg-config@0.3.30 + proc-macro2@1.0.86 + prodash@28.0.0 + quote@1.0.37 + redox_syscall@0.5.3 + regex-automata@0.4.7 + rustix@0.38.36 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.24 + scopeguard@1.2.0 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.128 + sha1_smol@1.0.1 + shell-words@1.1.0 + shlex@1.3.0 + smallvec@1.13.2 + socket2@0.5.7 + strsim@0.11.1 + syn@2.0.77 + tar@0.4.41 + tempfile@3.12.0 + termcolor@1.4.1 + terminal_size@0.3.0 + thiserror-impl@1.0.63 + thiserror@1.0.63 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + unicode-bidi@0.3.15 + unicode-bom@2.0.3 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + url@2.5.2 + utf8parse@0.2.2 + vcpkg@0.2.15 + version_check@0.9.5 + walkdir@2.5.0 + winapi-util@0.1.9 + 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 + winnow@0.6.18 + xattr@1.3.1 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo flag-o-matic + +DESCRIPTION="Stack-based patch management for Git" +HOMEPAGE="https://stacked-git.github.io/" +SRC_URI="${CARGO_CRATE_URIS}" +SRC_URI+=" https://github.com/stacked-git/stgit/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD MIT Unicode-DFS-2016" +SLOT="0/2" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" +IUSE="doc" + +DEPEND="doc? ( app-text/asciidoc )" + +# 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/stg" + +src_configure() { + filter-lto #bug 897692 +} + +src_compile() { + cargo_src_compile + emake completion + emake contrib + use doc && emake doc +} + +src_install() { + cargo_src_install + emake DESTDIR="${D}" prefix="/usr" install-completion + emake DESTDIR="${D}" prefix="/usr" install-contrib + if use doc; then + emake DESTDIR="${D}" prefix="/usr" install-man + emake DESTDIR="${D}" prefix="/usr" \ + htmldir="/usr/share/doc/${PF}" \ + install-html + fi +} diff --git a/dev-vcs/stgit/stgit-2.4.12.ebuild b/dev-vcs/stgit/stgit-2.4.12.ebuild deleted file mode 100644 index 84fa72cec8d1..000000000000 --- a/dev-vcs/stgit/stgit-2.4.12.ebuild +++ /dev/null @@ -1,211 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - adler2@2.0.0 - ahash@0.8.11 - allocator-api2@0.2.18 - 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.87 - arc-swap@1.7.1 - autocfg@1.3.0 - bitflags@2.6.0 - bstr@1.10.0 - bzip2-rs@0.1.2 - cc@1.1.18 - cfg-if@1.0.0 - cfg_aliases@0.2.1 - clap@4.5.17 - clap_builder@4.5.17 - clap_lex@0.7.2 - clru@0.6.2 - colorchoice@1.0.2 - crc32fast@1.4.2 - ctrlc@3.4.5 - curl-sys@0.4.74+curl-8.9.0 - curl@0.4.46 - dunce@1.0.5 - encoding_rs@0.8.34 - equivalent@1.0.1 - errno@0.3.9 - faster-hex@0.9.0 - fastrand@2.1.1 - filetime@0.2.25 - flate2@1.0.33 - fnv@1.0.7 - form_urlencoded@1.2.1 - gix-actor@0.32.0 - gix-bitmap@0.2.11 - gix-chunk@0.4.8 - gix-command@0.3.9 - gix-commitgraph@0.24.3 - gix-config-value@0.14.8 - gix-config@0.40.0 - gix-date@0.9.0 - gix-diff@0.46.0 - gix-discover@0.35.0 - gix-features@0.38.2 - gix-fs@0.11.3 - gix-glob@0.16.5 - gix-hash@0.14.2 - gix-hashtable@0.5.2 - gix-index@0.35.0 - gix-lock@14.0.0 - gix-object@0.44.0 - gix-odb@0.63.0 - gix-pack@0.53.0 - gix-path@0.10.11 - gix-quote@0.4.12 - gix-ref@0.47.0 - gix-refspec@0.25.0 - gix-revision@0.29.0 - gix-revwalk@0.15.0 - gix-sec@0.10.8 - gix-tempfile@14.0.2 - gix-trace@0.1.10 - gix-traverse@0.41.0 - gix-url@0.27.5 - gix-utils@0.1.12 - gix-validate@0.9.0 - gix@0.66.0 - hashbrown@0.14.5 - hermit-abi@0.4.0 - home@0.5.9 - idna@0.5.0 - indexmap@2.5.0 - is-terminal@0.4.13 - is_terminal_polyfill@1.70.1 - itoa@1.0.11 - jiff-tzdb-platform@0.1.1 - jiff-tzdb@0.1.1 - jiff@0.1.13 - libc@0.2.158 - libredox@0.1.3 - libz-sys@1.1.20 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - memchr@2.7.4 - memmap2@0.9.4 - miniz_oxide@0.8.0 - nix@0.29.0 - once_cell@1.19.0 - openssl-probe@0.1.5 - openssl-sys@0.9.103 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - percent-encoding@2.3.1 - pkg-config@0.3.30 - proc-macro2@1.0.86 - prodash@28.0.0 - quote@1.0.37 - redox_syscall@0.5.3 - regex-automata@0.4.7 - rustix@0.38.36 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.24 - scopeguard@1.2.0 - serde@1.0.210 - serde_derive@1.0.210 - serde_json@1.0.128 - sha1_smol@1.0.1 - shell-words@1.1.0 - shlex@1.3.0 - smallvec@1.13.2 - socket2@0.5.7 - strsim@0.11.1 - syn@2.0.77 - tar@0.4.41 - tempfile@3.12.0 - termcolor@1.4.1 - terminal_size@0.3.0 - thiserror-impl@1.0.63 - thiserror@1.0.63 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - unicode-bidi@0.3.15 - unicode-bom@2.0.3 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - url@2.5.2 - utf8parse@0.2.2 - vcpkg@0.2.15 - version_check@0.9.5 - walkdir@2.5.0 - winapi-util@0.1.9 - 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 - winnow@0.6.18 - xattr@1.3.1 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit cargo flag-o-matic - -DESCRIPTION="Stack-based patch management for Git" -HOMEPAGE="https://stacked-git.github.io/" -SRC_URI="${CARGO_CRATE_URIS}" -SRC_URI+=" https://github.com/stacked-git/stgit/releases/download/v${PV}/${P}.tar.gz" - -LICENSE="GPL-2" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD MIT Unicode-DFS-2016" -SLOT="0/2" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" -IUSE="doc" - -DEPEND="doc? ( app-text/asciidoc )" - -# 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/stg" - -src_configure() { - filter-lto #bug 897692 -} - -src_compile() { - cargo_src_compile - emake completion - emake contrib - use doc && emake doc -} - -src_install() { - cargo_src_install - emake DESTDIR="${D}" prefix="/usr" install-completion - emake DESTDIR="${D}" prefix="/usr" install-contrib - if use doc; then - emake DESTDIR="${D}" prefix="/usr" install-man - emake DESTDIR="${D}" prefix="/usr" \ - htmldir="/usr/share/doc/${PF}" \ - install-html - fi -} diff --git a/dev-vcs/stgit/stgit-2.4.6-r1.ebuild b/dev-vcs/stgit/stgit-2.4.6-r1.ebuild new file mode 100644 index 000000000000..e815ddb4c129 --- /dev/null +++ b/dev-vcs/stgit/stgit-2.4.6-r1.ebuild @@ -0,0 +1,217 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.6.3 + +EAPI=8 + +CRATES=" + adler-1.0.2 + ahash-0.8.11 + allocator-api2-0.2.16 + anstream-0.6.13 + anstyle-1.0.6 + anstyle-parse-0.2.3 + anstyle-query-1.0.2 + anstyle-wincon-3.0.2 + anyhow-1.0.81 + arc-swap-1.7.1 + autocfg-1.2.0 + bitflags-1.3.2 + bitflags-2.5.0 + bstr-1.9.1 + bzip2-rs-0.1.2 + cc-1.0.90 + cfg-if-1.0.0 + cfg_aliases-0.1.1 + clap-4.5.4 + clap_builder-4.5.2 + clap_lex-0.7.0 + clru-0.6.1 + colorchoice-1.0.0 + crc32fast-1.4.0 + ctrlc-3.4.4 + curl-0.4.46 + curl-sys-0.4.72+curl-8.6.0 + deranged-0.3.11 + dunce-1.0.4 + encoding_rs-0.8.33 + equivalent-1.0.1 + errno-0.3.8 + faster-hex-0.9.0 + fastrand-2.0.2 + filetime-0.2.23 + flate2-1.0.28 + fnv-1.0.7 + form_urlencoded-1.2.1 + gix-0.61.0 + gix-actor-0.31.1 + gix-bitmap-0.2.11 + gix-chunk-0.4.8 + gix-command-0.3.6 + gix-commitgraph-0.24.2 + gix-config-0.36.0 + gix-config-value-0.14.6 + gix-date-0.8.5 + gix-diff-0.42.0 + gix-discover-0.31.0 + gix-features-0.38.1 + gix-fs-0.10.1 + gix-glob-0.16.2 + gix-hash-0.14.2 + gix-hashtable-0.5.2 + gix-index-0.31.1 + gix-lock-13.1.1 + gix-macros-0.1.4 + gix-object-0.42.1 + gix-odb-0.59.0 + gix-pack-0.49.0 + gix-path-0.10.7 + gix-quote-0.4.12 + gix-ref-0.43.0 + gix-refspec-0.23.0 + gix-revision-0.27.0 + gix-revwalk-0.13.0 + gix-sec-0.10.6 + gix-tempfile-13.1.1 + gix-trace-0.1.8 + gix-traverse-0.38.0 + gix-url-0.27.2 + gix-utils-0.1.11 + gix-validate-0.8.4 + hashbrown-0.14.3 + hermit-abi-0.3.9 + home-0.5.9 + idna-0.5.0 + indexmap-2.2.6 + is-terminal-0.4.12 + itoa-1.0.11 + libc-0.2.153 + libz-sys-1.1.16 + linux-raw-sys-0.4.13 + lock_api-0.4.11 + memchr-2.7.2 + memmap2-0.9.4 + minimal-lexical-0.2.1 + miniz_oxide-0.7.2 + nix-0.28.0 + nom-7.1.3 + num-conv-0.1.0 + num_threads-0.1.7 + once_cell-1.19.0 + openssl-probe-0.1.5 + openssl-sys-0.9.102 + parking_lot-0.12.1 + parking_lot_core-0.9.9 + percent-encoding-2.3.1 + pkg-config-0.3.30 + powerfmt-0.2.0 + proc-macro2-1.0.79 + prodash-28.0.0 + quote-1.0.35 + redox_syscall-0.4.1 + regex-automata-0.4.6 + rustix-0.38.32 + ryu-1.0.17 + same-file-1.0.6 + schannel-0.1.23 + scopeguard-1.2.0 + serde-1.0.197 + serde_derive-1.0.197 + serde_json-1.0.115 + sha1_smol-1.0.0 + shell-words-1.1.0 + smallvec-1.13.2 + socket2-0.5.6 + strsim-0.11.1 + syn-2.0.58 + tar-0.4.40 + tempfile-3.10.1 + termcolor-1.4.1 + terminal_size-0.3.0 + thiserror-1.0.58 + thiserror-impl-1.0.58 + time-0.3.34 + time-core-0.1.2 + time-macros-0.2.17 + tinyvec-1.6.0 + tinyvec_macros-0.1.1 + unicode-bidi-0.3.15 + unicode-bom-2.0.3 + unicode-ident-1.0.12 + unicode-normalization-0.1.23 + url-2.5.0 + utf8parse-0.2.1 + vcpkg-0.2.15 + version_check-0.9.4 + walkdir-2.5.0 + winapi-0.3.9 + winapi-i686-pc-windows-gnu-0.4.0 + winapi-util-0.1.6 + 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.4 + windows_aarch64_gnullvm-0.48.5 + windows_aarch64_gnullvm-0.52.4 + windows_aarch64_msvc-0.48.5 + windows_aarch64_msvc-0.52.4 + windows_i686_gnu-0.48.5 + windows_i686_gnu-0.52.4 + windows_i686_msvc-0.48.5 + windows_i686_msvc-0.52.4 + windows_x86_64_gnu-0.48.5 + windows_x86_64_gnu-0.52.4 + windows_x86_64_gnullvm-0.48.5 + windows_x86_64_gnullvm-0.52.4 + windows_x86_64_msvc-0.48.5 + windows_x86_64_msvc-0.52.4 + winnow-0.6.5 + xattr-1.3.1 + zerocopy-0.7.32 + zerocopy-derive-0.7.32 +" + +inherit cargo flag-o-matic + +DESCRIPTION="Stack-based patch management for Git" +HOMEPAGE="https://stacked-git.github.io/" +SRC_URI="${CARGO_CRATE_URIS}" +SRC_URI+=" https://github.com/stacked-git/stgit/releases/download/v${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD MIT Unicode-DFS-2016" +SLOT="0/2" +KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86" +IUSE="doc" + +DEPEND="doc? ( app-text/asciidoc )" + +# 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/stg" + +src_configure() { + filter-lto #bug 897692 +} + +src_compile() { + cargo_src_compile + emake completion + emake contrib + use doc && emake doc +} + +src_install() { + cargo_src_install + emake DESTDIR="${D}" prefix="/usr" install-completion + emake DESTDIR="${D}" prefix="/usr" install-contrib + if use doc; then + emake DESTDIR="${D}" prefix="/usr" install-man + emake DESTDIR="${D}" prefix="/usr" \ + htmldir="/usr/share/doc/${PF}" \ + install-html + fi +} diff --git a/dev-vcs/stgit/stgit-2.4.6.ebuild b/dev-vcs/stgit/stgit-2.4.6.ebuild deleted file mode 100644 index e815ddb4c129..000000000000 --- a/dev-vcs/stgit/stgit-2.4.6.ebuild +++ /dev/null @@ -1,217 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.6.3 - -EAPI=8 - -CRATES=" - adler-1.0.2 - ahash-0.8.11 - allocator-api2-0.2.16 - anstream-0.6.13 - anstyle-1.0.6 - anstyle-parse-0.2.3 - anstyle-query-1.0.2 - anstyle-wincon-3.0.2 - anyhow-1.0.81 - arc-swap-1.7.1 - autocfg-1.2.0 - bitflags-1.3.2 - bitflags-2.5.0 - bstr-1.9.1 - bzip2-rs-0.1.2 - cc-1.0.90 - cfg-if-1.0.0 - cfg_aliases-0.1.1 - clap-4.5.4 - clap_builder-4.5.2 - clap_lex-0.7.0 - clru-0.6.1 - colorchoice-1.0.0 - crc32fast-1.4.0 - ctrlc-3.4.4 - curl-0.4.46 - curl-sys-0.4.72+curl-8.6.0 - deranged-0.3.11 - dunce-1.0.4 - encoding_rs-0.8.33 - equivalent-1.0.1 - errno-0.3.8 - faster-hex-0.9.0 - fastrand-2.0.2 - filetime-0.2.23 - flate2-1.0.28 - fnv-1.0.7 - form_urlencoded-1.2.1 - gix-0.61.0 - gix-actor-0.31.1 - gix-bitmap-0.2.11 - gix-chunk-0.4.8 - gix-command-0.3.6 - gix-commitgraph-0.24.2 - gix-config-0.36.0 - gix-config-value-0.14.6 - gix-date-0.8.5 - gix-diff-0.42.0 - gix-discover-0.31.0 - gix-features-0.38.1 - gix-fs-0.10.1 - gix-glob-0.16.2 - gix-hash-0.14.2 - gix-hashtable-0.5.2 - gix-index-0.31.1 - gix-lock-13.1.1 - gix-macros-0.1.4 - gix-object-0.42.1 - gix-odb-0.59.0 - gix-pack-0.49.0 - gix-path-0.10.7 - gix-quote-0.4.12 - gix-ref-0.43.0 - gix-refspec-0.23.0 - gix-revision-0.27.0 - gix-revwalk-0.13.0 - gix-sec-0.10.6 - gix-tempfile-13.1.1 - gix-trace-0.1.8 - gix-traverse-0.38.0 - gix-url-0.27.2 - gix-utils-0.1.11 - gix-validate-0.8.4 - hashbrown-0.14.3 - hermit-abi-0.3.9 - home-0.5.9 - idna-0.5.0 - indexmap-2.2.6 - is-terminal-0.4.12 - itoa-1.0.11 - libc-0.2.153 - libz-sys-1.1.16 - linux-raw-sys-0.4.13 - lock_api-0.4.11 - memchr-2.7.2 - memmap2-0.9.4 - minimal-lexical-0.2.1 - miniz_oxide-0.7.2 - nix-0.28.0 - nom-7.1.3 - num-conv-0.1.0 - num_threads-0.1.7 - once_cell-1.19.0 - openssl-probe-0.1.5 - openssl-sys-0.9.102 - parking_lot-0.12.1 - parking_lot_core-0.9.9 - percent-encoding-2.3.1 - pkg-config-0.3.30 - powerfmt-0.2.0 - proc-macro2-1.0.79 - prodash-28.0.0 - quote-1.0.35 - redox_syscall-0.4.1 - regex-automata-0.4.6 - rustix-0.38.32 - ryu-1.0.17 - same-file-1.0.6 - schannel-0.1.23 - scopeguard-1.2.0 - serde-1.0.197 - serde_derive-1.0.197 - serde_json-1.0.115 - sha1_smol-1.0.0 - shell-words-1.1.0 - smallvec-1.13.2 - socket2-0.5.6 - strsim-0.11.1 - syn-2.0.58 - tar-0.4.40 - tempfile-3.10.1 - termcolor-1.4.1 - terminal_size-0.3.0 - thiserror-1.0.58 - thiserror-impl-1.0.58 - time-0.3.34 - time-core-0.1.2 - time-macros-0.2.17 - tinyvec-1.6.0 - tinyvec_macros-0.1.1 - unicode-bidi-0.3.15 - unicode-bom-2.0.3 - unicode-ident-1.0.12 - unicode-normalization-0.1.23 - url-2.5.0 - utf8parse-0.2.1 - vcpkg-0.2.15 - version_check-0.9.4 - walkdir-2.5.0 - winapi-0.3.9 - winapi-i686-pc-windows-gnu-0.4.0 - winapi-util-0.1.6 - 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.4 - windows_aarch64_gnullvm-0.48.5 - windows_aarch64_gnullvm-0.52.4 - windows_aarch64_msvc-0.48.5 - windows_aarch64_msvc-0.52.4 - windows_i686_gnu-0.48.5 - windows_i686_gnu-0.52.4 - windows_i686_msvc-0.48.5 - windows_i686_msvc-0.52.4 - windows_x86_64_gnu-0.48.5 - windows_x86_64_gnu-0.52.4 - windows_x86_64_gnullvm-0.48.5 - windows_x86_64_gnullvm-0.52.4 - windows_x86_64_msvc-0.48.5 - windows_x86_64_msvc-0.52.4 - winnow-0.6.5 - xattr-1.3.1 - zerocopy-0.7.32 - zerocopy-derive-0.7.32 -" - -inherit cargo flag-o-matic - -DESCRIPTION="Stack-based patch management for Git" -HOMEPAGE="https://stacked-git.github.io/" -SRC_URI="${CARGO_CRATE_URIS}" -SRC_URI+=" https://github.com/stacked-git/stgit/releases/download/v${PV}/${P}.tar.gz" - -LICENSE="GPL-2" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD MIT Unicode-DFS-2016" -SLOT="0/2" -KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv x86" -IUSE="doc" - -DEPEND="doc? ( app-text/asciidoc )" - -# 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/stg" - -src_configure() { - filter-lto #bug 897692 -} - -src_compile() { - cargo_src_compile - emake completion - emake contrib - use doc && emake doc -} - -src_install() { - cargo_src_install - emake DESTDIR="${D}" prefix="/usr" install-completion - emake DESTDIR="${D}" prefix="/usr" install-contrib - if use doc; then - emake DESTDIR="${D}" prefix="/usr" install-man - emake DESTDIR="${D}" prefix="/usr" \ - htmldir="/usr/share/doc/${PF}" \ - install-html - fi -} diff --git a/games-board/jja/jja-0.9.1-r1.ebuild b/games-board/jja/jja-0.9.1-r1.ebuild new file mode 100644 index 000000000000..9eb7556c9e84 --- /dev/null +++ b/games-board/jja/jja-0.9.1-r1.ebuild @@ -0,0 +1,274 @@ +# Copyright 2023-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 + advapi32-sys@0.2.0 + ahash@0.8.11 + aho-corasick@1.1.3 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.0.3 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + anyhow@1.0.83 + arrayvec@0.7.4 + autocfg@1.3.0 + backtrace@0.3.71 + benchmarking@0.4.13 + bindgen@0.65.1 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + block@0.1.6 + btoi@0.4.3 + built@0.7.2 + bytefmt@0.1.7 + byteorder@1.5.0 + bzip2-sys@0.1.11+1.0.8 + bzip2@0.4.4 + cc@1.0.97 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + circular@0.3.0 + clang-sys@1.7.0 + clap@4.5.4 + clap_builder@4.5.2 + clap_lex@0.7.0 + colorchoice@1.0.1 + console@0.15.8 + cpufeatures@0.2.12 + crc32fast@1.4.0 + crossbeam-channel@0.5.12 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossbeam@0.8.4 + crypto-common@0.1.6 + ctrlc@3.4.4 + dialoguer@0.11.0 + digest@0.10.7 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + displaydoc@0.2.4 + either@1.11.0 + encode_unicode@0.3.6 + encode_unicode@1.0.0 + encoding-index-japanese@1.20141219.5 + encoding-index-korean@1.20141219.5 + encoding-index-simpchinese@1.20141219.5 + encoding-index-singlebyte@1.20141219.5 + encoding-index-tradchinese@1.20141219.5 + encoding@0.2.33 + encoding_index_tests@0.1.4 + equivalent@1.0.1 + errno@0.3.9 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fastrand@2.1.0 + find-crate@0.6.3 + flate2@1.0.30 + fluent-langneg@0.13.0 + form_urlencoded@1.2.1 + generic-array@0.14.7 + getrandom@0.2.15 + gettext@0.4.0 + gimli@0.28.1 + git2@0.18.3 + glob@0.3.1 + hashbrown@0.14.5 + hashlink@0.9.1 + hermit-abi@0.3.9 + hostname@0.4.0 + human-panic@1.2.3 + i18n-config@0.4.6 + i18n-embed-impl@0.8.3 + i18n-embed@0.14.1 + idna@0.5.0 + indexmap@2.2.6 + indicatif@0.17.8 + instant@0.1.12 + intl-memoizer@0.5.2 + is-terminal@0.4.12 + is_terminal_polyfill@1.70.0 + itertools@0.10.5 + itertools@0.12.1 + itoa@1.0.11 + jobserver@0.1.31 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.154 + libgit2-sys@0.16.2+1.7.2 + libloading@0.8.3 + libredox@0.1.3 + librocksdb-sys@0.11.0+8.1.1 + libsqlite3-sys@0.28.0 + libz-sys@1.1.16 + linux-raw-sys@0.4.13 + locale_config@0.3.0 + lock_api@0.4.12 + log@0.4.21 + lz4-sys@1.9.4 + lz4@1.24.0 + lzma-sys@0.1.20 + malloc_buf@0.0.6 + memchr@2.7.2 + memmap@0.7.0 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + nix@0.28.0 + nom@7.1.3 + num-traits@0.2.19 + num_cpus@1.16.0 + number_prefix@0.4.0 + objc-foundation@0.1.1 + objc@0.2.7 + objc_id@0.1.1 + object@0.32.2 + once_cell@1.19.0 + os_info@3.8.2 + parking_lot@0.12.2 + parking_lot_core@0.9.10 + peeking_take_while@0.1.2 + percent-encoding@2.3.1 + pgcopy@0.0.2 + pgn-reader@0.25.0 + pkg-config@0.3.30 + portable-atomic@1.6.0 + positioned-io@0.3.3 + ppv-lite86@0.2.17 + prettyplease@0.2.20 + prettytable-rs@0.10.0 + proc-macro2@1.0.82 + quick-csv@0.1.6 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_xorshift@0.3.0 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.1 + redox_users@0.4.5 + regex-automata@0.4.6 + regex-syntax@0.8.3 + regex@1.10.4 + rocksdb@0.21.0 + rusqlite@0.31.0 + rust-embed-impl@8.4.0 + rust-embed-utils@8.4.0 + rust-embed@8.4.0 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc-serialize@0.3.25 + rustix@0.38.34 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + scopeguard@1.2.0 + serde@1.0.202 + serde_derive@1.0.202 + serde_json@1.0.117 + serde_spanned@0.6.5 + sha2@0.10.8 + shakmaty-syzygy@0.24.0 + shakmaty@0.26.0 + shell-escape@0.1.5 + shell-words@1.1.0 + shlex@1.3.0 + smallvec@1.13.2 + strsim@0.11.1 + syn@2.0.63 + tempfile@3.10.1 + term@0.7.0 + termtree@0.4.1 + test_bin@0.4.0 + textwrap@0.16.1 + thiserror-impl@1.0.60 + thiserror@1.0.60 + tikv-jemalloc-sys@0.5.4+5.3.0-patched + tinystr@0.7.5 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.5.11 + toml@0.8.12 + toml_datetime@0.6.5 + toml_edit@0.22.12 + tr@0.1.7 + type-map@0.5.0 + typenum@1.17.0 + unic-langid-impl@0.9.5 + unic-langid@0.9.5 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-width@0.1.12 + url@2.5.0 + username@0.2.0 + utf8parse@0.2.1 + uuid@1.8.0 + vcpkg@0.2.15 + version_check@0.9.4 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-build@0.1.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.2.8 + winapi@0.3.9 + windows-core@0.52.0 + windows-sys@0.52.0 + windows-targets@0.52.5 + windows@0.52.0 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.52.5 + winnow@0.6.8 + xz2@0.1.7 + zerocopy-derive@0.7.34 + zerocopy@0.7.34 + zstd-safe@7.1.0 + zstd-sys@2.0.10+zstd.1.5.6 + zstd@0.13.1 +" + +LLVM_COMPAT=( {16..18} ) + +inherit llvm-r1 cargo + +DESCRIPTION="swiss army knife for chess file formats" +HOMEPAGE="https://git.sr.ht/~alip/jja" +SRC_URI="https://git.sr.ht/~alip/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + " + +# rocksdb needs clang +DEPEND+="$(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + sys-devel/llvm:${LLVM_SLOT} + ') + sys-libs/liburing" +RDEPEND=${DEPEND} +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD CC0-1.0 GPL-3+ ISC MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64" + +src_unpack() { + cargo_src_unpack + rmdir "${WORKDIR}"/${P} + mv "${WORKDIR}"/${PN}-v${PV} "${WORKDIR}"/${P} || die +} diff --git a/games-board/jja/jja-0.9.1.ebuild b/games-board/jja/jja-0.9.1.ebuild deleted file mode 100644 index c5d106105a70..000000000000 --- a/games-board/jja/jja-0.9.1.ebuild +++ /dev/null @@ -1,274 +0,0 @@ -# Copyright 2023-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 - advapi32-sys@0.2.0 - ahash@0.8.11 - aho-corasick@1.1.3 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.0.3 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - anyhow@1.0.83 - arrayvec@0.7.4 - autocfg@1.3.0 - backtrace@0.3.71 - benchmarking@0.4.13 - bindgen@0.65.1 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - block@0.1.6 - btoi@0.4.3 - built@0.7.2 - bytefmt@0.1.7 - byteorder@1.5.0 - bzip2-sys@0.1.11+1.0.8 - bzip2@0.4.4 - cc@1.0.97 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - circular@0.3.0 - clang-sys@1.7.0 - clap@4.5.4 - clap_builder@4.5.2 - clap_lex@0.7.0 - colorchoice@1.0.1 - console@0.15.8 - cpufeatures@0.2.12 - crc32fast@1.4.0 - crossbeam-channel@0.5.12 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.19 - crossbeam@0.8.4 - crypto-common@0.1.6 - ctrlc@3.4.4 - dialoguer@0.11.0 - digest@0.10.7 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - displaydoc@0.2.4 - either@1.11.0 - encode_unicode@0.3.6 - encode_unicode@1.0.0 - encoding-index-japanese@1.20141219.5 - encoding-index-korean@1.20141219.5 - encoding-index-simpchinese@1.20141219.5 - encoding-index-singlebyte@1.20141219.5 - encoding-index-tradchinese@1.20141219.5 - encoding@0.2.33 - encoding_index_tests@0.1.4 - equivalent@1.0.1 - errno@0.3.9 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fastrand@2.1.0 - find-crate@0.6.3 - flate2@1.0.30 - fluent-langneg@0.13.0 - form_urlencoded@1.2.1 - generic-array@0.14.7 - getrandom@0.2.15 - gettext@0.4.0 - gimli@0.28.1 - git2@0.18.3 - glob@0.3.1 - hashbrown@0.14.5 - hashlink@0.9.1 - hermit-abi@0.3.9 - hostname@0.4.0 - human-panic@1.2.3 - i18n-config@0.4.6 - i18n-embed-impl@0.8.3 - i18n-embed@0.14.1 - idna@0.5.0 - indexmap@2.2.6 - indicatif@0.17.8 - instant@0.1.12 - intl-memoizer@0.5.2 - is-terminal@0.4.12 - is_terminal_polyfill@1.70.0 - itertools@0.10.5 - itertools@0.12.1 - itoa@1.0.11 - jobserver@0.1.31 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.154 - libgit2-sys@0.16.2+1.7.2 - libloading@0.8.3 - libredox@0.1.3 - librocksdb-sys@0.11.0+8.1.1 - libsqlite3-sys@0.28.0 - libz-sys@1.1.16 - linux-raw-sys@0.4.13 - locale_config@0.3.0 - lock_api@0.4.12 - log@0.4.21 - lz4-sys@1.9.4 - lz4@1.24.0 - lzma-sys@0.1.20 - malloc_buf@0.0.6 - memchr@2.7.2 - memmap@0.7.0 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - nix@0.28.0 - nom@7.1.3 - num-traits@0.2.19 - num_cpus@1.16.0 - number_prefix@0.4.0 - objc-foundation@0.1.1 - objc@0.2.7 - objc_id@0.1.1 - object@0.32.2 - once_cell@1.19.0 - os_info@3.8.2 - parking_lot@0.12.2 - parking_lot_core@0.9.10 - peeking_take_while@0.1.2 - percent-encoding@2.3.1 - pgcopy@0.0.2 - pgn-reader@0.25.0 - pkg-config@0.3.30 - portable-atomic@1.6.0 - positioned-io@0.3.3 - ppv-lite86@0.2.17 - prettyplease@0.2.20 - prettytable-rs@0.10.0 - proc-macro2@1.0.82 - quick-csv@0.1.6 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_xorshift@0.3.0 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.5.1 - redox_users@0.4.5 - regex-automata@0.4.6 - regex-syntax@0.8.3 - regex@1.10.4 - rocksdb@0.21.0 - rusqlite@0.31.0 - rust-embed-impl@8.4.0 - rust-embed-utils@8.4.0 - rust-embed@8.4.0 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustc-serialize@0.3.25 - rustix@0.38.34 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - scopeguard@1.2.0 - serde@1.0.202 - serde_derive@1.0.202 - serde_json@1.0.117 - serde_spanned@0.6.5 - sha2@0.10.8 - shakmaty-syzygy@0.24.0 - shakmaty@0.26.0 - shell-escape@0.1.5 - shell-words@1.1.0 - shlex@1.3.0 - smallvec@1.13.2 - strsim@0.11.1 - syn@2.0.63 - tempfile@3.10.1 - term@0.7.0 - termtree@0.4.1 - test_bin@0.4.0 - textwrap@0.16.1 - thiserror-impl@1.0.60 - thiserror@1.0.60 - tikv-jemalloc-sys@0.5.4+5.3.0-patched - tinystr@0.7.5 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - toml@0.5.11 - toml@0.8.12 - toml_datetime@0.6.5 - toml_edit@0.22.12 - tr@0.1.7 - type-map@0.5.0 - typenum@1.17.0 - unic-langid-impl@0.9.5 - unic-langid@0.9.5 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-width@0.1.12 - url@2.5.0 - username@0.2.0 - utf8parse@0.2.1 - uuid@1.8.0 - vcpkg@0.2.15 - version_check@0.9.4 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-build@0.1.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.2.8 - winapi@0.3.9 - windows-core@0.52.0 - windows-sys@0.52.0 - windows-targets@0.52.5 - windows@0.52.0 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.52.5 - winnow@0.6.8 - xz2@0.1.7 - zerocopy-derive@0.7.34 - zerocopy@0.7.34 - zstd-safe@7.1.0 - zstd-sys@2.0.10+zstd.1.5.6 - zstd@0.13.1 -" - -LLVM_COMPAT=( {16..18} ) - -inherit cargo llvm-r1 - -DESCRIPTION="swiss army knife for chess file formats" -HOMEPAGE="https://git.sr.ht/~alip/jja" -SRC_URI="https://git.sr.ht/~alip/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} - " - -# rocksdb needs clang -DEPEND+="$(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - sys-devel/llvm:${LLVM_SLOT} - ') - sys-libs/liburing" -RDEPEND=${DEPEND} -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD CC0-1.0 GPL-3+ ISC MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64" - -src_unpack() { - cargo_src_unpack - rmdir "${WORKDIR}"/${P} - mv "${WORKDIR}"/${PN}-v${PV} "${WORKDIR}"/${P} || die -} diff --git a/games-emulation/rmg/rmg-0.6.5-r1.ebuild b/games-emulation/rmg/rmg-0.6.5-r1.ebuild new file mode 100644 index 000000000000..48350becfcc2 --- /dev/null +++ b/games-emulation/rmg/rmg-0.6.5-r1.ebuild @@ -0,0 +1,145 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=1 + +CRATES=" + cc@1.0.83 + cfg-if@1.0.0 + libc@0.2.152 + libloading@0.7.4 + libusb1-sys@0.6.4 + once_cell@1.19.0 + pkg-config@0.3.29 + proc-macro2@1.0.78 + quote@1.0.35 + rusb@0.9.3 + serde@1.0.195 + serde_derive@1.0.195 + syn@2.0.48 + toml@0.5.11 + unicode-ident@1.0.12 + vcpkg@0.2.15 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 +" + +inherit cargo cmake flag-o-matic xdg + +MY_PN="${PN^^}" +MY_P="${MY_PN}-${PV}" +DESCRIPTION="Rosalie's Mupen GUI" +HOMEPAGE="https://github.com/Rosalie241/RMG" +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Rosalie241/${MY_PN}.git" +else + SRC_URI=" + https://github.com//Rosalie241/${MY_PN}/archive/v${PV}/${MY_P}.tar.gz \ + -> ${P}.tar.gz + rust-plugin? ( ${CARGO_CRATE_URIS} ) + " + S="${WORKDIR}/${MY_P}" + KEYWORDS="~amd64" +fi + +LICENSE=" + BSD-2 CC0-1.0 GPL-2 GPL-3 MIT ZLIB public-domain + angrylion-plugin? ( XMAME ) + rust-plugin? ( ISC Unicode-DFS-2016 ) +" +SLOT="0" +IUSE="angrylion-plugin discord dynarec rust-plugin" + +DEPEND=" + dev-libs/hidapi + dev-qt/qtbase:6[gui,opengl,vulkan,widgets] + dev-qt/qtsvg:6 + media-libs/freetype + media-libs/libpng:= + media-libs/libsamplerate + media-libs/libsdl2[haptic,joystick,opengl,sound,vulkan] + media-libs/speexdsp + sys-libs/zlib[minizip(+)] + virtual/opengl + rust-plugin? ( dev-libs/libusb:1 ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/pkgconfig + dynarec? ( dev-lang/nasm ) + rust-plugin? ( ${RUST_DEPEND} ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.5.6-parallel-rdp-standalone-musl.patch +) + +pkg_setup() { + QA_FLAGS_IGNORED="/usr/$(get_libdir)/RMG/Plugin/Input/libmupen64plus_input_gca.so" + rust_pkg_setup +} + +src_unpack() { + if [[ "${PV}" == *9999 ]] ; then + git-r3_src_unpack + if use rust-plugin; then + S="${S}"/Source/3rdParty/mupen64plus-input-gca \ + cargo_live_src_unpack + fi + else + if use rust-plugin; then + cargo_src_unpack + else + default + fi + fi +} + +src_prepare() { + cmake_src_prepare + + # Don't install unused 3rdParty code + rm -r "${S}"/Source/3rdParty/fmt || die + + # Don't install XMAME licensed code + if ! use angrylion-plugin; then + rm -r "${S}"/Source/3rdParty/mupen64plus-video-angrylion-plus || die + fi + + # Don't install pre-compiled binaries + rm -r "${S}"/Source/3rdParty/vosk-api || die + + # Enable verbose make(1) output + sed -e 's/CC=/V=1 CC=/' -i "${S}"/Source/3rdParty/CMakeLists.txt || die +} + +src_configure() { + # -Werror=strict-aliasing + # https://github.com/gonetz/GLideN64/issues/2877 + # + # Disable strict-aliasing until its handled upstream. + append-flags -fno-strict-aliasing + filter-lto + + export PKG_CONFIG_ALLOW_CROSS=1 + + local mycmakeargs=( + -DAPPIMAGE_UPDATER=OFF + -DDISCORD_RPC=$(usex discord) + -DNO_ASM=$(usex dynarec OFF ON) + -DNO_RUST=$(usex rust-plugin OFF ON) + -DPORTABLE_INSTALL=OFF + -DUPDATER=OFF + -DUSE_ANGRYLION=$(usex angrylion-plugin) + -DUSE_CCACHE=OFF + -DUSE_LIBFMT=OFF # Use std::format + -DUSE_LTO=OFF + -DVRU=OFF # Precompiled binaries + ) + + cmake_src_configure +} diff --git a/games-emulation/rmg/rmg-0.6.5.ebuild b/games-emulation/rmg/rmg-0.6.5.ebuild deleted file mode 100644 index 6ca37bec7198..000000000000 --- a/games-emulation/rmg/rmg-0.6.5.ebuild +++ /dev/null @@ -1,144 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=1 - -CRATES=" - cc@1.0.83 - cfg-if@1.0.0 - libc@0.2.152 - libloading@0.7.4 - libusb1-sys@0.6.4 - once_cell@1.19.0 - pkg-config@0.3.29 - proc-macro2@1.0.78 - quote@1.0.35 - rusb@0.9.3 - serde@1.0.195 - serde_derive@1.0.195 - syn@2.0.48 - toml@0.5.11 - unicode-ident@1.0.12 - vcpkg@0.2.15 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 -" - -inherit cargo cmake flag-o-matic xdg - -MY_PN="${PN^^}" -MY_P="${MY_PN}-${PV}" -DESCRIPTION="Rosalie's Mupen GUI" -HOMEPAGE="https://github.com/Rosalie241/RMG" -if [[ "${PV}" == *9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/Rosalie241/${MY_PN}.git" -else - SRC_URI=" - https://github.com//Rosalie241/${MY_PN}/archive/v${PV}/${MY_P}.tar.gz \ - -> ${P}.tar.gz - rust-plugin? ( ${CARGO_CRATE_URIS} ) - " - S="${WORKDIR}/${MY_P}" - KEYWORDS="~amd64" -fi - -LICENSE=" - BSD-2 CC0-1.0 GPL-2 GPL-3 MIT ZLIB public-domain - angrylion-plugin? ( XMAME ) - rust-plugin? ( ISC Unicode-DFS-2016 ) -" -SLOT="0" -IUSE="angrylion-plugin discord dynarec rust-plugin" - -DEPEND=" - dev-libs/hidapi - dev-qt/qtbase:6[gui,opengl,vulkan,widgets] - dev-qt/qtsvg:6 - media-libs/freetype - media-libs/libpng:= - media-libs/libsamplerate - media-libs/libsdl2[haptic,joystick,opengl,sound,vulkan] - media-libs/speexdsp - sys-libs/zlib[minizip(+)] - virtual/opengl - rust-plugin? ( dev-libs/libusb:1 ) -" -RDEPEND="${DEPEND}" -BDEPEND=" - virtual/pkgconfig - dynarec? ( dev-lang/nasm ) - rust-plugin? ( virtual/rust ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.5.6-parallel-rdp-standalone-musl.patch -) - -pkg_setup() { - QA_FLAGS_IGNORED="/usr/$(get_libdir)/RMG/Plugin/Input/libmupen64plus_input_gca.so" -} - -src_unpack() { - if [[ "${PV}" == *9999 ]] ; then - git-r3_src_unpack - if use rust-plugin; then - S="${S}"/Source/3rdParty/mupen64plus-input-gca \ - cargo_live_src_unpack - fi - else - if use rust-plugin; then - cargo_src_unpack - else - default - fi - fi -} - -src_prepare() { - cmake_src_prepare - - # Don't install unused 3rdParty code - rm -r "${S}"/Source/3rdParty/fmt || die - - # Don't install XMAME licensed code - if ! use angrylion-plugin; then - rm -r "${S}"/Source/3rdParty/mupen64plus-video-angrylion-plus || die - fi - - # Don't install pre-compiled binaries - rm -r "${S}"/Source/3rdParty/vosk-api || die - - # Enable verbose make(1) output - sed -e 's/CC=/V=1 CC=/' -i "${S}"/Source/3rdParty/CMakeLists.txt || die -} - -src_configure() { - # -Werror=strict-aliasing - # https://github.com/gonetz/GLideN64/issues/2877 - # - # Disable strict-aliasing until its handled upstream. - append-flags -fno-strict-aliasing - filter-lto - - export PKG_CONFIG_ALLOW_CROSS=1 - - local mycmakeargs=( - -DAPPIMAGE_UPDATER=OFF - -DDISCORD_RPC=$(usex discord) - -DNO_ASM=$(usex dynarec OFF ON) - -DNO_RUST=$(usex rust-plugin OFF ON) - -DPORTABLE_INSTALL=OFF - -DUPDATER=OFF - -DUSE_ANGRYLION=$(usex angrylion-plugin) - -DUSE_CCACHE=OFF - -DUSE_LIBFMT=OFF # Use std::format - -DUSE_LTO=OFF - -DVRU=OFF # Precompiled binaries - ) - - cmake_src_configure -} diff --git a/games-emulation/rmg/rmg-0.6.6-r1.ebuild b/games-emulation/rmg/rmg-0.6.6-r1.ebuild new file mode 100644 index 000000000000..eed49326ebd4 --- /dev/null +++ b/games-emulation/rmg/rmg-0.6.6-r1.ebuild @@ -0,0 +1,145 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=1 + +CRATES=" + cc@1.0.83 + cfg-if@1.0.0 + libc@0.2.152 + libloading@0.7.4 + libusb1-sys@0.6.4 + once_cell@1.19.0 + pkg-config@0.3.29 + proc-macro2@1.0.78 + quote@1.0.35 + rusb@0.9.3 + serde@1.0.195 + serde_derive@1.0.195 + syn@2.0.48 + toml@0.5.11 + unicode-ident@1.0.12 + vcpkg@0.2.15 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 +" + +inherit cargo cmake flag-o-matic xdg + +MY_PN="${PN^^}" +MY_P="${MY_PN}-${PV}" +DESCRIPTION="Rosalie's Mupen GUI" +HOMEPAGE="https://github.com/Rosalie241/RMG" +if [[ "${PV}" == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/Rosalie241/${MY_PN}.git" +else + SRC_URI=" + https://github.com//Rosalie241/${MY_PN}/archive/v${PV}/${MY_P}.tar.gz \ + -> ${P}.tar.gz + rust-plugin? ( ${CARGO_CRATE_URIS} ) + " + S="${WORKDIR}/${MY_P}" + KEYWORDS="~amd64" +fi + +LICENSE=" + BSD-2 CC0-1.0 GPL-2 GPL-3 MIT ZLIB public-domain + angrylion-plugin? ( XMAME ) + rust-plugin? ( ISC Unicode-DFS-2016 ) +" +SLOT="0" +IUSE="angrylion-plugin discord dynarec rust-plugin" + +DEPEND=" + dev-libs/hidapi + dev-qt/qtbase:6[gui,opengl,vulkan,widgets] + dev-qt/qtsvg:6 + media-libs/freetype + media-libs/libpng:= + media-libs/libsamplerate + media-libs/libsdl2[haptic,joystick,opengl,sound,vulkan] + media-libs/speexdsp + sys-libs/zlib[minizip(+)] + virtual/opengl + rust-plugin? ( dev-libs/libusb:1 ) +" +RDEPEND="${DEPEND}" +BDEPEND=" + virtual/pkgconfig + dynarec? ( dev-lang/nasm ) + rust-plugin? ( ${RUST_DEPEND} ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.5.6-parallel-rdp-standalone-musl.patch +) + +pkg_setup() { + QA_FLAGS_IGNORED="/usr/$(get_libdir)/RMG/Plugin/Input/libmupen64plus_input_gca.so" + use rust-plugin && rust_pkg_setup +} + +src_unpack() { + if [[ "${PV}" == *9999 ]] ; then + git-r3_src_unpack + if use rust-plugin; then + S="${S}"/Source/3rdParty/mupen64plus-input-gca \ + cargo_live_src_unpack + fi + else + if use rust-plugin; then + cargo_src_unpack + else + default + fi + fi +} + +src_prepare() { + cmake_src_prepare + + # Don't install unused 3rdParty code + rm -r "${S}"/Source/3rdParty/fmt || die + + # Don't install XMAME licensed code + if ! use angrylion-plugin; then + rm -r "${S}"/Source/3rdParty/mupen64plus-video-angrylion-plus || die + fi + + # Don't install pre-compiled binaries + rm -r "${S}"/Source/3rdParty/vosk-api || die + + # Enable verbose make(1) output + sed -e 's/CC=/V=1 CC=/' -i "${S}"/Source/3rdParty/CMakeLists.txt || die +} + +src_configure() { + # -Werror=strict-aliasing + # https://github.com/gonetz/GLideN64/issues/2877 + # + # Disable strict-aliasing until its handled upstream. + append-flags -fno-strict-aliasing + filter-lto + + export PKG_CONFIG_ALLOW_CROSS=1 + + local mycmakeargs=( + -DAPPIMAGE_UPDATER=OFF + -DDISCORD_RPC=$(usex discord) + -DNO_ASM=$(usex dynarec OFF ON) + -DNO_RUST=$(usex rust-plugin OFF ON) + -DPORTABLE_INSTALL=OFF + -DUPDATER=OFF + -DUSE_ANGRYLION=$(usex angrylion-plugin) + -DUSE_CCACHE=OFF + -DUSE_LIBFMT=OFF # Use std::format + -DUSE_LTO=OFF + -DVRU=OFF # Precompiled binaries + ) + + cmake_src_configure +} diff --git a/games-emulation/rmg/rmg-0.6.6.ebuild b/games-emulation/rmg/rmg-0.6.6.ebuild deleted file mode 100644 index 6ca37bec7198..000000000000 --- a/games-emulation/rmg/rmg-0.6.6.ebuild +++ /dev/null @@ -1,144 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=1 - -CRATES=" - cc@1.0.83 - cfg-if@1.0.0 - libc@0.2.152 - libloading@0.7.4 - libusb1-sys@0.6.4 - once_cell@1.19.0 - pkg-config@0.3.29 - proc-macro2@1.0.78 - quote@1.0.35 - rusb@0.9.3 - serde@1.0.195 - serde_derive@1.0.195 - syn@2.0.48 - toml@0.5.11 - unicode-ident@1.0.12 - vcpkg@0.2.15 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 -" - -inherit cargo cmake flag-o-matic xdg - -MY_PN="${PN^^}" -MY_P="${MY_PN}-${PV}" -DESCRIPTION="Rosalie's Mupen GUI" -HOMEPAGE="https://github.com/Rosalie241/RMG" -if [[ "${PV}" == *9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/Rosalie241/${MY_PN}.git" -else - SRC_URI=" - https://github.com//Rosalie241/${MY_PN}/archive/v${PV}/${MY_P}.tar.gz \ - -> ${P}.tar.gz - rust-plugin? ( ${CARGO_CRATE_URIS} ) - " - S="${WORKDIR}/${MY_P}" - KEYWORDS="~amd64" -fi - -LICENSE=" - BSD-2 CC0-1.0 GPL-2 GPL-3 MIT ZLIB public-domain - angrylion-plugin? ( XMAME ) - rust-plugin? ( ISC Unicode-DFS-2016 ) -" -SLOT="0" -IUSE="angrylion-plugin discord dynarec rust-plugin" - -DEPEND=" - dev-libs/hidapi - dev-qt/qtbase:6[gui,opengl,vulkan,widgets] - dev-qt/qtsvg:6 - media-libs/freetype - media-libs/libpng:= - media-libs/libsamplerate - media-libs/libsdl2[haptic,joystick,opengl,sound,vulkan] - media-libs/speexdsp - sys-libs/zlib[minizip(+)] - virtual/opengl - rust-plugin? ( dev-libs/libusb:1 ) -" -RDEPEND="${DEPEND}" -BDEPEND=" - virtual/pkgconfig - dynarec? ( dev-lang/nasm ) - rust-plugin? ( virtual/rust ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.5.6-parallel-rdp-standalone-musl.patch -) - -pkg_setup() { - QA_FLAGS_IGNORED="/usr/$(get_libdir)/RMG/Plugin/Input/libmupen64plus_input_gca.so" -} - -src_unpack() { - if [[ "${PV}" == *9999 ]] ; then - git-r3_src_unpack - if use rust-plugin; then - S="${S}"/Source/3rdParty/mupen64plus-input-gca \ - cargo_live_src_unpack - fi - else - if use rust-plugin; then - cargo_src_unpack - else - default - fi - fi -} - -src_prepare() { - cmake_src_prepare - - # Don't install unused 3rdParty code - rm -r "${S}"/Source/3rdParty/fmt || die - - # Don't install XMAME licensed code - if ! use angrylion-plugin; then - rm -r "${S}"/Source/3rdParty/mupen64plus-video-angrylion-plus || die - fi - - # Don't install pre-compiled binaries - rm -r "${S}"/Source/3rdParty/vosk-api || die - - # Enable verbose make(1) output - sed -e 's/CC=/V=1 CC=/' -i "${S}"/Source/3rdParty/CMakeLists.txt || die -} - -src_configure() { - # -Werror=strict-aliasing - # https://github.com/gonetz/GLideN64/issues/2877 - # - # Disable strict-aliasing until its handled upstream. - append-flags -fno-strict-aliasing - filter-lto - - export PKG_CONFIG_ALLOW_CROSS=1 - - local mycmakeargs=( - -DAPPIMAGE_UPDATER=OFF - -DDISCORD_RPC=$(usex discord) - -DNO_ASM=$(usex dynarec OFF ON) - -DNO_RUST=$(usex rust-plugin OFF ON) - -DPORTABLE_INSTALL=OFF - -DUPDATER=OFF - -DUSE_ANGRYLION=$(usex angrylion-plugin) - -DUSE_CCACHE=OFF - -DUSE_LIBFMT=OFF # Use std::format - -DUSE_LTO=OFF - -DVRU=OFF # Precompiled binaries - ) - - cmake_src_configure -} 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-r1.ebuild b/games-puzzle/syzygy/syzygy-1.0.2-r1.ebuild new file mode 100644 index 000000000000..e40eb73ed926 --- /dev/null +++ b/games-puzzle/syzygy/syzygy-1.0.2-r1.ebuild @@ -0,0 +1,79 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler32@1.2.0 + app_dirs@1.2.1 + autocfg@1.0.1 + bitflags@1.2.1 + byteorder@1.3.4 + cc@1.0.66 + cfg-if@1.0.0 + deflate@0.7.20 + fuchsia-cprng@0.1.1 + getopts@0.2.21 + glob@0.2.11 + ico@0.1.0 + inflate@0.3.4 + lazy_static@1.4.0 + libc@0.2.126 + num-integer@0.1.44 + num-iter@0.1.42 + num-traits@0.2.14 + ole32-sys@0.2.0 + png@0.11.0 + rand@0.4.6 + rand_core@0.3.1 + rand_core@0.4.2 + rdrand@0.4.0 + sdl2-sys@0.35.2 + sdl2@0.35.2 + serde@1.0.118 + shell32-sys@0.1.2 + toml@0.5.9 + unicode-width@0.1.8 + version-compare@0.1.0 + winapi-build@0.1.1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.2.8 + winapi@0.3.9 + winres@0.1.12 + xdg@2.2.0" +inherit cargo desktop xdg + +DESCRIPTION="Narrative meta-puzzle game" +HOMEPAGE="https://mdsteele.games/syzygy/" +SRC_URI=" + https://github.com/mdsteele/syzygy/archive/v${PV}.tar.gz + -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="GPL-3+" +LICENSE+=" ISC MIT ZLIB" # crates +LICENSE+=" BSD" # non-automated extra +SLOT="0" +KEYWORDS="~amd64" + +RDEPEND="media-libs/libsdl2[sound,video]" +DEPEND="${RDEPEND}" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_configure() { + local myfeatures=( embed_rsrc ) + + cargo_src_configure +} + +src_install() { + cargo_src_install + + make_desktop_entry ${PN} "System Syzygy" + local s + for s in 32 128 512; do + newicon -s ${s} data/icon/${s}x${s}.png ${PN}.png + done +} diff --git a/games-puzzle/syzygy/syzygy-1.0.2.ebuild b/games-puzzle/syzygy/syzygy-1.0.2.ebuild deleted file mode 100644 index c4b802feffd0..000000000000 --- a/games-puzzle/syzygy/syzygy-1.0.2.ebuild +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 2022-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler32@1.2.0 - app_dirs@1.2.1 - autocfg@1.0.1 - bitflags@1.2.1 - byteorder@1.3.4 - cc@1.0.66 - cfg-if@1.0.0 - deflate@0.7.20 - fuchsia-cprng@0.1.1 - getopts@0.2.21 - glob@0.2.11 - ico@0.1.0 - inflate@0.3.4 - lazy_static@1.4.0 - libc@0.2.126 - num-integer@0.1.44 - num-iter@0.1.42 - num-traits@0.2.14 - ole32-sys@0.2.0 - png@0.11.0 - rand@0.4.6 - rand_core@0.3.1 - rand_core@0.4.2 - rdrand@0.4.0 - sdl2-sys@0.35.2 - sdl2@0.35.2 - serde@1.0.118 - shell32-sys@0.1.2 - toml@0.5.9 - unicode-width@0.1.8 - version-compare@0.1.0 - winapi-build@0.1.1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.2.8 - winapi@0.3.9 - winres@0.1.12 - xdg@2.2.0" -inherit cargo desktop xdg - -DESCRIPTION="Narrative meta-puzzle game" -HOMEPAGE="https://mdsteele.games/syzygy/" -SRC_URI=" - https://github.com/mdsteele/syzygy/archive/v${PV}.tar.gz - -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - -LICENSE="GPL-3+" -LICENSE+=" ISC MIT ZLIB" # crates -LICENSE+=" BSD" # non-automated extra -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND="media-libs/libsdl2[sound,video]" -DEPEND="${RDEPEND}" -BDEPEND=">=virtual/rust-1.60" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_configure() { - local myfeatures=( embed_rsrc ) - - cargo_src_configure -} - -src_install() { - cargo_src_install - - make_desktop_entry ${PN} "System Syzygy" - local s - for s in 32 128 512; do - newicon -s ${s} data/icon/${s}x${s}.png ${PN}.png - done -} diff --git a/games-rpg/rpg-cli/rpg-cli-1.2.0-r1.ebuild b/games-rpg/rpg-cli/rpg-cli-1.2.0-r1.ebuild new file mode 100644 index 000000000000..c648c2412b5e --- /dev/null +++ b/games-rpg/rpg-cli/rpg-cli-1.2.0-r1.ebuild @@ -0,0 +1,122 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + 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 + autocfg@1.3.0 + bincode@1.3.3 + bitflags@2.6.0 + byteorder@1.5.0 + cfg-if@1.0.0 + clap@4.5.18 + clap_builder@4.5.18 + clap_derive@4.5.18 + clap_lex@0.7.2 + colorchoice@1.0.2 + colored@2.1.0 + ctor@0.1.26 + dirs-sys@0.3.7 + dirs@4.0.0 + dunce@1.0.5 + erased-serde@0.3.31 + getrandom@0.2.15 + ghost@0.1.17 + hashbrown@0.12.3 + heck@0.4.1 + heck@0.5.0 + indexmap@1.9.3 + inventory@0.2.3 + is_terminal_polyfill@1.70.1 + itoa@1.0.11 + lazy_static@1.5.0 + libc@0.2.158 + libredox@0.1.3 + linked-hash-map@0.5.6 + memchr@2.7.4 + once_cell@1.19.0 + ppv-lite86@0.2.20 + proc-macro2@1.0.86 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_users@0.4.6 + rustversion@1.0.17 + ryu@1.0.18 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.128 + serde_yaml@0.8.26 + strsim@0.11.1 + strum@0.24.1 + strum_macros@0.24.3 + syn@1.0.109 + syn@2.0.77 + thiserror-impl@1.0.64 + thiserror@1.0.64 + typetag-impl@0.1.8 + typetag@0.1.8 + unicode-ident@1.0.13 + utf8parse@0.2.2 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-sys@0.52.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 + yaml-rust@0.4.5 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo + +DESCRIPTION="Terminal game, your filesystem as a dungeon" +HOMEPAGE="https://github.com/facundoolano/rpg-cli" +SRC_URI="https://github.com/facundoolano/rpg-cli/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="" +# Dependent crate licenses +LICENSE+=" + MIT MPL-2.0 Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) + || ( Apache-2.0 CC0-1.0 MIT-0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~ppc64" + +QA_FLAGS_IGNORED="usr/bin/rpg-cli" + +src_install() { + cargo_src_install + dodoc README.md + newdoc shell/README.md README-shell.md +} diff --git a/games-rpg/rpg-cli/rpg-cli-1.2.0.ebuild b/games-rpg/rpg-cli/rpg-cli-1.2.0.ebuild deleted file mode 100644 index c648c2412b5e..000000000000 --- a/games-rpg/rpg-cli/rpg-cli-1.2.0.ebuild +++ /dev/null @@ -1,122 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - 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 - autocfg@1.3.0 - bincode@1.3.3 - bitflags@2.6.0 - byteorder@1.5.0 - cfg-if@1.0.0 - clap@4.5.18 - clap_builder@4.5.18 - clap_derive@4.5.18 - clap_lex@0.7.2 - colorchoice@1.0.2 - colored@2.1.0 - ctor@0.1.26 - dirs-sys@0.3.7 - dirs@4.0.0 - dunce@1.0.5 - erased-serde@0.3.31 - getrandom@0.2.15 - ghost@0.1.17 - hashbrown@0.12.3 - heck@0.4.1 - heck@0.5.0 - indexmap@1.9.3 - inventory@0.2.3 - is_terminal_polyfill@1.70.1 - itoa@1.0.11 - lazy_static@1.5.0 - libc@0.2.158 - libredox@0.1.3 - linked-hash-map@0.5.6 - memchr@2.7.4 - once_cell@1.19.0 - ppv-lite86@0.2.20 - proc-macro2@1.0.86 - quote@1.0.37 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redox_users@0.4.6 - rustversion@1.0.17 - ryu@1.0.18 - serde@1.0.210 - serde_derive@1.0.210 - serde_json@1.0.128 - serde_yaml@0.8.26 - strsim@0.11.1 - strum@0.24.1 - strum_macros@0.24.3 - syn@1.0.109 - syn@2.0.77 - thiserror-impl@1.0.64 - thiserror@1.0.64 - typetag-impl@0.1.8 - typetag@0.1.8 - unicode-ident@1.0.13 - utf8parse@0.2.2 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.48.0 - windows-sys@0.52.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 - yaml-rust@0.4.5 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit cargo - -DESCRIPTION="Terminal game, your filesystem as a dungeon" -HOMEPAGE="https://github.com/facundoolano/rpg-cli" -SRC_URI="https://github.com/facundoolano/rpg-cli/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="" -# Dependent crate licenses -LICENSE+=" - MIT MPL-2.0 Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) - || ( Apache-2.0 CC0-1.0 MIT-0 ) -" -SLOT="0" -KEYWORDS="~amd64 ~ppc64" - -QA_FLAGS_IGNORED="usr/bin/rpg-cli" - -src_install() { - cargo_src_install - dodoc README.md - newdoc shell/README.md README-shell.md -} diff --git a/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild b/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild deleted file mode 100644 index e910f14e5bd2..000000000000 --- a/games-strategy/0ad/0ad-0.0.26_alpha-r1.ebuild +++ /dev/null @@ -1,278 +0,0 @@ -# Copyright 2014-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -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 - -DESCRIPTION="A free, real-time strategy game" -HOMEPAGE="https://play0ad.com/" -LICENSE="BitstreamVera CC-BY-SA-3.0 GPL-2 LGPL-2.1 LPPL-1.3c MIT ZLIB" -# Upstream signs releases with app-crypt/minisign which is not supported -# by IUSE="verify-sig", bug #783066. As a workaround the minisign key -# is hardcoded and verifed manually in this ebuild. -# -# The public key can be found upstream - last update was w/ alpha 26: -# https://trac.wildfiregames.com/wiki/VerifyingYourDownloads -MINISIGN_KEY="RWTWLbO12+ig3lUExIor3xd6DdZaYFEozn8Bu8nIzY3ImuRYQszIQyyy" - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/0ad/0ad" - S="${WORKDIR}/${P}" -elif [[ ${PV} == *_pre* ]]; then - ZEROAD_GIT_REVISION="c7d07d3979f969b969211a5e5748fa775f6768a7" - SRC_URI="https://github.com/0ad/0ad/archive/${ZEROAD_GIT_REVISION}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${PN}-${ZEROAD_GIT_REVISION}" -else - # Trailing whitespace for IUSE append below - IUSE="verify-sig " - MY_P="0ad-${PV/_/-}" - SRC_URI=" - http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz - https://releases.wildfiregames.com/${MY_P}-unix-data.tar.xz - verify-sig? ( - http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz.minisig - http://releases.wildfiregames.com/${MY_P}-unix-data.tar.xz.minisig - ) - " - S="${WORKDIR}/${MY_P}" -fi -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" -IUSE+="editor +lobby nvtt pch test" - -RESTRICT="test" -CHECKREQS_DISK_BUILD="9000M" # 8795916 KiB (8.3 GiB) for alpha 26 -CHECKREQS_DISK_USR="3500M" # 3555340 KiB (3.3 GiB) - -# Premake adds '-s' to some LDFLAGS. Simply sed'ing it out leads to -# 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 ) -" - -# For IUSE="verify-sig", see note about SRC_URI block. -if [[ ( ${PV} != *9999 ) && ( ${PV} != *_p* ) ]]; then - BDEPEND+=" app-crypt/minisign" -fi - -# Removed dependency on nvtt as we use the bundled one. -# bug #768930 -DEPEND=" - dev-libs/boost:= - dev-libs/icu:= - dev-libs/libfmt:0= - dev-libs/libsodium:= - dev-libs/libxml2 - media-libs/libpng:0 - media-libs/libsdl2[X,opengl,video] - media-libs/libvorbis - media-libs/openal - net-libs/enet:1.3 - net-libs/miniupnpc:= - net-misc/curl - sys-libs/zlib - virtual/opengl - x11-libs/libX11 - editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) - lobby? ( net-libs/gloox ) -" -RDEPEND=" - ${DEPEND} - !games-strategy/0ad-data -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.0.24b_alpha-respect-tc.patch - "${FILESDIR}"/${PN}-0.0.25b_alpha-fix-setuptools.patch - # https://code.wildfiregames.com/D4997 - "${FILESDIR}"/${P}-add-missing-cstdint-include.patch - # https://code.wildfiregames.com/D5219 - "${FILESDIR}"/${P}-libxml2-2.12.patch - # https://code.wildfiregames.com/D5267 - "${FILESDIR}"/${P}-boost-1.85.patch - "${FILESDIR}"/${P}-miniupnpc.patch -) - -pkg_setup() { - use editor && setup-wxwidgets - - python-any-r1_pkg_setup -} - -src_unpack() { - if [[ ( ${PV} != *9999 ) && ( ${PV} != *_p* ) ]]; then - if use verify-sig; then - elog "Verifying both signatures using app-crypt/minisign." - minisign -V \ - -P "${MINISIGN_KEY}" \ - -x "${DISTDIR}/${MY_P}-unix-build.tar.xz.minisig" \ - -m "${DISTDIR}/${MY_P}-unix-build.tar.xz" \ - || die "Failed to verify engine distfile using minisign!" - minisign -V \ - -P "${MINISIGN_KEY}" \ - -x "${DISTDIR}/${MY_P}-unix-data.tar.xz.minisig" \ - -m "${DISTDIR}/${MY_P}-unix-data.tar.xz" \ - || die "Failed to verify data distfile using minisign!" - fi - # Unpack manually until an eclass supports minisign and unpacks - # if signatures match. - default - else - # Unpack distfiles without checking as this is no official release. - default - fi -} - -src_prepare() { - default - - # https://bugs.gentoo.org/859244 - filter-lto - - # SpiderMonkey's configure no longer recognises --build for - # the build tuple - sed -i -e "/--build/d" libraries/source/spidermonkey/build.sh || die - - # Originally from 0ad-data - rm binaries/data/tools/fontbuilder/fonts/*.txt || die -} - -src_configure() { - # 0AD uses premake:5 to generate the Makefiles, so let's - # 1. configure the configure args, - # 2. export some toolchain args, - # 3. configure premake args, - # 4. run premake5. - local myconf=( - --minimal-flags - $(usex nvtt "" "--without-nvtt") - $(usex pch "" "--without-pch") - $(usex test "" "--without-tests") - $(usex editor "--atlas" "") - $(usex lobby "" "--without-lobby") - --bindir="/usr/bin" - --libdir="/usr/$(get_libdir)"/${PN} - --datadir="/usr/share/${PN}" - ) - - tc-export AR CC CXX RANLIB - - local mypremakeargs=( - --outpath="../workspace/gcc" - --os=linux - --verbose - ) - - cd "${S}/build/premake" || die "Could not enter premake directory" - - /usr/bin/premake5 "${mypremakeargs[@]}" "${myconf[@]}" gmake2 \ - || die "Premake failed" -} - -src_compile() { - # Build 3rd party fcollada - einfo "Building bundled fcollada" - emake -C libraries/source/fcollada/src - - # Build bundled NVTT - # nvtt is abandoned upstream and 0ad has forked it and added fixes. - # Use their copy. bug #768930 - if use nvtt ; then - cd libraries/source/nvtt || die - elog "Building bundled NVTT (bug #768930)" - JOBS="-j$(makeopts_jobs)" ./build.sh || die "Failed to build bundled NVTT" - cd "${S}" || die - fi - - # Build bundled SpiderMonkey - # We really can't use the system SpiderMonkey right now. - # Breakages occur even on minor bumps in upstream SM, - # e.g. bug #768840. - cd libraries/source/spidermonkey || die - elog "Building bundled SpiderMonkey (bug #768840)" - XARGS="${EPREFIX}/usr/bin/xargs" \ - JOBS="-j$(makeopts_jobs)" \ - ./build.sh \ - || die "Failed to build bundled SpiderMonkey" - - cd "${S}" || die - - # Build 0ad itself! - elog "Building 0ad" - JOBS="-j$(makeopts_jobs)" emake -C build/workspace/gcc verbose=1 - - # Build assets - # (We only do this if we're using a snapshot/non-release) - # See bug #771147 (comment 3) and the old 0ad-data ebuild - # Warning: fragile! - if [[ ${PV} == 9999 || ${PV} == *_pre* ]]; then - # source/lib/sysdep/os/linux/ldbg.cpp:debug_SetThreadName() tries to open /proc/self/task/${TID}/comm for writing. - addpredict /proc/self/task - - # Based on source/tools/dist/build-archives.sh used by source/tools/dist/build.sh. - local archivebuild_input archivebuild_output mod_name - for archivebuild_input in binaries/data/mods/[A-Za-z0-9]*; do - mod_name="${archivebuild_input##*/}" - archivebuild_output="archives/${mod_name}" - - mkdir -p "${archivebuild_output}" || die - - einfo pyrogenesis -archivebuild="${archivebuild_input}" -archivebuild-output="${archivebuild_output}/${mod_name}.zip" - LD_LIBRARY_PATH="binaries/system" binaries/system/pyrogenesis \ - -archivebuild="${archivebuild_input}" \ - -archivebuild-output="${archivebuild_output}/${mod_name}.zip" \ - || die "Failed to build assets" - - if [[ -f "${archivebuild_input}/mod.json" ]]; then - cp "${archivebuild_input}/mod.json" "${archivebuild_output}" || die - fi - - rm -r "${archivebuild_input}" || die - mv "${archivebuild_output}" "${archivebuild_input}" || die - done - - # Based on source/tools/dist/build-unix-win32.sh used by source/tools/dist/build.sh. - rm binaries/data/config/dev.cfg || die - rm -r binaries/data/mods/_test.* || die - fi -} - -src_test() { - cd binaries/system || die - ./test -libdir "${S}/binaries/system" || die "Failed tests" -} - -src_install() { - newbin binaries/system/pyrogenesis 0ad - use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor - - # Merged from 0ad-data - # bug #771147 (comment 3) - insinto /usr/share/${PN} - doins -r binaries/data/{l10n,config,mods,tools} - - # Install bundled SpiderMonkey and nvtt - # bug #771147 (comment 1) - exeinto /usr/$(get_libdir)/${PN} - doexe binaries/system/{libCollada,libmozjs78-ps-release}.so - - use nvtt && doexe binaries/system/{libnvtt,libnvcore,libnvimage,libnvmath}.so - use editor && doexe binaries/system/libAtlasUI.so - - dodoc binaries/system/readme.txt - doicon -s 128 build/resources/${PN}.png - make_desktop_entry ${PN} -} diff --git a/games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild b/games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild new file mode 100644 index 000000000000..3f85989916d2 --- /dev/null +++ b/games-strategy/0ad/0ad-0.0.26_alpha-r2.ebuild @@ -0,0 +1,279 @@ +# Copyright 2014-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +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 ) + +# 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/" +LICENSE="BitstreamVera CC-BY-SA-3.0 GPL-2 LGPL-2.1 LPPL-1.3c MIT ZLIB" +# Upstream signs releases with app-crypt/minisign which is not supported +# by IUSE="verify-sig", bug #783066. As a workaround the minisign key +# is hardcoded and verifed manually in this ebuild. +# +# The public key can be found upstream - last update was w/ alpha 26: +# https://trac.wildfiregames.com/wiki/VerifyingYourDownloads +MINISIGN_KEY="RWTWLbO12+ig3lUExIor3xd6DdZaYFEozn8Bu8nIzY3ImuRYQszIQyyy" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/0ad/0ad" + S="${WORKDIR}/${P}" +elif [[ ${PV} == *_pre* ]]; then + ZEROAD_GIT_REVISION="c7d07d3979f969b969211a5e5748fa775f6768a7" + SRC_URI="https://github.com/0ad/0ad/archive/${ZEROAD_GIT_REVISION}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-${ZEROAD_GIT_REVISION}" +else + # Trailing whitespace for IUSE append below + IUSE="verify-sig " + MY_P="0ad-${PV/_/-}" + SRC_URI=" + http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz + https://releases.wildfiregames.com/${MY_P}-unix-data.tar.xz + verify-sig? ( + http://releases.wildfiregames.com/${MY_P}-unix-build.tar.xz.minisig + http://releases.wildfiregames.com/${MY_P}-unix-data.tar.xz.minisig + ) + " + S="${WORKDIR}/${MY_P}" +fi +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE+="editor +lobby nvtt pch test" + +RESTRICT="test" +CHECKREQS_DISK_BUILD="9000M" # 8795916 KiB (8.3 GiB) for alpha 26 +CHECKREQS_DISK_USR="3500M" # 3555340 KiB (3.3 GiB) + +# Premake adds '-s' to some LDFLAGS. Simply sed'ing it out leads to +# build and/or startup issues. +QA_PRESTRIPPED="/usr/lib64/0ad/libCollada.so /usr/bin/0ad" + +# Build-time Python dependency is for SM, too. +BDEPEND=" + ${PYTHON_DEPS} + >=dev-util/premake-5.0.0_alpha12:5 + virtual/pkgconfig + test? ( dev-lang/perl ) +" + +# For IUSE="verify-sig", see note about SRC_URI block. +if [[ ( ${PV} != *9999 ) && ( ${PV} != *_p* ) ]]; then + BDEPEND+=" app-crypt/minisign" +fi + +# Removed dependency on nvtt as we use the bundled one. +# bug #768930 +DEPEND=" + dev-libs/boost:= + dev-libs/icu:= + dev-libs/libfmt:0= + dev-libs/libsodium:= + dev-libs/libxml2 + media-libs/libpng:0 + media-libs/libsdl2[X,opengl,video] + media-libs/libvorbis + media-libs/openal + net-libs/enet:1.3 + net-libs/miniupnpc:= + net-misc/curl + sys-libs/zlib + virtual/opengl + x11-libs/libX11 + editor? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] ) + lobby? ( net-libs/gloox ) +" +RDEPEND=" + ${DEPEND} + !games-strategy/0ad-data +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.0.24b_alpha-respect-tc.patch + "${FILESDIR}"/${PN}-0.0.25b_alpha-fix-setuptools.patch + # https://code.wildfiregames.com/D4997 + "${FILESDIR}"/${P}-add-missing-cstdint-include.patch + # https://code.wildfiregames.com/D5219 + "${FILESDIR}"/${P}-libxml2-2.12.patch + # https://code.wildfiregames.com/D5267 + "${FILESDIR}"/${P}-boost-1.85.patch + "${FILESDIR}"/${P}-miniupnpc.patch +) + +pkg_setup() { + use editor && setup-wxwidgets + + python-any-r1_pkg_setup + rust_pkg_setup +} + +src_unpack() { + if [[ ( ${PV} != *9999 ) && ( ${PV} != *_p* ) ]]; then + if use verify-sig; then + elog "Verifying both signatures using app-crypt/minisign." + minisign -V \ + -P "${MINISIGN_KEY}" \ + -x "${DISTDIR}/${MY_P}-unix-build.tar.xz.minisig" \ + -m "${DISTDIR}/${MY_P}-unix-build.tar.xz" \ + || die "Failed to verify engine distfile using minisign!" + minisign -V \ + -P "${MINISIGN_KEY}" \ + -x "${DISTDIR}/${MY_P}-unix-data.tar.xz.minisig" \ + -m "${DISTDIR}/${MY_P}-unix-data.tar.xz" \ + || die "Failed to verify data distfile using minisign!" + fi + # Unpack manually until an eclass supports minisign and unpacks + # if signatures match. + default + else + # Unpack distfiles without checking as this is no official release. + default + fi +} + +src_prepare() { + default + + # https://bugs.gentoo.org/859244 + filter-lto + + # SpiderMonkey's configure no longer recognises --build for + # the build tuple + sed -i -e "/--build/d" libraries/source/spidermonkey/build.sh || die + + # Originally from 0ad-data + rm binaries/data/tools/fontbuilder/fonts/*.txt || die +} + +src_configure() { + # 0AD uses premake:5 to generate the Makefiles, so let's + # 1. configure the configure args, + # 2. export some toolchain args, + # 3. configure premake args, + # 4. run premake5. + local myconf=( + --minimal-flags + $(usex nvtt "" "--without-nvtt") + $(usex pch "" "--without-pch") + $(usex test "" "--without-tests") + $(usex editor "--atlas" "") + $(usex lobby "" "--without-lobby") + --bindir="/usr/bin" + --libdir="/usr/$(get_libdir)"/${PN} + --datadir="/usr/share/${PN}" + ) + + tc-export AR CC CXX RANLIB + + local mypremakeargs=( + --outpath="../workspace/gcc" + --os=linux + --verbose + ) + + cd "${S}/build/premake" || die "Could not enter premake directory" + + /usr/bin/premake5 "${mypremakeargs[@]}" "${myconf[@]}" gmake2 \ + || die "Premake failed" +} + +src_compile() { + # Build 3rd party fcollada + einfo "Building bundled fcollada" + emake -C libraries/source/fcollada/src + + # Build bundled NVTT + # nvtt is abandoned upstream and 0ad has forked it and added fixes. + # Use their copy. bug #768930 + if use nvtt ; then + cd libraries/source/nvtt || die + elog "Building bundled NVTT (bug #768930)" + JOBS="-j$(makeopts_jobs)" ./build.sh || die "Failed to build bundled NVTT" + cd "${S}" || die + fi + + # Build bundled SpiderMonkey + # We really can't use the system SpiderMonkey right now. + # Breakages occur even on minor bumps in upstream SM, + # e.g. bug #768840. + cd libraries/source/spidermonkey || die + elog "Building bundled SpiderMonkey (bug #768840)" + XARGS="${EPREFIX}/usr/bin/xargs" \ + JOBS="-j$(makeopts_jobs)" \ + ./build.sh \ + || die "Failed to build bundled SpiderMonkey" + + cd "${S}" || die + + # Build 0ad itself! + elog "Building 0ad" + JOBS="-j$(makeopts_jobs)" emake -C build/workspace/gcc verbose=1 + + # Build assets + # (We only do this if we're using a snapshot/non-release) + # See bug #771147 (comment 3) and the old 0ad-data ebuild + # Warning: fragile! + if [[ ${PV} == 9999 || ${PV} == *_pre* ]]; then + # source/lib/sysdep/os/linux/ldbg.cpp:debug_SetThreadName() tries to open /proc/self/task/${TID}/comm for writing. + addpredict /proc/self/task + + # Based on source/tools/dist/build-archives.sh used by source/tools/dist/build.sh. + local archivebuild_input archivebuild_output mod_name + for archivebuild_input in binaries/data/mods/[A-Za-z0-9]*; do + mod_name="${archivebuild_input##*/}" + archivebuild_output="archives/${mod_name}" + + mkdir -p "${archivebuild_output}" || die + + einfo pyrogenesis -archivebuild="${archivebuild_input}" -archivebuild-output="${archivebuild_output}/${mod_name}.zip" + LD_LIBRARY_PATH="binaries/system" binaries/system/pyrogenesis \ + -archivebuild="${archivebuild_input}" \ + -archivebuild-output="${archivebuild_output}/${mod_name}.zip" \ + || die "Failed to build assets" + + if [[ -f "${archivebuild_input}/mod.json" ]]; then + cp "${archivebuild_input}/mod.json" "${archivebuild_output}" || die + fi + + rm -r "${archivebuild_input}" || die + mv "${archivebuild_output}" "${archivebuild_input}" || die + done + + # Based on source/tools/dist/build-unix-win32.sh used by source/tools/dist/build.sh. + rm binaries/data/config/dev.cfg || die + rm -r binaries/data/mods/_test.* || die + fi +} + +src_test() { + cd binaries/system || die + ./test -libdir "${S}/binaries/system" || die "Failed tests" +} + +src_install() { + newbin binaries/system/pyrogenesis 0ad + use editor && newbin binaries/system/ActorEditor 0ad-ActorEditor + + # Merged from 0ad-data + # bug #771147 (comment 3) + insinto /usr/share/${PN} + doins -r binaries/data/{l10n,config,mods,tools} + + # Install bundled SpiderMonkey and nvtt + # bug #771147 (comment 1) + exeinto /usr/$(get_libdir)/${PN} + doexe binaries/system/{libCollada,libmozjs78-ps-release}.so + + use nvtt && doexe binaries/system/{libnvtt,libnvcore,libnvimage,libnvmath}.so + use editor && doexe binaries/system/libAtlasUI.so + + dodoc binaries/system/readme.txt + doicon -s 128 build/resources/${PN}.png + make_desktop_entry ${PN} +} 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-r1.ebuild b/gnome-base/librsvg/librsvg-2.57.3-r1.ebuild new file mode 100644 index 000000000000..f6643f2a0d2d --- /dev/null +++ b/gnome-base/librsvg/librsvg-2.57.3-r1.ebuild @@ -0,0 +1,391 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..12} ) + +CRATES=" + adler@1.0.2 + aho-corasick@1.1.2 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anes@0.1.6 + anstream@0.6.5 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.4 + anyhow@1.0.75 + approx@0.5.1 + assert_cmd@2.0.12 + autocfg@1.1.0 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.4.1 + block@0.1.6 + bstr@1.8.0 + bumpalo@3.14.0 + bytemuck@1.14.0 + byteorder@1.5.0 + cairo-rs@0.18.3 + cairo-sys-rs@0.18.2 + cast@0.3.0 + cc@1.0.83 + cfg-expr@0.15.5 + cfg-if@1.0.0 + chrono@0.4.31 + ciborium-io@0.2.1 + ciborium-ll@0.2.1 + ciborium@0.2.1 + clap@4.4.11 + clap_builder@4.4.11 + clap_complete@4.4.4 + clap_derive@4.4.7 + clap_lex@0.6.0 + colorchoice@1.0.0 + const-cstr@0.3.0 + core-foundation-sys@0.8.6 + crc32fast@1.3.2 + criterion-plot@0.5.0 + criterion@0.5.1 + crossbeam-deque@0.8.4 + crossbeam-epoch@0.9.16 + crossbeam-utils@0.8.17 + cssparser-macros@0.6.1 + cssparser@0.31.2 + cstr@0.2.11 + data-url@0.3.1 + deranged@0.3.10 + derive_more@0.99.17 + difflib@0.4.0 + dlib@0.5.2 + doc-comment@0.3.3 + dtoa-short@0.3.4 + dtoa@1.0.9 + either@1.9.0 + encoding_rs@0.8.33 + equivalent@1.0.1 + errno@0.3.8 + fastrand@2.0.1 + fdeflate@0.3.1 + flate2@1.0.28 + float-cmp@0.9.0 + fnv@1.0.7 + form_urlencoded@1.2.1 + futf@0.1.5 + futures-channel@0.3.29 + futures-core@0.3.29 + futures-executor@0.3.29 + futures-io@0.3.29 + futures-macro@0.3.29 + futures-task@0.3.29 + futures-util@0.3.29 + fxhash@0.2.1 + gdk-pixbuf-sys@0.18.0 + gdk-pixbuf@0.18.3 + getrandom@0.2.11 + gio-sys@0.18.1 + gio@0.18.4 + glib-macros@0.18.3 + glib-sys@0.18.1 + glib@0.18.4 + gobject-sys@0.18.0 + half@1.8.2 + hashbrown@0.14.3 + heck@0.4.1 + hermit-abi@0.3.3 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.58 + idna@0.5.0 + indexmap@2.1.0 + is-terminal@0.4.9 + itertools@0.10.5 + itertools@0.11.0 + itoa@1.0.10 + js-sys@0.3.66 + language-tags@0.3.2 + lazy_static@1.4.0 + libc@0.2.151 + libloading@0.8.1 + libm@0.2.8 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.12 + locale_config@0.3.0 + lock_api@0.4.11 + log@0.4.20 + lopdf@0.31.0 + mac@0.1.1 + malloc_buf@0.0.6 + markup5ever@0.11.0 + matches@0.1.10 + matrixmultiply@0.3.8 + md5@0.7.0 + memchr@2.6.4 + memoffset@0.9.0 + minimal-lexical@0.2.1 + miniz_oxide@0.7.1 + nalgebra-macros@0.2.1 + nalgebra@0.32.3 + new_debug_unreachable@1.0.4 + nom@7.1.3 + normalize-line-endings@0.3.0 + num-complex@0.4.4 + num-integer@0.1.45 + num-rational@0.4.1 + num-traits@0.2.17 + objc-foundation@0.1.1 + objc@0.2.7 + objc_id@0.1.1 + once_cell@1.19.0 + oorandom@11.1.3 + pango-sys@0.18.0 + pango@0.18.3 + pangocairo-sys@0.18.0 + pangocairo@0.18.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + paste@1.0.14 + percent-encoding@2.3.1 + phf@0.10.1 + phf@0.11.2 + phf_codegen@0.10.0 + phf_generator@0.10.0 + phf_generator@0.11.2 + phf_macros@0.11.2 + phf_shared@0.10.0 + phf_shared@0.11.2 + pin-project-lite@0.2.13 + pin-utils@0.1.0 + pkg-config@0.3.27 + plotters-backend@0.3.5 + plotters-svg@0.3.5 + plotters@0.3.5 + png@0.17.10 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.0.4 + proc-macro-crate@2.0.1 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.70 + proptest@1.4.0 + quick-error@1.2.3 + quick-error@2.0.1 + quote@1.0.33 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_xorshift@0.3.0 + rawpointer@0.2.1 + rayon-core@1.12.0 + rayon@1.8.0 + rctree@0.5.0 + redox_syscall@0.4.1 + regex-automata@0.4.3 + regex-syntax@0.8.2 + regex@1.10.2 + rgb@0.8.37 + rustix@0.38.28 + rusty-fork@0.3.0 + ryu@1.0.16 + safe_arch@0.7.1 + same-file@1.0.6 + scopeguard@1.2.0 + selectors@0.25.0 + serde@1.0.193 + serde_derive@1.0.193 + serde_json@1.0.108 + serde_spanned@0.6.4 + servo_arc@0.3.0 + simba@0.8.1 + simd-adler32@0.3.7 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.11.2 + stable_deref_trait@1.2.0 + string_cache@0.8.7 + string_cache_codegen@0.5.2 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.41 + system-deps@6.2.0 + target-lexicon@0.12.12 + tempfile@3.8.1 + tendril@0.4.3 + termtree@0.4.1 + thiserror-impl@1.0.50 + thiserror@1.0.50 + time-core@0.1.2 + time-macros@0.2.15 + time@0.3.30 + tinytemplate@1.2.1 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.8.2 + toml_datetime@0.6.3 + toml_edit@0.20.2 + typenum@1.17.0 + unarray@0.1.4 + unicode-bidi@0.3.14 + unicode-ident@1.0.12 + unicode-normalization@0.1.22 + url@2.5.0 + utf-8@0.7.6 + utf8parse@0.2.1 + version-compare@0.1.1 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.4.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.89 + wasm-bindgen-macro-support@0.2.89 + wasm-bindgen-macro@0.2.89 + wasm-bindgen-shared@0.2.89 + wasm-bindgen@0.2.89 + web-sys@0.3.66 + weezl@0.1.7 + wide@0.7.13 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.51.1 + 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.28 + xml5ever@0.17.0 + yeslogic-fontconfig-sys@4.0.1 +" + +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" +SRC_URI+=" ${CARGO_CRATE_URIS}" + +LICENSE="LGPL-2.1+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 + Unicode-DFS-2016 +" + +SLOT="2" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" + +IUSE="gtk-doc +introspection +vala" +REQUIRED_USE=" + gtk-doc? ( introspection ) + vala? ( introspection ) +" + +RDEPEND=" + >=x11-libs/cairo-1.17.0[glib,svg(+),${MULTILIB_USEDEP}] + >=media-libs/freetype-2.9:2[${MULTILIB_USEDEP}] + >=x11-libs/gdk-pixbuf-2.20:2[introspection?,${MULTILIB_USEDEP}] + >=dev-libs/glib-2.50.0:2[${MULTILIB_USEDEP}] + >=media-libs/harfbuzz-2.0.0:=[${MULTILIB_USEDEP}] + >=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}] + >=x11-libs/pango-1.50.0[${MULTILIB_USEDEP}] + + introspection? ( >=dev-libs/gobject-introspection-0.10.8:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + x11-libs/gdk-pixbuf + ${PYTHON_DEPS} + $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') + gtk-doc? ( dev-util/gi-docgen ) + virtual/pkgconfig + vala? ( $(vala_depend) ) + + dev-libs/gobject-introspection-common + dev-libs/vala-common +" +# dev-libs/gobject-introspection-common, dev-libs/vala-common needed by eautoreconf + +QA_FLAGS_IGNORED=" + usr/bin/rsvg-convert + usr/lib.*/librsvg.* +" + +src_prepare() { + use vala && vala_setup + gnome2_src_prepare +} + +multilib_src_configure() { + local myconf=( + --disable-static + --disable-debug + $(multilib_native_use_enable gtk-doc) + $(multilib_native_use_enable introspection) + $(multilib_native_use_enable vala) + --enable-pixbuf-loader + ) + + if ! multilib_is_native_abi; then + myconf+=( + # Set the rust target, which can differ from CHOST + RUST_TARGET="$(rust_abi)" + # RUST_TARGET is only honored if cross_compiling, but non-native ABIs aren't cross as + # far as C parts and configure auto-detection are concerned as CHOST equals CBUILD + cross_compiling=yes + ) + fi + + ECONF_SOURCE=${S} \ + gnome2_src_configure "${myconf[@]}" + + if multilib_is_native_abi; then + ln -s "${S}"/doc/html doc/html || die + fi +} + +multilib_src_compile() { + gnome2_src_compile +} + +multilib_src_install() { + gnome2_src_install +} + +multilib_src_install_all() { + find "${ED}" -name '*.la' -delete || die + + if use gtk-doc; then + mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die + mv "${ED}"/usr/share/doc/Rsvg-2.0 "${ED}"/usr/share/gtk-doc/html/ || die + fi +} + +pkg_postinst() { + multilib_foreach_abi gnome2_pkg_postinst +} + +pkg_postrm() { + multilib_foreach_abi gnome2_pkg_postrm +} diff --git a/gnome-base/librsvg/librsvg-2.57.3.ebuild b/gnome-base/librsvg/librsvg-2.57.3.ebuild deleted file mode 100644 index f58cadb63b5c..000000000000 --- a/gnome-base/librsvg/librsvg-2.57.3.ebuild +++ /dev/null @@ -1,389 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) - -CRATES=" - adler@1.0.2 - aho-corasick@1.1.2 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anes@0.1.6 - anstream@0.6.5 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.4 - anyhow@1.0.75 - approx@0.5.1 - assert_cmd@2.0.12 - autocfg@1.1.0 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.4.1 - block@0.1.6 - bstr@1.8.0 - bumpalo@3.14.0 - bytemuck@1.14.0 - byteorder@1.5.0 - cairo-rs@0.18.3 - cairo-sys-rs@0.18.2 - cast@0.3.0 - cc@1.0.83 - cfg-expr@0.15.5 - cfg-if@1.0.0 - chrono@0.4.31 - ciborium-io@0.2.1 - ciborium-ll@0.2.1 - ciborium@0.2.1 - clap@4.4.11 - clap_builder@4.4.11 - clap_complete@4.4.4 - clap_derive@4.4.7 - clap_lex@0.6.0 - colorchoice@1.0.0 - const-cstr@0.3.0 - core-foundation-sys@0.8.6 - crc32fast@1.3.2 - criterion-plot@0.5.0 - criterion@0.5.1 - crossbeam-deque@0.8.4 - crossbeam-epoch@0.9.16 - crossbeam-utils@0.8.17 - cssparser-macros@0.6.1 - cssparser@0.31.2 - cstr@0.2.11 - data-url@0.3.1 - deranged@0.3.10 - derive_more@0.99.17 - difflib@0.4.0 - dlib@0.5.2 - doc-comment@0.3.3 - dtoa-short@0.3.4 - dtoa@1.0.9 - either@1.9.0 - encoding_rs@0.8.33 - equivalent@1.0.1 - errno@0.3.8 - fastrand@2.0.1 - fdeflate@0.3.1 - flate2@1.0.28 - float-cmp@0.9.0 - fnv@1.0.7 - form_urlencoded@1.2.1 - futf@0.1.5 - futures-channel@0.3.29 - futures-core@0.3.29 - futures-executor@0.3.29 - futures-io@0.3.29 - futures-macro@0.3.29 - futures-task@0.3.29 - futures-util@0.3.29 - fxhash@0.2.1 - gdk-pixbuf-sys@0.18.0 - gdk-pixbuf@0.18.3 - getrandom@0.2.11 - gio-sys@0.18.1 - gio@0.18.4 - glib-macros@0.18.3 - glib-sys@0.18.1 - glib@0.18.4 - gobject-sys@0.18.0 - half@1.8.2 - hashbrown@0.14.3 - heck@0.4.1 - hermit-abi@0.3.3 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.58 - idna@0.5.0 - indexmap@2.1.0 - is-terminal@0.4.9 - itertools@0.10.5 - itertools@0.11.0 - itoa@1.0.10 - js-sys@0.3.66 - language-tags@0.3.2 - lazy_static@1.4.0 - libc@0.2.151 - libloading@0.8.1 - libm@0.2.8 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.12 - locale_config@0.3.0 - lock_api@0.4.11 - log@0.4.20 - lopdf@0.31.0 - mac@0.1.1 - malloc_buf@0.0.6 - markup5ever@0.11.0 - matches@0.1.10 - matrixmultiply@0.3.8 - md5@0.7.0 - memchr@2.6.4 - memoffset@0.9.0 - minimal-lexical@0.2.1 - miniz_oxide@0.7.1 - nalgebra-macros@0.2.1 - nalgebra@0.32.3 - new_debug_unreachable@1.0.4 - nom@7.1.3 - normalize-line-endings@0.3.0 - num-complex@0.4.4 - num-integer@0.1.45 - num-rational@0.4.1 - num-traits@0.2.17 - objc-foundation@0.1.1 - objc@0.2.7 - objc_id@0.1.1 - once_cell@1.19.0 - oorandom@11.1.3 - pango-sys@0.18.0 - pango@0.18.3 - pangocairo-sys@0.18.0 - pangocairo@0.18.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - paste@1.0.14 - percent-encoding@2.3.1 - phf@0.10.1 - phf@0.11.2 - phf_codegen@0.10.0 - phf_generator@0.10.0 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.10.0 - phf_shared@0.11.2 - pin-project-lite@0.2.13 - pin-utils@0.1.0 - pkg-config@0.3.27 - plotters-backend@0.3.5 - plotters-svg@0.3.5 - plotters@0.3.5 - png@0.17.10 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.0.4 - proc-macro-crate@2.0.1 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.70 - proptest@1.4.0 - quick-error@1.2.3 - quick-error@2.0.1 - quote@1.0.33 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_xorshift@0.3.0 - rawpointer@0.2.1 - rayon-core@1.12.0 - rayon@1.8.0 - rctree@0.5.0 - redox_syscall@0.4.1 - regex-automata@0.4.3 - regex-syntax@0.8.2 - regex@1.10.2 - rgb@0.8.37 - rustix@0.38.28 - rusty-fork@0.3.0 - ryu@1.0.16 - safe_arch@0.7.1 - same-file@1.0.6 - scopeguard@1.2.0 - selectors@0.25.0 - serde@1.0.193 - serde_derive@1.0.193 - serde_json@1.0.108 - serde_spanned@0.6.4 - servo_arc@0.3.0 - simba@0.8.1 - simd-adler32@0.3.7 - siphasher@0.3.11 - slab@0.4.9 - smallvec@1.11.2 - stable_deref_trait@1.2.0 - string_cache@0.8.7 - string_cache_codegen@0.5.2 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.41 - system-deps@6.2.0 - target-lexicon@0.12.12 - tempfile@3.8.1 - tendril@0.4.3 - termtree@0.4.1 - thiserror-impl@1.0.50 - thiserror@1.0.50 - time-core@0.1.2 - time-macros@0.2.15 - time@0.3.30 - tinytemplate@1.2.1 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - toml@0.8.2 - toml_datetime@0.6.3 - toml_edit@0.20.2 - typenum@1.17.0 - unarray@0.1.4 - unicode-bidi@0.3.14 - unicode-ident@1.0.12 - unicode-normalization@0.1.22 - url@2.5.0 - utf-8@0.7.6 - utf8parse@0.2.1 - version-compare@0.1.1 - version_check@0.9.4 - wait-timeout@0.2.0 - walkdir@2.4.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.89 - wasm-bindgen-macro-support@0.2.89 - wasm-bindgen-macro@0.2.89 - wasm-bindgen-shared@0.2.89 - wasm-bindgen@0.2.89 - web-sys@0.3.66 - weezl@0.1.7 - wide@0.7.13 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.51.1 - 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.28 - xml5ever@0.17.0 - yeslogic-fontconfig-sys@4.0.1 -" - -inherit cargo gnome2 multilib-minimal 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" -SRC_URI+=" ${CARGO_CRATE_URIS}" - -LICENSE="LGPL-2.1+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 - Unicode-DFS-2016 -" - -SLOT="2" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86" - -IUSE="gtk-doc +introspection +vala" -REQUIRED_USE=" - gtk-doc? ( introspection ) - vala? ( introspection ) -" - -RDEPEND=" - >=x11-libs/cairo-1.17.0[glib,svg(+),${MULTILIB_USEDEP}] - >=media-libs/freetype-2.9:2[${MULTILIB_USEDEP}] - >=x11-libs/gdk-pixbuf-2.20:2[introspection?,${MULTILIB_USEDEP}] - >=dev-libs/glib-2.50.0:2[${MULTILIB_USEDEP}] - >=media-libs/harfbuzz-2.0.0:=[${MULTILIB_USEDEP}] - >=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}] - >=x11-libs/pango-1.50.0[${MULTILIB_USEDEP}] - - introspection? ( >=dev-libs/gobject-introspection-0.10.8:= ) -" -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}]') - gtk-doc? ( dev-util/gi-docgen ) - virtual/pkgconfig - vala? ( $(vala_depend) ) - - dev-libs/gobject-introspection-common - dev-libs/vala-common -" -# dev-libs/gobject-introspection-common, dev-libs/vala-common needed by eautoreconf - -QA_FLAGS_IGNORED=" - usr/bin/rsvg-convert - usr/lib.*/librsvg.* -" - -src_prepare() { - use vala && vala_setup - gnome2_src_prepare -} - -multilib_src_configure() { - local myconf=( - --disable-static - --disable-debug - $(multilib_native_use_enable gtk-doc) - $(multilib_native_use_enable introspection) - $(multilib_native_use_enable vala) - --enable-pixbuf-loader - ) - - if ! multilib_is_native_abi; then - myconf+=( - # Set the rust target, which can differ from CHOST - RUST_TARGET="$(rust_abi)" - # RUST_TARGET is only honored if cross_compiling, but non-native ABIs aren't cross as - # far as C parts and configure auto-detection are concerned as CHOST equals CBUILD - cross_compiling=yes - ) - fi - - ECONF_SOURCE=${S} \ - gnome2_src_configure "${myconf[@]}" - - if multilib_is_native_abi; then - ln -s "${S}"/doc/html doc/html || die - fi -} - -multilib_src_compile() { - gnome2_src_compile -} - -multilib_src_install() { - gnome2_src_install -} - -multilib_src_install_all() { - find "${ED}" -name '*.la' -delete || die - - if use gtk-doc; then - mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die - mv "${ED}"/usr/share/doc/Rsvg-2.0 "${ED}"/usr/share/gtk-doc/html/ || die - fi -} - -pkg_postinst() { - multilib_foreach_abi gnome2_pkg_postinst -} - -pkg_postrm() { - multilib_foreach_abi gnome2_pkg_postrm -} diff --git a/gnome-base/librsvg/librsvg-2.58.2-r1.ebuild b/gnome-base/librsvg/librsvg-2.58.2-r1.ebuild new file mode 100644 index 000000000000..68c84dd678aa --- /dev/null +++ b/gnome-base/librsvg/librsvg-2.58.2-r1.ebuild @@ -0,0 +1,408 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{10..13} ) + +CRATES=" + adler@1.0.2 + aho-corasick@1.1.2 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anes@0.1.6 + anstream@0.6.11 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + anyhow@1.0.79 + approx@0.5.1 + assert_cmd@2.0.13 + autocfg@1.1.0 + bit-set@0.5.3 + bit-vec@0.6.3 + bit_field@0.10.2 + bitflags@1.3.2 + bitflags@2.4.2 + block@0.1.6 + bstr@1.9.0 + bumpalo@3.14.0 + bytemuck@1.14.2 + byteorder@1.5.0 + cairo-rs@0.19.1 + cairo-sys-rs@0.19.1 + cast@0.3.0 + cc@1.0.83 + cfg-expr@0.15.6 + cfg-if@1.0.0 + chrono@0.4.33 + ciborium-io@0.2.2 + ciborium-ll@0.2.2 + ciborium@0.2.2 + clap@4.4.18 + clap_builder@4.4.18 + clap_complete@4.4.10 + clap_derive@4.4.7 + clap_lex@0.6.0 + color_quant@1.1.0 + colorchoice@1.0.0 + const-cstr@0.3.0 + core-foundation-sys@0.8.6 + crc32fast@1.3.2 + criterion-plot@0.5.0 + criterion@0.5.1 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.19 + crunchy@0.2.2 + cssparser-macros@0.6.1 + cssparser@0.31.2 + cstr@0.2.11 + data-url@0.3.1 + deranged@0.3.11 + derive_more@0.99.17 + difflib@0.4.0 + dlib@0.5.2 + doc-comment@0.3.3 + dtoa-short@0.3.4 + dtoa@1.0.9 + either@1.9.0 + encoding_rs@0.8.33 + equivalent@1.0.1 + errno@0.3.8 + exr@1.72.0 + fastrand@2.0.1 + fdeflate@0.3.4 + flate2@1.0.28 + float-cmp@0.9.0 + flume@0.11.0 + fnv@1.0.7 + form_urlencoded@1.2.1 + futf@0.1.5 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + fxhash@0.2.1 + gdk-pixbuf-sys@0.19.0 + gdk-pixbuf@0.19.0 + getrandom@0.2.12 + gif@0.12.0 + gio-sys@0.19.0 + gio@0.19.0 + glib-macros@0.19.0 + glib-sys@0.19.0 + glib@0.19.0 + gobject-sys@0.19.0 + half@2.3.1 + hashbrown@0.14.3 + heck@0.4.1 + hermit-abi@0.3.5 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + idna@0.5.0 + image@0.24.8 + indexmap@2.2.2 + is-terminal@0.4.10 + itertools@0.10.5 + itertools@0.12.1 + itoa@1.0.10 + jpeg-decoder@0.3.1 + js-sys@0.3.68 + language-tags@0.3.2 + lazy_static@1.4.0 + lebe@0.5.2 + libc@0.2.153 + libloading@0.8.1 + libm@0.2.8 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.13 + locale_config@0.3.0 + lock_api@0.4.11 + log@0.4.20 + lopdf@0.32.0 + mac@0.1.1 + malloc_buf@0.0.6 + markup5ever@0.11.0 + matches@0.1.10 + matrixmultiply@0.3.8 + md5@0.7.0 + memchr@2.7.1 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + nalgebra-macros@0.2.1 + nalgebra@0.32.3 + new_debug_unreachable@1.0.4 + nom@7.1.3 + normalize-line-endings@0.3.0 + num-complex@0.4.5 + num-conv@0.1.0 + num-integer@0.1.46 + num-rational@0.4.1 + num-traits@0.2.18 + objc-foundation@0.1.1 + objc@0.2.7 + objc_id@0.1.1 + once_cell@1.19.0 + oorandom@11.1.3 + pango-sys@0.19.0 + pango@0.19.0 + pangocairo-sys@0.19.0 + pangocairo@0.19.1 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + paste@1.0.14 + percent-encoding@2.3.1 + phf@0.10.1 + phf@0.11.2 + phf_codegen@0.10.0 + phf_generator@0.10.0 + phf_generator@0.11.2 + phf_macros@0.11.2 + phf_shared@0.10.0 + phf_shared@0.11.2 + pin-project-lite@0.2.13 + pin-utils@0.1.0 + pkg-config@0.3.29 + plotters-backend@0.3.5 + plotters-svg@0.3.5 + plotters@0.3.5 + png@0.17.11 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + precomputed-hash@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + proc-macro-crate@3.1.0 + proc-macro2@1.0.78 + proptest@1.4.0 + qoi@0.4.1 + quick-error@1.2.3 + quick-error@2.0.1 + quote@1.0.35 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_xorshift@0.3.0 + rawpointer@0.2.1 + rayon-core@1.12.1 + rayon@1.8.1 + rctree@0.6.0 + redox_syscall@0.4.1 + regex-automata@0.4.5 + regex-syntax@0.8.2 + regex@1.10.3 + rgb@0.8.37 + rustix@0.38.31 + rusty-fork@0.3.0 + ryu@1.0.16 + safe_arch@0.7.1 + same-file@1.0.6 + scopeguard@1.2.0 + selectors@0.25.0 + serde@1.0.196 + serde_derive@1.0.196 + serde_json@1.0.113 + serde_spanned@0.6.5 + servo_arc@0.3.0 + simba@0.8.1 + simd-adler32@0.3.7 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.13.1 + spin@0.9.8 + stable_deref_trait@1.2.0 + string_cache@0.8.7 + string_cache_codegen@0.5.2 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.48 + system-deps@6.2.0 + target-lexicon@0.12.13 + tempfile@3.10.0 + tendril@0.4.3 + termtree@0.4.1 + thiserror-impl@1.0.56 + thiserror@1.0.56 + tiff@0.9.1 + time-core@0.1.2 + time-macros@0.2.17 + time@0.3.34 + tinytemplate@1.2.1 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.8.10 + toml_datetime@0.6.5 + toml_edit@0.21.1 + toml_edit@0.22.4 + typenum@1.17.0 + unarray@0.1.4 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.22 + url@2.5.0 + utf-8@0.7.6 + utf8parse@0.2.1 + version-compare@0.1.1 + wait-timeout@0.2.0 + walkdir@2.4.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.91 + wasm-bindgen-macro-support@0.2.91 + wasm-bindgen-macro@0.2.91 + wasm-bindgen-shared@0.2.91 + wasm-bindgen@0.2.91 + web-sys@0.3.68 + weezl@0.1.8 + wide@0.7.15 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + 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-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.39 + xml5ever@0.17.0 + yeslogic-fontconfig-sys@4.0.1 + zune-inflate@0.2.54 +" + +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" +SRC_URI+=" ${CARGO_CRATE_URIS}" + +LICENSE="LGPL-2.1+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 + Unicode-DFS-2016 +" + +SLOT="2" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + +IUSE="gtk-doc +introspection +vala" +REQUIRED_USE=" + gtk-doc? ( introspection ) + vala? ( introspection ) +" + +RDEPEND=" + >=x11-libs/cairo-1.17.0[glib,svg(+),${MULTILIB_USEDEP}] + >=media-libs/freetype-2.9:2[${MULTILIB_USEDEP}] + >=x11-libs/gdk-pixbuf-2.20:2[introspection?,${MULTILIB_USEDEP}] + >=dev-libs/glib-2.50.0:2[${MULTILIB_USEDEP}] + >=media-libs/harfbuzz-2.0.0:=[${MULTILIB_USEDEP}] + >=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}] + >=x11-libs/pango-1.50.0[${MULTILIB_USEDEP}] + + introspection? ( >=dev-libs/gobject-introspection-0.10.8:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + x11-libs/gdk-pixbuf + ${PYTHON_DEPS} + $(python_gen_any_dep 'dev-python/docutils[${PYTHON_USEDEP}]') + gtk-doc? ( dev-util/gi-docgen ) + virtual/pkgconfig + vala? ( $(vala_depend) ) + + dev-libs/gobject-introspection-common + dev-libs/vala-common +" +# dev-libs/gobject-introspection-common, dev-libs/vala-common needed by eautoreconf + +QA_FLAGS_IGNORED=" + usr/bin/rsvg-convert + usr/lib.*/librsvg.* +" + +pkg_setup() { + rust_pkg_setup + python-any-r1_pkg_setup +} + +src_prepare() { + use vala && vala_setup + gnome2_src_prepare +} + +multilib_src_configure() { + local myconf=( + --disable-static + --disable-debug + $(multilib_native_use_enable gtk-doc) + $(multilib_native_use_enable introspection) + $(multilib_native_use_enable vala) + --enable-pixbuf-loader + ) + + if ! multilib_is_native_abi; then + myconf+=( + # Set the rust target, which can differ from CHOST + RUST_TARGET="$(rust_abi)" + # RUST_TARGET is only honored if cross_compiling, but non-native ABIs aren't cross as + # far as C parts and configure auto-detection are concerned as CHOST equals CBUILD + cross_compiling=yes + ) + fi + + ECONF_SOURCE=${S} \ + gnome2_src_configure "${myconf[@]}" + + if multilib_is_native_abi; then + ln -s "${S}"/doc/html doc/html || die + fi +} + +multilib_src_compile() { + gnome2_src_compile +} + +multilib_src_install() { + gnome2_src_install +} + +multilib_src_install_all() { + find "${ED}" -name '*.la' -delete || die + + if use gtk-doc; then + mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die + mv "${ED}"/usr/share/doc/Rsvg-2.0 "${ED}"/usr/share/gtk-doc/html/ || die + fi +} + +pkg_postinst() { + multilib_foreach_abi gnome2_pkg_postinst +} + +pkg_postrm() { + multilib_foreach_abi gnome2_pkg_postrm +} diff --git a/gnome-base/librsvg/librsvg-2.58.2.ebuild b/gnome-base/librsvg/librsvg-2.58.2.ebuild deleted file mode 100644 index fadc212ccc81..000000000000 --- a/gnome-base/librsvg/librsvg-2.58.2.ebuild +++ /dev/null @@ -1,400 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PYTHON_COMPAT=( python3_{10..13} ) - -CRATES=" - adler@1.0.2 - aho-corasick@1.1.2 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anes@0.1.6 - anstream@0.6.11 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - anyhow@1.0.79 - approx@0.5.1 - assert_cmd@2.0.13 - autocfg@1.1.0 - bit-set@0.5.3 - bit-vec@0.6.3 - bit_field@0.10.2 - bitflags@1.3.2 - bitflags@2.4.2 - block@0.1.6 - bstr@1.9.0 - bumpalo@3.14.0 - bytemuck@1.14.2 - byteorder@1.5.0 - cairo-rs@0.19.1 - cairo-sys-rs@0.19.1 - cast@0.3.0 - cc@1.0.83 - cfg-expr@0.15.6 - cfg-if@1.0.0 - chrono@0.4.33 - ciborium-io@0.2.2 - ciborium-ll@0.2.2 - ciborium@0.2.2 - clap@4.4.18 - clap_builder@4.4.18 - clap_complete@4.4.10 - clap_derive@4.4.7 - clap_lex@0.6.0 - color_quant@1.1.0 - colorchoice@1.0.0 - const-cstr@0.3.0 - core-foundation-sys@0.8.6 - crc32fast@1.3.2 - criterion-plot@0.5.0 - criterion@0.5.1 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.19 - crunchy@0.2.2 - cssparser-macros@0.6.1 - cssparser@0.31.2 - cstr@0.2.11 - data-url@0.3.1 - deranged@0.3.11 - derive_more@0.99.17 - difflib@0.4.0 - dlib@0.5.2 - doc-comment@0.3.3 - dtoa-short@0.3.4 - dtoa@1.0.9 - either@1.9.0 - encoding_rs@0.8.33 - equivalent@1.0.1 - errno@0.3.8 - exr@1.72.0 - fastrand@2.0.1 - fdeflate@0.3.4 - flate2@1.0.28 - float-cmp@0.9.0 - flume@0.11.0 - fnv@1.0.7 - form_urlencoded@1.2.1 - futf@0.1.5 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - fxhash@0.2.1 - gdk-pixbuf-sys@0.19.0 - gdk-pixbuf@0.19.0 - getrandom@0.2.12 - gif@0.12.0 - gio-sys@0.19.0 - gio@0.19.0 - glib-macros@0.19.0 - glib-sys@0.19.0 - glib@0.19.0 - gobject-sys@0.19.0 - half@2.3.1 - hashbrown@0.14.3 - heck@0.4.1 - hermit-abi@0.3.5 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - idna@0.5.0 - image@0.24.8 - indexmap@2.2.2 - is-terminal@0.4.10 - itertools@0.10.5 - itertools@0.12.1 - itoa@1.0.10 - jpeg-decoder@0.3.1 - js-sys@0.3.68 - language-tags@0.3.2 - lazy_static@1.4.0 - lebe@0.5.2 - libc@0.2.153 - libloading@0.8.1 - libm@0.2.8 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.13 - locale_config@0.3.0 - lock_api@0.4.11 - log@0.4.20 - lopdf@0.32.0 - mac@0.1.1 - malloc_buf@0.0.6 - markup5ever@0.11.0 - matches@0.1.10 - matrixmultiply@0.3.8 - md5@0.7.0 - memchr@2.7.1 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - nalgebra-macros@0.2.1 - nalgebra@0.32.3 - new_debug_unreachable@1.0.4 - nom@7.1.3 - normalize-line-endings@0.3.0 - num-complex@0.4.5 - num-conv@0.1.0 - num-integer@0.1.46 - num-rational@0.4.1 - num-traits@0.2.18 - objc-foundation@0.1.1 - objc@0.2.7 - objc_id@0.1.1 - once_cell@1.19.0 - oorandom@11.1.3 - pango-sys@0.19.0 - pango@0.19.0 - pangocairo-sys@0.19.0 - pangocairo@0.19.1 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - paste@1.0.14 - percent-encoding@2.3.1 - phf@0.10.1 - phf@0.11.2 - phf_codegen@0.10.0 - phf_generator@0.10.0 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.10.0 - phf_shared@0.11.2 - pin-project-lite@0.2.13 - pin-utils@0.1.0 - pkg-config@0.3.29 - plotters-backend@0.3.5 - plotters-svg@0.3.5 - plotters@0.3.5 - png@0.17.11 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - precomputed-hash@0.1.1 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - proc-macro-crate@3.1.0 - proc-macro2@1.0.78 - proptest@1.4.0 - qoi@0.4.1 - quick-error@1.2.3 - quick-error@2.0.1 - quote@1.0.35 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_xorshift@0.3.0 - rawpointer@0.2.1 - rayon-core@1.12.1 - rayon@1.8.1 - rctree@0.6.0 - redox_syscall@0.4.1 - regex-automata@0.4.5 - regex-syntax@0.8.2 - regex@1.10.3 - rgb@0.8.37 - rustix@0.38.31 - rusty-fork@0.3.0 - ryu@1.0.16 - safe_arch@0.7.1 - same-file@1.0.6 - scopeguard@1.2.0 - selectors@0.25.0 - serde@1.0.196 - serde_derive@1.0.196 - serde_json@1.0.113 - serde_spanned@0.6.5 - servo_arc@0.3.0 - simba@0.8.1 - simd-adler32@0.3.7 - siphasher@0.3.11 - slab@0.4.9 - smallvec@1.13.1 - spin@0.9.8 - stable_deref_trait@1.2.0 - string_cache@0.8.7 - string_cache_codegen@0.5.2 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.48 - system-deps@6.2.0 - target-lexicon@0.12.13 - tempfile@3.10.0 - tendril@0.4.3 - termtree@0.4.1 - thiserror-impl@1.0.56 - thiserror@1.0.56 - tiff@0.9.1 - time-core@0.1.2 - time-macros@0.2.17 - time@0.3.34 - tinytemplate@1.2.1 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - toml@0.8.10 - toml_datetime@0.6.5 - toml_edit@0.21.1 - toml_edit@0.22.4 - typenum@1.17.0 - unarray@0.1.4 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.22 - url@2.5.0 - utf-8@0.7.6 - utf8parse@0.2.1 - version-compare@0.1.1 - wait-timeout@0.2.0 - walkdir@2.4.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.91 - wasm-bindgen-macro-support@0.2.91 - wasm-bindgen-macro@0.2.91 - wasm-bindgen-shared@0.2.91 - wasm-bindgen@0.2.91 - web-sys@0.3.68 - weezl@0.1.8 - wide@0.7.15 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - 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-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.39 - xml5ever@0.17.0 - yeslogic-fontconfig-sys@4.0.1 - zune-inflate@0.2.54 -" - -inherit cargo gnome2 multilib-minimal 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" -SRC_URI+=" ${CARGO_CRATE_URIS}" - -LICENSE="LGPL-2.1+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0 - Unicode-DFS-2016 -" - -SLOT="2" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" - -IUSE="gtk-doc +introspection +vala" -REQUIRED_USE=" - gtk-doc? ( introspection ) - vala? ( introspection ) -" - -RDEPEND=" - >=x11-libs/cairo-1.17.0[glib,svg(+),${MULTILIB_USEDEP}] - >=media-libs/freetype-2.9:2[${MULTILIB_USEDEP}] - >=x11-libs/gdk-pixbuf-2.20:2[introspection?,${MULTILIB_USEDEP}] - >=dev-libs/glib-2.50.0:2[${MULTILIB_USEDEP}] - >=media-libs/harfbuzz-2.0.0:=[${MULTILIB_USEDEP}] - >=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}] - >=x11-libs/pango-1.50.0[${MULTILIB_USEDEP}] - - introspection? ( >=dev-libs/gobject-introspection-0.10.8:= ) -" -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}]') - gtk-doc? ( dev-util/gi-docgen ) - virtual/pkgconfig - vala? ( $(vala_depend) ) - - dev-libs/gobject-introspection-common - dev-libs/vala-common -" -# dev-libs/gobject-introspection-common, dev-libs/vala-common needed by eautoreconf - -QA_FLAGS_IGNORED=" - usr/bin/rsvg-convert - usr/lib.*/librsvg.* -" - -src_prepare() { - use vala && vala_setup - gnome2_src_prepare -} - -multilib_src_configure() { - local myconf=( - --disable-static - --disable-debug - $(multilib_native_use_enable gtk-doc) - $(multilib_native_use_enable introspection) - $(multilib_native_use_enable vala) - --enable-pixbuf-loader - ) - - if ! multilib_is_native_abi; then - myconf+=( - # Set the rust target, which can differ from CHOST - RUST_TARGET="$(rust_abi)" - # RUST_TARGET is only honored if cross_compiling, but non-native ABIs aren't cross as - # far as C parts and configure auto-detection are concerned as CHOST equals CBUILD - cross_compiling=yes - ) - fi - - ECONF_SOURCE=${S} \ - gnome2_src_configure "${myconf[@]}" - - if multilib_is_native_abi; then - ln -s "${S}"/doc/html doc/html || die - fi -} - -multilib_src_compile() { - gnome2_src_compile -} - -multilib_src_install() { - gnome2_src_install -} - -multilib_src_install_all() { - find "${ED}" -name '*.la' -delete || die - - if use gtk-doc; then - mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die - mv "${ED}"/usr/share/doc/Rsvg-2.0 "${ED}"/usr/share/gtk-doc/html/ || die - fi -} - -pkg_postinst() { - multilib_foreach_abi gnome2_pkg_postinst -} - -pkg_postrm() { - multilib_foreach_abi gnome2_pkg_postrm -} diff --git a/gui-apps/railway/railway-2.7.0-r1.ebuild b/gui-apps/railway/railway-2.7.0-r1.ebuild new file mode 100644 index 000000000000..601860ec2028 --- /dev/null +++ b/gui-apps/railway/railway-2.7.0-r1.ebuild @@ -0,0 +1,279 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.22.0 + adler@1.0.2 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.1.0 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + async-trait@0.1.78 + autocfg@1.3.0 + backtrace@0.3.72 + base64@0.21.7 + base64@0.22.1 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + block@0.1.6 + bumpalo@3.16.0 + bytes@1.5.0 + cairo-rs@0.19.4 + cairo-sys-rs@0.19.2 + cc@1.1.6 + cfg-expr@0.15.8 + cfg-if@1.0.0 + chrono-tz-build@0.2.1 + chrono-tz@0.8.6 + chrono@0.4.38 + colorchoice@1.0.1 + convert_case@0.6.0 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + crypto-common@0.1.6 + digest@0.10.7 + env_filter@0.1.0 + env_logger@0.11.4 + equivalent@1.0.1 + field-offset@0.3.6 + fnv@1.0.7 + form_urlencoded@1.2.1 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + gdk-pixbuf-sys@0.19.8 + gdk-pixbuf@0.19.8 + gdk4-sys@0.8.2 + gdk4@0.8.2 + generic-array@0.14.7 + getrandom@0.2.12 + gettext-rs@0.7.0 + gettext-sys@0.21.3 + gimli@0.29.0 + gio-sys@0.19.8 + gio@0.19.8 + glib-macros@0.19.9 + glib-sys@0.19.8 + glib@0.19.9 + gobject-sys@0.19.8 + graphene-rs@0.19.8 + graphene-sys@0.19.8 + gsk4-sys@0.8.2 + gsk4@0.8.2 + gtk4-macros@0.8.2 + gtk4-sys@0.8.2 + gtk4@0.8.2 + hashbrown@0.14.5 + heck@0.5.0 + hermit-abi@0.3.9 + hex@0.4.3 + http-body@0.4.6 + http@0.2.12 + httparse@1.8.0 + httpdate@1.0.3 + humantime@2.1.0 + hyper-rustls@0.24.2 + hyper@0.14.28 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + idna@0.5.0 + indexmap@2.2.6 + is_terminal_polyfill@1.70.0 + itoa@1.0.11 + js-sys@0.3.69 + lazy_static@1.4.0 + libadwaita-sys@0.6.0 + libadwaita@0.6.0 + libc@0.2.155 + locale_config@0.3.0 + log@0.4.22 + malloc_buf@0.0.6 + md-5@0.10.6 + memchr@2.7.4 + memoffset@0.9.1 + miniz_oxide@0.7.4 + mio@1.0.1 + num-traits@0.2.19 + objc-foundation@0.1.1 + objc@0.2.7 + objc_id@0.1.1 + object@0.35.0 + once_cell@1.19.0 + openssl-probe@0.1.5 + pango-sys@0.19.8 + pango@0.19.8 + parse-zoneinfo@0.3.0 + percent-encoding@2.3.1 + phf@0.11.2 + phf_codegen@0.11.2 + phf_generator@0.11.2 + phf_shared@0.11.2 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + pkg-config@0.3.30 + proc-macro-crate@3.1.0 + proc-macro2@1.0.86 + quote@1.0.36 + railway-api-derive@0.1.0 + railway-api@0.1.0 + railway-core@0.1.0 + railway-provider-hafas@0.1.1 + railway-provider-motis@0.1.0 + railway-provider-search-ch@0.1.0 + rand@0.8.5 + rand_core@0.6.4 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + ring@0.17.8 + rustc-demangle@0.1.24 + rustc_version@0.4.0 + rustls-native-certs@0.6.3 + rustls-pemfile@1.0.4 + rustls-pemfile@2.1.2 + rustls-pki-types@1.5.0 + rustls-webpki@0.101.7 + rustls@0.21.11 + ryu@1.0.18 + schannel@0.1.23 + sct@0.7.1 + security-framework-sys@2.9.1 + security-framework@2.9.2 + semver@1.0.23 + serde@1.0.204 + serde_derive@1.0.204 + serde_json@1.0.120 + serde_spanned@0.6.6 + siphasher@0.3.11 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + spin@0.9.8 + syn@2.0.72 + system-deps@6.2.2 + target-lexicon@0.12.15 + temp-dir@0.1.12 + thiserror-impl@1.0.63 + thiserror@1.0.63 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio-macros@2.4.0 + tokio-rustls@0.24.1 + tokio@1.39.1 + toml@0.8.15 + toml_datetime@0.6.6 + toml_edit@0.21.1 + toml_edit@0.22.16 + tower-service@0.3.2 + tracing-core@0.1.32 + tracing@0.1.40 + try-lock@0.2.5 + typenum@1.17.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-segmentation@1.11.0 + untrusted@0.9.0 + url@2.5.0 + utf8parse@0.2.2 + version-compare@0.2.0 + version_check@0.9.4 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-sys@0.52.0 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.52.5 + winnow@0.5.40 + winnow@0.6.14 +" + +inherit cargo gnome2-utils meson xdg-utils + +DESCRIPTION="Travel with all your train information in one place" +HOMEPAGE=" + https://mobile.schmidhuberj.de/railway/ + https://gitlab.com/schmiddi-on-mobile/railway/ +" +SRC_URI=" + https://gitlab.com/schmiddi-on-mobile/railway/-/archive/${PV}/${P}.tar.bz2 + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 + || ( AGPL-3+ EUPL-1.2 ) +" +# ring +LICENSE+=" openssl" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + >=dev-libs/glib-2.66 + >=gui-libs/gtk-4.0.0:4 + gui-libs/libadwaita + media-libs/graphene +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + dev-libs/glib + sys-devel/gettext +" + +BUILD_DIR=${S}/build +ECARGO_HOME=${BUILD_DIR}/cargo-home + +QA_PREBUILT=usr/bin/diebahn + +src_prepare() { + default + + sed -e "s:get_option('profile.*:$(usex debug false true):" \ + -i src/meson.build || die +} + +src_install() { + meson_src_install + dosym diebahn /usr/bin/railway +} + +pkg_postinst() { + gnome2_schemas_update + xdg_icon_cache_update +} + +pkg_postrm() { + gnome2_schemas_update + xdg_icon_cache_update +} diff --git a/gui-apps/railway/railway-2.7.0.ebuild b/gui-apps/railway/railway-2.7.0.ebuild deleted file mode 100644 index 7f1010dba14b..000000000000 --- a/gui-apps/railway/railway-2.7.0.ebuild +++ /dev/null @@ -1,281 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit gnome2-utils xdg-utils - -CRATES=" - addr2line@0.22.0 - adler@1.0.2 - aho-corasick@1.1.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.1.0 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - async-trait@0.1.78 - autocfg@1.3.0 - backtrace@0.3.72 - base64@0.21.7 - base64@0.22.1 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - block@0.1.6 - bumpalo@3.16.0 - bytes@1.5.0 - cairo-rs@0.19.4 - cairo-sys-rs@0.19.2 - cc@1.1.6 - cfg-expr@0.15.8 - cfg-if@1.0.0 - chrono-tz-build@0.2.1 - chrono-tz@0.8.6 - chrono@0.4.38 - colorchoice@1.0.1 - convert_case@0.6.0 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - crypto-common@0.1.6 - digest@0.10.7 - env_filter@0.1.0 - env_logger@0.11.4 - equivalent@1.0.1 - field-offset@0.3.6 - fnv@1.0.7 - form_urlencoded@1.2.1 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - gdk-pixbuf-sys@0.19.8 - gdk-pixbuf@0.19.8 - gdk4-sys@0.8.2 - gdk4@0.8.2 - generic-array@0.14.7 - getrandom@0.2.12 - gettext-rs@0.7.0 - gettext-sys@0.21.3 - gimli@0.29.0 - gio-sys@0.19.8 - gio@0.19.8 - glib-macros@0.19.9 - glib-sys@0.19.8 - glib@0.19.9 - gobject-sys@0.19.8 - graphene-rs@0.19.8 - graphene-sys@0.19.8 - gsk4-sys@0.8.2 - gsk4@0.8.2 - gtk4-macros@0.8.2 - gtk4-sys@0.8.2 - gtk4@0.8.2 - hashbrown@0.14.5 - heck@0.5.0 - hermit-abi@0.3.9 - hex@0.4.3 - http-body@0.4.6 - http@0.2.12 - httparse@1.8.0 - httpdate@1.0.3 - humantime@2.1.0 - hyper-rustls@0.24.2 - hyper@0.14.28 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - idna@0.5.0 - indexmap@2.2.6 - is_terminal_polyfill@1.70.0 - itoa@1.0.11 - js-sys@0.3.69 - lazy_static@1.4.0 - libadwaita-sys@0.6.0 - libadwaita@0.6.0 - libc@0.2.155 - locale_config@0.3.0 - log@0.4.22 - malloc_buf@0.0.6 - md-5@0.10.6 - memchr@2.7.4 - memoffset@0.9.1 - miniz_oxide@0.7.4 - mio@1.0.1 - num-traits@0.2.19 - objc-foundation@0.1.1 - objc@0.2.7 - objc_id@0.1.1 - object@0.35.0 - once_cell@1.19.0 - openssl-probe@0.1.5 - pango-sys@0.19.8 - pango@0.19.8 - parse-zoneinfo@0.3.0 - percent-encoding@2.3.1 - phf@0.11.2 - phf_codegen@0.11.2 - phf_generator@0.11.2 - phf_shared@0.11.2 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - pkg-config@0.3.30 - proc-macro-crate@3.1.0 - proc-macro2@1.0.86 - quote@1.0.36 - railway-api-derive@0.1.0 - railway-api@0.1.0 - railway-core@0.1.0 - railway-provider-hafas@0.1.1 - railway-provider-motis@0.1.0 - railway-provider-search-ch@0.1.0 - rand@0.8.5 - rand_core@0.6.4 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.5 - ring@0.17.8 - rustc-demangle@0.1.24 - rustc_version@0.4.0 - rustls-native-certs@0.6.3 - rustls-pemfile@1.0.4 - rustls-pemfile@2.1.2 - rustls-pki-types@1.5.0 - rustls-webpki@0.101.7 - rustls@0.21.11 - ryu@1.0.18 - schannel@0.1.23 - sct@0.7.1 - security-framework-sys@2.9.1 - security-framework@2.9.2 - semver@1.0.23 - serde@1.0.204 - serde_derive@1.0.204 - serde_json@1.0.120 - serde_spanned@0.6.6 - siphasher@0.3.11 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.5.7 - spin@0.9.8 - syn@2.0.72 - system-deps@6.2.2 - target-lexicon@0.12.15 - temp-dir@0.1.12 - thiserror-impl@1.0.63 - thiserror@1.0.63 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tokio-macros@2.4.0 - tokio-rustls@0.24.1 - tokio@1.39.1 - toml@0.8.15 - toml_datetime@0.6.6 - toml_edit@0.21.1 - toml_edit@0.22.16 - tower-service@0.3.2 - tracing-core@0.1.32 - tracing@0.1.40 - try-lock@0.2.5 - typenum@1.17.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-segmentation@1.11.0 - untrusted@0.9.0 - url@2.5.0 - utf8parse@0.2.2 - version-compare@0.2.0 - version_check@0.9.4 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-sys@0.52.0 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.52.5 - winnow@0.5.40 - winnow@0.6.14 -" - -inherit cargo meson - -DESCRIPTION="Travel with all your train information in one place" -HOMEPAGE=" - https://mobile.schmidhuberj.de/railway/ - https://gitlab.com/schmiddi-on-mobile/railway/ -" -SRC_URI=" - https://gitlab.com/schmiddi-on-mobile/railway/-/archive/${PV}/${P}.tar.bz2 - ${CARGO_CRATE_URIS} -" - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016 - || ( AGPL-3+ EUPL-1.2 ) -" -# ring -LICENSE+=" openssl" -SLOT="0" -KEYWORDS="~amd64" - -DEPEND=" - >=dev-libs/glib-2.66 - >=gui-libs/gtk-4.0.0:4 - gui-libs/libadwaita - media-libs/graphene -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - dev-libs/glib - sys-devel/gettext -" - -BUILD_DIR=${S}/build -ECARGO_HOME=${BUILD_DIR}/cargo-home - -QA_PREBUILT=usr/bin/diebahn - -src_prepare() { - default - - sed -e "s:get_option('profile.*:$(usex debug false true):" \ - -i src/meson.build || die -} - -src_install() { - meson_src_install - dosym diebahn /usr/bin/railway -} - -pkg_postinst() { - gnome2_schemas_update - xdg_icon_cache_update -} - -pkg_postrm() { - gnome2_schemas_update - xdg_icon_cache_update -} 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-r1.ebuild b/gui-apps/tuigreet/tuigreet-0.9.1-r1.ebuild new file mode 100644 index 000000000000..2cbd0920f10e --- /dev/null +++ b/gui-apps/tuigreet/tuigreet-0.9.1-r1.ebuild @@ -0,0 +1,254 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + addr2line@0.21.0 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + arc-swap@1.7.1 + async-trait@0.1.80 + autocfg@1.2.0 + backtrace@0.3.71 + bitflags@1.3.2 + bitflags@2.5.0 + block-buffer@0.10.4 + block@0.1.6 + bumpalo@3.16.0 + bytes@1.6.0 + cassowary@0.3.0 + castaway@0.2.2 + cc@1.0.95 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + chrono@0.4.38 + compact_str@0.7.1 + const-random-macro@0.1.16 + const-random@0.1.18 + core-foundation-sys@0.8.6 + cpufeatures@0.2.12 + crossbeam-channel@0.5.12 + crossbeam-utils@0.8.19 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + crunchy@0.2.2 + crypto-common@0.1.6 + dashmap@5.5.3 + deranged@0.3.11 + digest@0.10.7 + displaydoc@0.2.4 + dlv-list@0.5.2 + either@1.11.0 + equivalent@1.0.1 + find-crate@0.6.3 + fluent-bundle@0.15.2 + fluent-langneg@0.13.0 + fluent-syntax@0.11.0 + fluent@0.16.0 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generic-array@0.14.7 + getopts@0.2.21 + getrandom@0.2.14 + gimli@0.28.1 + greetd_ipc@0.10.0 + hashbrown@0.14.3 + heck@0.4.1 + hermit-abi@0.3.9 + i18n-config@0.4.6 + i18n-embed-fl@0.8.0 + i18n-embed-impl@0.8.3 + i18n-embed@0.14.1 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + indexmap@2.2.6 + indoc@2.0.5 + intl-memoizer@0.5.1 + intl_pluralrules@7.0.2 + itertools@0.12.1 + itoa@1.0.11 + js-sys@0.3.69 + lazy_static@1.4.0 + libc@0.2.153 + locale_config@0.3.0 + lock_api@0.4.11 + log@0.4.21 + lru@0.12.3 + malloc_buf@0.0.6 + memchr@2.7.2 + miniz_oxide@0.7.2 + mio@0.8.11 + nix@0.28.0 + nu-ansi-term@0.46.0 + num-conv@0.1.0 + num-traits@0.2.18 + num_cpus@1.16.0 + objc-foundation@0.1.1 + objc@0.2.7 + objc_id@0.1.1 + object@0.32.2 + once_cell@1.19.0 + ordered-multimap@0.7.3 + overload@0.1.1 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + paste@1.0.14 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.81 + pure-rust-locales@0.8.1 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + ratatui@0.26.2 + redox_syscall@0.4.1 + regex-automata@0.4.6 + regex-syntax@0.8.3 + regex@1.10.4 + rust-embed-impl@8.3.0 + rust-embed-utils@8.3.0 + rust-embed@8.3.0 + rust-ini@0.21.0 + rustc-demangle@0.1.23 + rustc-hash@1.1.0 + rustversion@1.0.15 + ryu@1.0.17 + same-file@1.0.6 + scopeguard@1.2.0 + self_cell@0.10.3 + self_cell@1.0.3 + serde@1.0.198 + serde_derive@1.0.198 + serde_json@1.0.116 + serde_spanned@0.6.5 + sha2@0.10.8 + sharded-slab@0.1.7 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + slab@0.4.9 + smallvec@1.13.2 + smart-default@0.7.1 + smawk@0.3.2 + socket2@0.5.6 + stability@0.2.0 + static_assertions@1.1.0 + strsim@0.10.0 + strum@0.26.2 + strum_macros@0.26.2 + syn@1.0.109 + syn@2.0.60 + textwrap@0.16.1 + thiserror-impl@1.0.59 + thiserror@1.0.59 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinystr@0.7.5 + tokio-macros@2.2.0 + tokio@1.37.0 + toml@0.5.11 + toml@0.8.12 + toml_datetime@0.6.5 + toml_edit@0.22.12 + tracing-appender@0.2.3 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing@0.1.40 + trim-in-place@0.1.7 + type-map@0.4.0 + typenum@1.17.0 + unic-langid-impl@0.9.4 + unic-langid@0.9.4 + unicode-ident@1.0.12 + unicode-linebreak@0.1.5 + unicode-segmentation@1.11.0 + unicode-width@0.1.11 + uzers@0.12.0 + valuable@0.1.0 + version_check@0.9.4 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.7 + 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-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + winnow@0.6.6 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 + zeroize@1.7.0 +" + +inherit cargo + +DESCRIPTION="TUI greeter for greetd login manager" +HOMEPAGE="https://github.com/apognu/tuigreet" +SRC_URI="https://github.com/apognu/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="Apache-2.0 CC0-1.0 GPL-3+ MIT Unicode-3.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" + +QA_FLAGS_IGNORED="usr/bin/tuigreet" + +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.ebuild deleted file mode 100644 index 2cbd0920f10e..000000000000 --- a/gui-apps/tuigreet/tuigreet-0.9.1.ebuild +++ /dev/null @@ -1,254 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - addr2line@0.21.0 - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - arc-swap@1.7.1 - async-trait@0.1.80 - autocfg@1.2.0 - backtrace@0.3.71 - bitflags@1.3.2 - bitflags@2.5.0 - block-buffer@0.10.4 - block@0.1.6 - bumpalo@3.16.0 - bytes@1.6.0 - cassowary@0.3.0 - castaway@0.2.2 - cc@1.0.95 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - chrono@0.4.38 - compact_str@0.7.1 - const-random-macro@0.1.16 - const-random@0.1.18 - core-foundation-sys@0.8.6 - cpufeatures@0.2.12 - crossbeam-channel@0.5.12 - crossbeam-utils@0.8.19 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - crunchy@0.2.2 - crypto-common@0.1.6 - dashmap@5.5.3 - deranged@0.3.11 - digest@0.10.7 - displaydoc@0.2.4 - dlv-list@0.5.2 - either@1.11.0 - equivalent@1.0.1 - find-crate@0.6.3 - fluent-bundle@0.15.2 - fluent-langneg@0.13.0 - fluent-syntax@0.11.0 - fluent@0.16.0 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - generic-array@0.14.7 - getopts@0.2.21 - getrandom@0.2.14 - gimli@0.28.1 - greetd_ipc@0.10.0 - hashbrown@0.14.3 - heck@0.4.1 - hermit-abi@0.3.9 - i18n-config@0.4.6 - i18n-embed-fl@0.8.0 - i18n-embed-impl@0.8.3 - i18n-embed@0.14.1 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - indexmap@2.2.6 - indoc@2.0.5 - intl-memoizer@0.5.1 - intl_pluralrules@7.0.2 - itertools@0.12.1 - itoa@1.0.11 - js-sys@0.3.69 - lazy_static@1.4.0 - libc@0.2.153 - locale_config@0.3.0 - lock_api@0.4.11 - log@0.4.21 - lru@0.12.3 - malloc_buf@0.0.6 - memchr@2.7.2 - miniz_oxide@0.7.2 - mio@0.8.11 - nix@0.28.0 - nu-ansi-term@0.46.0 - num-conv@0.1.0 - num-traits@0.2.18 - num_cpus@1.16.0 - objc-foundation@0.1.1 - objc@0.2.7 - objc_id@0.1.1 - object@0.32.2 - once_cell@1.19.0 - ordered-multimap@0.7.3 - overload@0.1.1 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - paste@1.0.14 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.81 - pure-rust-locales@0.8.1 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - ratatui@0.26.2 - redox_syscall@0.4.1 - regex-automata@0.4.6 - regex-syntax@0.8.3 - regex@1.10.4 - rust-embed-impl@8.3.0 - rust-embed-utils@8.3.0 - rust-embed@8.3.0 - rust-ini@0.21.0 - rustc-demangle@0.1.23 - rustc-hash@1.1.0 - rustversion@1.0.15 - ryu@1.0.17 - same-file@1.0.6 - scopeguard@1.2.0 - self_cell@0.10.3 - self_cell@1.0.3 - serde@1.0.198 - serde_derive@1.0.198 - serde_json@1.0.116 - serde_spanned@0.6.5 - sha2@0.10.8 - sharded-slab@0.1.7 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - slab@0.4.9 - smallvec@1.13.2 - smart-default@0.7.1 - smawk@0.3.2 - socket2@0.5.6 - stability@0.2.0 - static_assertions@1.1.0 - strsim@0.10.0 - strum@0.26.2 - strum_macros@0.26.2 - syn@1.0.109 - syn@2.0.60 - textwrap@0.16.1 - thiserror-impl@1.0.59 - thiserror@1.0.59 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinystr@0.7.5 - tokio-macros@2.2.0 - tokio@1.37.0 - toml@0.5.11 - toml@0.8.12 - toml_datetime@0.6.5 - toml_edit@0.22.12 - tracing-appender@0.2.3 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing@0.1.40 - trim-in-place@0.1.7 - type-map@0.4.0 - typenum@1.17.0 - unic-langid-impl@0.9.4 - unic-langid@0.9.4 - unicode-ident@1.0.12 - unicode-linebreak@0.1.5 - unicode-segmentation@1.11.0 - unicode-width@0.1.11 - uzers@0.12.0 - valuable@0.1.0 - version_check@0.9.4 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.7 - 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-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - winnow@0.6.6 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 - zeroize@1.7.0 -" - -inherit cargo - -DESCRIPTION="TUI greeter for greetd login manager" -HOMEPAGE="https://github.com/apognu/tuigreet" -SRC_URI="https://github.com/apognu/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - -LICENSE="Apache-2.0 CC0-1.0 GPL-3+ MIT Unicode-3.0 Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv" - -QA_FLAGS_IGNORED="usr/bin/tuigreet" - -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-libs/greetd/greetd-0.10.0-r1.ebuild b/gui-libs/greetd/greetd-0.10.0-r1.ebuild new file mode 100644 index 000000000000..8a47ffe77707 --- /dev/null +++ b/gui-libs/greetd/greetd-0.10.0-r1.ebuild @@ -0,0 +1,136 @@ +# Copyright 2017-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 + async-trait@0.1.80 + backtrace@0.3.71 + bitflags@2.5.0 + bytes@1.6.0 + cc@1.0.95 + cfg-if@1.0.0 + enquote@1.1.0 + getopts@0.2.21 + gimli@0.28.1 + itoa@1.0.11 + libc@0.2.153 + memchr@2.7.2 + miniz_oxide@0.7.2 + mio@0.8.11 + nix@0.27.1 + object@0.32.2 + pam-sys@0.5.6 + pin-project-lite@0.2.14 + proc-macro2@1.0.81 + quote@1.0.36 + rpassword@5.0.1 + rustc-demangle@0.1.23 + ryu@1.0.17 + serde@1.0.198 + serde_derive@1.0.198 + serde_json@1.0.116 + signal-hook-registry@1.4.1 + socket2@0.5.6 + syn@2.0.60 + thiserror-impl@1.0.58 + thiserror@1.0.58 + tokio-macros@2.2.0 + tokio@1.37.0 + unicode-ident@1.0.12 + unicode-width@0.1.11 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 +" + +inherit cargo optfeature pam systemd + +DESCRIPTION="ipc based login daemon" + +HOMEPAGE="https://git.sr.ht/~kennylevinsen/greetd/" +SRC_URI="https://git.sr.ht/~kennylevinsen/greetd/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" Apache-2.0 MIT Unicode-DFS-2016 Unlicense" +SLOT="0" +KEYWORDS="amd64 ~arm64 ppc64 ~riscv ~x86" +IUSE="man" + +DEPEND=" + acct-user/greetd + sys-auth/pambase + sys-libs/pam +" +RDEPEND="${DEPEND}" +BDEPEND="man? ( app-text/scdoc )" + +QA_FLAGS_IGNORED="usr/bin/.*greet.*" + +PATCHES=( + "${FILESDIR}/${PN}-0.6.1-correct_user_config_toml.patch" +) + +src_compile() { + cargo_src_compile + if use man; then + scdoc < ./man/agreety-1.scd > ./agreety.1 || die + scdoc < ./man/greetd-1.scd > ./greetd.1 || die + scdoc < ./man/greetd-5.scd > ./greetd.5 || die + scdoc < ./man/greetd-ipc-7.scd > ./greetd-ipc.7 || die + fi +} + +src_install() { + dobin "$(cargo_target_dir)"/{agreety,fakegreet,greetd} + + insinto /etc/greetd + doins config.toml + + systemd_dounit greetd.service + + if use man; then + doman agreety.1 greetd.1 greetd.5 greetd-ipc.7 + fi + + newpamd - greetd <<-EOF + # newer greetd errors when no greetd-specific pam.d config is + # available + # workaround by just using the fallback that it was already + # using anyway + auth include login + account include login + password include login + session include login + EOF +} + +pkg_postint() { + optfeature "eye-candy gtk based greeter" gui-apps/gtkgreet + optfeature "simplistic but sleek terminal greeter" gui-apps/tuigreet +} diff --git a/gui-libs/greetd/greetd-0.10.0.ebuild b/gui-libs/greetd/greetd-0.10.0.ebuild deleted file mode 100644 index 8a47ffe77707..000000000000 --- a/gui-libs/greetd/greetd-0.10.0.ebuild +++ /dev/null @@ -1,136 +0,0 @@ -# Copyright 2017-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 - async-trait@0.1.80 - backtrace@0.3.71 - bitflags@2.5.0 - bytes@1.6.0 - cc@1.0.95 - cfg-if@1.0.0 - enquote@1.1.0 - getopts@0.2.21 - gimli@0.28.1 - itoa@1.0.11 - libc@0.2.153 - memchr@2.7.2 - miniz_oxide@0.7.2 - mio@0.8.11 - nix@0.27.1 - object@0.32.2 - pam-sys@0.5.6 - pin-project-lite@0.2.14 - proc-macro2@1.0.81 - quote@1.0.36 - rpassword@5.0.1 - rustc-demangle@0.1.23 - ryu@1.0.17 - serde@1.0.198 - serde_derive@1.0.198 - serde_json@1.0.116 - signal-hook-registry@1.4.1 - socket2@0.5.6 - syn@2.0.60 - thiserror-impl@1.0.58 - thiserror@1.0.58 - tokio-macros@2.2.0 - tokio@1.37.0 - unicode-ident@1.0.12 - unicode-width@0.1.11 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 -" - -inherit cargo optfeature pam systemd - -DESCRIPTION="ipc based login daemon" - -HOMEPAGE="https://git.sr.ht/~kennylevinsen/greetd/" -SRC_URI="https://git.sr.ht/~kennylevinsen/greetd/archive/${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" Apache-2.0 MIT Unicode-DFS-2016 Unlicense" -SLOT="0" -KEYWORDS="amd64 ~arm64 ppc64 ~riscv ~x86" -IUSE="man" - -DEPEND=" - acct-user/greetd - sys-auth/pambase - sys-libs/pam -" -RDEPEND="${DEPEND}" -BDEPEND="man? ( app-text/scdoc )" - -QA_FLAGS_IGNORED="usr/bin/.*greet.*" - -PATCHES=( - "${FILESDIR}/${PN}-0.6.1-correct_user_config_toml.patch" -) - -src_compile() { - cargo_src_compile - if use man; then - scdoc < ./man/agreety-1.scd > ./agreety.1 || die - scdoc < ./man/greetd-1.scd > ./greetd.1 || die - scdoc < ./man/greetd-5.scd > ./greetd.5 || die - scdoc < ./man/greetd-ipc-7.scd > ./greetd-ipc.7 || die - fi -} - -src_install() { - dobin "$(cargo_target_dir)"/{agreety,fakegreet,greetd} - - insinto /etc/greetd - doins config.toml - - systemd_dounit greetd.service - - if use man; then - doman agreety.1 greetd.1 greetd.5 greetd-ipc.7 - fi - - newpamd - greetd <<-EOF - # newer greetd errors when no greetd-specific pam.d config is - # available - # workaround by just using the fallback that it was already - # using anyway - auth include login - account include login - password include login - session include login - EOF -} - -pkg_postint() { - optfeature "eye-candy gtk based greeter" gui-apps/gtkgreet - optfeature "simplistic but sleek terminal greeter" gui-apps/tuigreet -} diff --git a/gui-libs/greetd/greetd-0.10.3-r1.ebuild b/gui-libs/greetd/greetd-0.10.3-r1.ebuild new file mode 100644 index 000000000000..30f9a98e47b8 --- /dev/null +++ b/gui-libs/greetd/greetd-0.10.3-r1.ebuild @@ -0,0 +1,139 @@ +# Copyright 2017-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 + async-trait@0.1.80 + backtrace@0.3.71 + bitflags@2.5.0 + bytes@1.6.0 + cc@1.0.95 + cfg-if@1.0.0 + enquote@1.1.0 + getopts@0.2.21 + gimli@0.28.1 + itoa@1.0.11 + libc@0.2.153 + memchr@2.7.2 + miniz_oxide@0.7.2 + mio@0.8.11 + nix@0.27.1 + object@0.32.2 + pam-sys@0.5.6 + pin-project-lite@0.2.14 + proc-macro2@1.0.81 + quote@1.0.36 + rpassword@5.0.1 + rustc-demangle@0.1.23 + ryu@1.0.17 + serde@1.0.198 + serde_derive@1.0.198 + serde_json@1.0.116 + signal-hook-registry@1.4.1 + socket2@0.5.6 + syn@2.0.60 + thiserror-impl@1.0.58 + thiserror@1.0.58 + tokio-macros@2.2.0 + tokio@1.37.0 + unicode-ident@1.0.12 + unicode-width@0.1.11 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 +" + +inherit cargo optfeature pam systemd + +DESCRIPTION="ipc based login daemon" + +HOMEPAGE="https://git.sr.ht/~kennylevinsen/greetd/" +SRC_URI="https://git.sr.ht/~kennylevinsen/greetd/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" Apache-2.0 MIT Unicode-DFS-2016 Unlicense" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +IUSE="man selinux" + +DEPEND=" + acct-user/greetd + sys-auth/pambase + sys-libs/pam +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-xserver ) +" +BDEPEND="man? ( app-text/scdoc )" + +QA_FLAGS_IGNORED="usr/bin/.*greet.*" + +PATCHES=( + "${FILESDIR}/${PN}-0.6.1-correct_user_config_toml.patch" +) + +src_compile() { + cargo_src_compile + if use man; then + scdoc < ./man/agreety-1.scd > ./agreety.1 || die + scdoc < ./man/greetd-1.scd > ./greetd.1 || die + scdoc < ./man/greetd-5.scd > ./greetd.5 || die + scdoc < ./man/greetd-ipc-7.scd > ./greetd-ipc.7 || die + fi +} + +src_install() { + dobin "$(cargo_target_dir)"/{agreety,fakegreet,greetd} + + insinto /etc/greetd + doins config.toml + + systemd_dounit greetd.service + + if use man; then + doman agreety.1 greetd.1 greetd.5 greetd-ipc.7 + fi + + newpamd - greetd <<-EOF + # newer greetd errors when no greetd-specific pam.d config is + # available + # workaround by just using the fallback that it was already + # using anyway + auth include login + account include login + password include login + session include login + EOF +} + +pkg_postint() { + optfeature "eye-candy gtk based greeter" gui-apps/gtkgreet + optfeature "simplistic but sleek terminal greeter" gui-apps/tuigreet +} diff --git a/gui-libs/greetd/greetd-0.10.3.ebuild b/gui-libs/greetd/greetd-0.10.3.ebuild deleted file mode 100644 index 30f9a98e47b8..000000000000 --- a/gui-libs/greetd/greetd-0.10.3.ebuild +++ /dev/null @@ -1,139 +0,0 @@ -# Copyright 2017-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 - async-trait@0.1.80 - backtrace@0.3.71 - bitflags@2.5.0 - bytes@1.6.0 - cc@1.0.95 - cfg-if@1.0.0 - enquote@1.1.0 - getopts@0.2.21 - gimli@0.28.1 - itoa@1.0.11 - libc@0.2.153 - memchr@2.7.2 - miniz_oxide@0.7.2 - mio@0.8.11 - nix@0.27.1 - object@0.32.2 - pam-sys@0.5.6 - pin-project-lite@0.2.14 - proc-macro2@1.0.81 - quote@1.0.36 - rpassword@5.0.1 - rustc-demangle@0.1.23 - ryu@1.0.17 - serde@1.0.198 - serde_derive@1.0.198 - serde_json@1.0.116 - signal-hook-registry@1.4.1 - socket2@0.5.6 - syn@2.0.60 - thiserror-impl@1.0.58 - thiserror@1.0.58 - tokio-macros@2.2.0 - tokio@1.37.0 - unicode-ident@1.0.12 - unicode-width@0.1.11 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 -" - -inherit cargo optfeature pam systemd - -DESCRIPTION="ipc based login daemon" - -HOMEPAGE="https://git.sr.ht/~kennylevinsen/greetd/" -SRC_URI="https://git.sr.ht/~kennylevinsen/greetd/archive/${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" Apache-2.0 MIT Unicode-DFS-2016 Unlicense" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" -IUSE="man selinux" - -DEPEND=" - acct-user/greetd - sys-auth/pambase - sys-libs/pam -" -RDEPEND=" - ${DEPEND} - selinux? ( sec-policy/selinux-xserver ) -" -BDEPEND="man? ( app-text/scdoc )" - -QA_FLAGS_IGNORED="usr/bin/.*greet.*" - -PATCHES=( - "${FILESDIR}/${PN}-0.6.1-correct_user_config_toml.patch" -) - -src_compile() { - cargo_src_compile - if use man; then - scdoc < ./man/agreety-1.scd > ./agreety.1 || die - scdoc < ./man/greetd-1.scd > ./greetd.1 || die - scdoc < ./man/greetd-5.scd > ./greetd.5 || die - scdoc < ./man/greetd-ipc-7.scd > ./greetd-ipc.7 || die - fi -} - -src_install() { - dobin "$(cargo_target_dir)"/{agreety,fakegreet,greetd} - - insinto /etc/greetd - doins config.toml - - systemd_dounit greetd.service - - if use man; then - doman agreety.1 greetd.1 greetd.5 greetd-ipc.7 - fi - - newpamd - greetd <<-EOF - # newer greetd errors when no greetd-specific pam.d config is - # available - # workaround by just using the fallback that it was already - # using anyway - auth include login - account include login - password include login - session include login - EOF -} - -pkg_postint() { - optfeature "eye-candy gtk based greeter" gui-apps/gtkgreet - optfeature "simplistic but sleek terminal greeter" gui-apps/tuigreet -} diff --git a/mail-client/thunderbird/thunderbird-128.3.1-r1.ebuild b/mail-client/thunderbird/thunderbird-128.3.1-r1.ebuild new file mode 100644 index 000000000000..ab065c036d7e --- /dev/null +++ b/mail-client/thunderbird/thunderbird-128.3.1-r1.ebuild @@ -0,0 +1,1187 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128esr-patches-03.tar.xz" + +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" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +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-r1 multiprocessing \ + 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}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" + +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" +IUSE+=" system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +rust-extensions +system-librnp" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + rust-extensions? ( dbus ) + wayland? ( dbus ) + wifi? ( dbus )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(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.26.0 + net-libs/nodejs + virtual/pkgconfig + !elibc_glibc? ( dev-lang/rust ) + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! 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 + 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 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + 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 + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + 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 }') + [[ -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})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if use lto; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_enable rust-extensions thunderbird-rust + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # LTO is handled via configure + filter-lto + + if use lto ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if tc-ld-is-mold && use lto; 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." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/mail-client/thunderbird/thunderbird-128.3.1.ebuild b/mail-client/thunderbird/thunderbird-128.3.1.ebuild deleted file mode 100644 index 898f5c3f9182..000000000000 --- a/mail-client/thunderbird/thunderbird-128.3.1.ebuild +++ /dev/null @@ -1,1192 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128esr-patches-03.tar.xz" - -LLVM_COMPAT=( 17 18 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. -MOZ_ESR=yes - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 toolchain-funcs virtualx xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -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" - -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" -IUSE+=" system-png +system-webp wayland wifi +X" - -# Thunderbird-only USE flags. -IUSE+=" +rust-extensions +system-librnp" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - rust-extensions? ( dbus ) - wayland? ( dbus ) - wifi? ( dbus )" - -TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) - !system-librnp? ( dev-libs/jsoncpp ) - system-librnp? ( >=dev-util/librnp-0.17.1 )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - 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] ) - ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=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? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - &2 - return 1 - fi - - if use clang && ! 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 - 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 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES es-MX et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -virtwl() { - debug-print-function ${FUNCNAME} "$@" - - [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" - [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" - tinywl -h >/dev/null || die 'tinywl -h failed' - - local VIRTWL VIRTWL_PID - coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } - local -x WAYLAND_DISPLAY - read WAYLAND_DISPLAY <&${VIRTWL[0]} - - debug-print "${FUNCNAME}: $@" - "$@" - local r=$? - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- - return $r -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - 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 - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - 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})!" - fi - fi - - python-any-r1_pkg_setup - - # Avoid PGO profiling problems due to enviroment leakage - # These should *always* be cleaned up anyway - unset \ - DBUS_SESSION_BUS_ADDRESS \ - DISPLAY \ - ORBIT_SOCKETDIR \ - SESSION_MANAGER \ - XAUTHORITY \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if use pgo ; then - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage - # (PORTAGE_SCHEDULING_POLICY) update... - addpredict /proc - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - unpack ${_src_file} - fi - done -} - -src_prepare() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}/firefox-patches" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - # Make ICU respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" - - # Respect MAKEOPTS all around (maybe some find+sed is better) - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" - - sed -i \ - -e 's/ccache_stats = None/return None/' \ - "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" - - einfo "Removing pre-built binaries ..." - - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die - - # Write API keys to disk - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die - - xdg_environment_reset -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # Set MOZILLA_FIVE_HOME - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - - # python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-application=comm/mail - mozconfig_add_options_ac '' --enable-project=comm/mail - - # Set Gentoo defaults - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-gpsd \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-valgrind \ - --disable-wmf \ - --enable-js-shell \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly - # Can be removed once upstream enable it by default in the future. - use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_enable rust-extensions thunderbird-rust - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - if use system-librnp; then - mozconfig_add_options_ac "+system-librnp" --enable-compile-environment - mozconfig_use_with system-librnp - else - # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". - # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. - mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" - fi - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - fi - - local myaudiobackends="" - use jack && myaudiobackends+="jack," - use sndio && myaudiobackends+="sndio," - use pulseaudio && myaudiobackends+="pulseaudio," - ! use pulseaudio && myaudiobackends+="alsa," - - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" - - mozconfig_use_enable wifi necko-wifi - - if use X && use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - elif ! use X && use wayland ; then - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only - else - mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only - fi - - # LTO is handled via configure - filter-lto - - if use lto ; then - if use clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - fi - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409. - # mold does not support gcc+lto combination. - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # lld is upstream's default - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - fi - - else - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd - fi - fi - fi - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing - - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # Allow elfhack to work in combination with unstripped binaries - # when they would normally be larger than 2GiB. - append-ldflags "-Wl,--compress-debug-sections=zlib" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; 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." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - fi - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install icons - local icon_srcdir="${S}/comm/mail/branding/thunderbird" - local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die -} - -pkg_preinst() { - xdg_pkg_preinst - - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse - # does not need to be forced into the LD_LIBRARY_PATH - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - einfo "APULSE found; Generating library symlinks for sound support ..." - local lib - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do - # A quickpkg rolled by hand will grab symlinks as part of the package, - # so we need to avoid creating them if they already exist. - if [[ ! -L ${lib##*/} ]] ; then - ln -s "${lib}" ${lib##*/} || die - fi - done - popd &>/dev/null || die - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - elog "Apulse was detected at merge time on this system and so it will always be" - elog "used for sound. If you wish to use pulseaudio instead please unmerge" - elog "media-sound/apulse." - elog - fi - - optfeature_header "Optional programs for extra features:" - optfeature "desktop notifications" x11-libs/libnotify - optfeature "encrypted chat support" net-libs/libotr - optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas -} diff --git a/mail-client/thunderbird/thunderbird-128.3.3-r1.ebuild b/mail-client/thunderbird/thunderbird-128.3.3-r1.ebuild new file mode 100644 index 000000000000..bfe021469cbd --- /dev/null +++ b/mail-client/thunderbird/thunderbird-128.3.3-r1.ebuild @@ -0,0 +1,1187 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128esr-patches-03.tar.xz" + +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" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +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-r1 multiprocessing \ + 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}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" + +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" +IUSE+=" system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +rust-extensions +system-librnp" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + rust-extensions? ( dbus ) + wayland? ( dbus ) + wifi? ( dbus )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(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.26.0 + net-libs/nodejs + virtual/pkgconfig + !elibc_glibc? ( dev-lang/rust ) + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! 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 + 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 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + 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 + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + 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 }') + [[ -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})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if use lto; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_enable rust-extensions thunderbird-rust + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # LTO is handled via configure + filter-lto + + if use lto ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if tc-ld-is-mold && use lto; 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." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/mail-client/thunderbird/thunderbird-128.3.3.ebuild b/mail-client/thunderbird/thunderbird-128.3.3.ebuild deleted file mode 100644 index 2bfc08ccbbce..000000000000 --- a/mail-client/thunderbird/thunderbird-128.3.3.ebuild +++ /dev/null @@ -1,1192 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128esr-patches-03.tar.xz" - -LLVM_COMPAT=( 17 18 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. -MOZ_ESR=yes - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 toolchain-funcs virtualx xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -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" - -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" -IUSE+=" system-png +system-webp wayland wifi +X" - -# Thunderbird-only USE flags. -IUSE+=" +rust-extensions +system-librnp" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - rust-extensions? ( dbus ) - wayland? ( dbus ) - wifi? ( dbus )" - -TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) - !system-librnp? ( dev-libs/jsoncpp ) - system-librnp? ( >=dev-util/librnp-0.17.1 )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - 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] ) - ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=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? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - &2 - return 1 - fi - - if use clang && ! 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 - 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 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES es-MX et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -virtwl() { - debug-print-function ${FUNCNAME} "$@" - - [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" - [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" - tinywl -h >/dev/null || die 'tinywl -h failed' - - local VIRTWL VIRTWL_PID - coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } - local -x WAYLAND_DISPLAY - read WAYLAND_DISPLAY <&${VIRTWL[0]} - - debug-print "${FUNCNAME}: $@" - "$@" - local r=$? - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- - return $r -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - 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 - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - 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})!" - fi - fi - - python-any-r1_pkg_setup - - # Avoid PGO profiling problems due to enviroment leakage - # These should *always* be cleaned up anyway - unset \ - DBUS_SESSION_BUS_ADDRESS \ - DISPLAY \ - ORBIT_SOCKETDIR \ - SESSION_MANAGER \ - XAUTHORITY \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if use pgo ; then - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage - # (PORTAGE_SCHEDULING_POLICY) update... - addpredict /proc - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - unpack ${_src_file} - fi - done -} - -src_prepare() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}/firefox-patches" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - # Make ICU respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" - - # Respect MAKEOPTS all around (maybe some find+sed is better) - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" - - sed -i \ - -e 's/ccache_stats = None/return None/' \ - "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" - - einfo "Removing pre-built binaries ..." - - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die - - # Write API keys to disk - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die - - xdg_environment_reset -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # Set MOZILLA_FIVE_HOME - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - - # python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-application=comm/mail - mozconfig_add_options_ac '' --enable-project=comm/mail - - # Set Gentoo defaults - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-gpsd \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-valgrind \ - --disable-wmf \ - --enable-js-shell \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly - # Can be removed once upstream enable it by default in the future. - use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_enable rust-extensions thunderbird-rust - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - if use system-librnp; then - mozconfig_add_options_ac "+system-librnp" --enable-compile-environment - mozconfig_use_with system-librnp - else - # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". - # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. - mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" - fi - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - fi - - local myaudiobackends="" - use jack && myaudiobackends+="jack," - use sndio && myaudiobackends+="sndio," - use pulseaudio && myaudiobackends+="pulseaudio," - ! use pulseaudio && myaudiobackends+="alsa," - - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" - - mozconfig_use_enable wifi necko-wifi - - if use X && use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - elif ! use X && use wayland ; then - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only - else - mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only - fi - - # LTO is handled via configure - filter-lto - - if use lto ; then - if use clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - fi - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409. - # mold does not support gcc+lto combination. - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # lld is upstream's default - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - fi - - else - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd - fi - fi - fi - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing - - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # Allow elfhack to work in combination with unstripped binaries - # when they would normally be larger than 2GiB. - append-ldflags "-Wl,--compress-debug-sections=zlib" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; 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." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - fi - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install icons - local icon_srcdir="${S}/comm/mail/branding/thunderbird" - local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die -} - -pkg_preinst() { - xdg_pkg_preinst - - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse - # does not need to be forced into the LD_LIBRARY_PATH - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - einfo "APULSE found; Generating library symlinks for sound support ..." - local lib - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do - # A quickpkg rolled by hand will grab symlinks as part of the package, - # so we need to avoid creating them if they already exist. - if [[ ! -L ${lib##*/} ]] ; then - ln -s "${lib}" ${lib##*/} || die - fi - done - popd &>/dev/null || die - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - elog "Apulse was detected at merge time on this system and so it will always be" - elog "used for sound. If you wish to use pulseaudio instead please unmerge" - elog "media-sound/apulse." - elog - fi - - optfeature_header "Optional programs for extra features:" - optfeature "desktop notifications" x11-libs/libnotify - optfeature "encrypted chat support" net-libs/libotr - optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas -} diff --git a/mail-client/thunderbird/thunderbird-128.4.0-r1.ebuild b/mail-client/thunderbird/thunderbird-128.4.0-r1.ebuild new file mode 100644 index 000000000000..e1d9aa0ef03a --- /dev/null +++ b/mail-client/thunderbird/thunderbird-128.4.0-r1.ebuild @@ -0,0 +1,1157 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128esr-patches-04.tar.xz" + +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" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +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-r1 multiprocessing \ + 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}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" + +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" +IUSE+=" system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +rust-extensions +system-librnp" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + rust-extensions? ( dbus ) + wayland? ( dbus ) + wifi? ( dbus )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(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.26.0 + net-libs/nodejs + virtual/pkgconfig + !elibc_glibc? ( dev-lang/rust ) + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! 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 + 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 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + 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 + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + 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 }') + [[ -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})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if use lto; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_enable rust-extensions thunderbird-rust + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + 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 clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if tc-ld-is-mold && use lto; 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." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/mail-client/thunderbird/thunderbird-128.4.0.ebuild b/mail-client/thunderbird/thunderbird-128.4.0.ebuild deleted file mode 100644 index ad9e924d2f96..000000000000 --- a/mail-client/thunderbird/thunderbird-128.4.0.ebuild +++ /dev/null @@ -1,1162 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128esr-patches-04.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. -MOZ_ESR=yes - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 toolchain-funcs virtualx xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -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" - -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" -IUSE+=" system-png +system-webp wayland wifi +X" - -# Thunderbird-only USE flags. -IUSE+=" +rust-extensions +system-librnp" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - rust-extensions? ( dbus ) - wayland? ( dbus ) - wifi? ( dbus )" - -TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) - !system-librnp? ( dev-libs/jsoncpp ) - system-librnp? ( >=dev-util/librnp-0.17.1 )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - 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] ) - ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=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? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - &2 - return 1 - fi - - if use clang && ! 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 - 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 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES es-MX et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -virtwl() { - debug-print-function ${FUNCNAME} "$@" - - [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" - [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" - tinywl -h >/dev/null || die 'tinywl -h failed' - - local VIRTWL VIRTWL_PID - coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } - local -x WAYLAND_DISPLAY - read WAYLAND_DISPLAY <&${VIRTWL[0]} - - debug-print "${FUNCNAME}: $@" - "$@" - local r=$? - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- - return $r -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - 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 - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - 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})!" - fi - fi - - python-any-r1_pkg_setup - - # Avoid PGO profiling problems due to enviroment leakage - # These should *always* be cleaned up anyway - unset \ - DBUS_SESSION_BUS_ADDRESS \ - DISPLAY \ - ORBIT_SOCKETDIR \ - SESSION_MANAGER \ - XAUTHORITY \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if use pgo ; then - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage - # (PORTAGE_SCHEDULING_POLICY) update... - addpredict /proc - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - unpack ${_src_file} - fi - done -} - -src_prepare() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}/firefox-patches" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - # Make ICU respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" - - # Respect MAKEOPTS all around (maybe some find+sed is better) - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" - - sed -i \ - -e 's/ccache_stats = None/return None/' \ - "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" - - einfo "Removing pre-built binaries ..." - - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die - - # Write API keys to disk - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die - - xdg_environment_reset -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # Set MOZILLA_FIVE_HOME - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - - # python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-application=comm/mail - mozconfig_add_options_ac '' --enable-project=comm/mail - - # Set Gentoo defaults - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-gpsd \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-valgrind \ - --disable-wmf \ - --enable-js-shell \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly - # Can be removed once upstream enable it by default in the future. - use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_enable rust-extensions thunderbird-rust - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - if use system-librnp; then - mozconfig_add_options_ac "+system-librnp" --enable-compile-environment - mozconfig_use_with system-librnp - else - # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". - # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. - mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" - fi - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - fi - - local myaudiobackends="" - use jack && myaudiobackends+="jack," - use sndio && myaudiobackends+="sndio," - use pulseaudio && myaudiobackends+="pulseaudio," - ! use pulseaudio && myaudiobackends+="alsa," - - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" - - mozconfig_use_enable wifi necko-wifi - - if use X && use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - elif ! use X && use wayland ; then - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only - else - 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 clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - fi - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409. - # mold does not support gcc+lto combination. - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # lld is upstream's default - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - fi - - else - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd - fi - fi - fi - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing - - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; 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." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - fi - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install icons - local icon_srcdir="${S}/comm/mail/branding/thunderbird" - local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die -} - -pkg_postinst() { - xdg_pkg_postinst - - optfeature_header "Optional programs for extra features:" - optfeature "desktop notifications" x11-libs/libnotify - optfeature "encrypted chat support" net-libs/libotr - optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas -} diff --git a/mail-client/thunderbird/thunderbird-128.4.2-r1.ebuild b/mail-client/thunderbird/thunderbird-128.4.2-r1.ebuild new file mode 100644 index 000000000000..89b4020b4939 --- /dev/null +++ b/mail-client/thunderbird/thunderbird-128.4.2-r1.ebuild @@ -0,0 +1,1156 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128esr-patches-05.tar.xz" + +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" + +# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +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-r1 multiprocessing \ + 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}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +S="${WORKDIR}/${PN}-${PV%_*}" + +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" +IUSE+=" system-png +system-webp wayland wifi +X" + +# Thunderbird-only USE flags. +IUSE+=" +rust-extensions +system-librnp" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + rust-extensions? ( dbus ) + wayland? ( dbus ) + wifi? ( dbus )" + +TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) + !system-librnp? ( dev-libs/jsoncpp ) + system-librnp? ( >=dev-util/librnp-0.17.1 )" +BDEPEND="${PYTHON_DEPS} + $(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.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! 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 + 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 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES es-MX et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + 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 + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + 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 }') + [[ -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})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if use lto; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=comm/mail + mozconfig_add_options_ac '' --enable-project=comm/mail + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-js-shell \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_enable rust-extensions thunderbird-rust + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + if use system-librnp; then + mozconfig_add_options_ac "+system-librnp" --enable-compile-environment + mozconfig_use_with system-librnp + else + # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". + # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. + mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" + fi + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + 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 clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if tc-ld-is-mold && use lto; 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." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/comm/mail/branding/thunderbird" + local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" + local desktop_filename="${PN}.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "encrypted chat support" net-libs/libotr + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas +} diff --git a/mail-client/thunderbird/thunderbird-128.4.2.ebuild b/mail-client/thunderbird/thunderbird-128.4.2.ebuild deleted file mode 100644 index bb3afcf18575..000000000000 --- a/mail-client/thunderbird/thunderbird-128.4.2.ebuild +++ /dev/null @@ -1,1162 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128esr-patches-05.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -# Thunderbird will have separate release and esr channels, matching Firefox's rapid and esr. -MOZ_ESR=yes - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 toolchain-funcs virtualx xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -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" - -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" -IUSE+=" system-png +system-webp wayland wifi +X" - -# Thunderbird-only USE flags. -IUSE+=" +rust-extensions +system-librnp" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - rust-extensions? ( dbus ) - wayland? ( dbus ) - wifi? ( dbus )" - -TB_ONLY_DEPEND="selinux? ( sec-policy/selinux-thunderbird ) - !system-librnp? ( dev-libs/jsoncpp ) - system-librnp? ( >=dev-util/librnp-0.17.1 )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - 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] ) - ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=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? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - &2 - return 1 - fi - - if use clang && ! 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 - 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 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES es-MX et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -virtwl() { - debug-print-function ${FUNCNAME} "$@" - - [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" - [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" - tinywl -h >/dev/null || die 'tinywl -h failed' - - local VIRTWL VIRTWL_PID - coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } - local -x WAYLAND_DISPLAY - read WAYLAND_DISPLAY <&${VIRTWL[0]} - - debug-print "${FUNCNAME}: $@" - "$@" - local r=$? - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- - return $r -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - 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 - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - 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})!" - fi - fi - - python-any-r1_pkg_setup - - # Avoid PGO profiling problems due to enviroment leakage - # These should *always* be cleaned up anyway - unset \ - DBUS_SESSION_BUS_ADDRESS \ - DISPLAY \ - ORBIT_SOCKETDIR \ - SESSION_MANAGER \ - XAUTHORITY \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if use pgo ; then - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage - # (PORTAGE_SCHEDULING_POLICY) update... - addpredict /proc - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - unpack ${_src_file} - fi - done -} - -src_prepare() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}/firefox-patches" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - # Make ICU respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" - - # Respect MAKEOPTS all around (maybe some find+sed is better) - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" - - sed -i \ - -e 's/ccache_stats = None/return None/' \ - "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" - - einfo "Removing pre-built binaries ..." - - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die - - # Write API keys to disk - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die - - xdg_environment_reset -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # Set MOZILLA_FIVE_HOME - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - - # python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-application=comm/mail - mozconfig_add_options_ac '' --enable-project=comm/mail - - # Set Gentoo defaults - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-gpsd \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-valgrind \ - --disable-wmf \ - --enable-js-shell \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly - # Can be removed once upstream enable it by default in the future. - use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_enable rust-extensions thunderbird-rust - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - if use system-librnp; then - mozconfig_add_options_ac "+system-librnp" --enable-compile-environment - mozconfig_use_with system-librnp - else - # This controls the backend of the bundled librnp. Choices are "botan" and "openssl". - # RNP Upstream recommends to use botan. In Gentoo it's preferred to use system-librnp. - mozconfig_add_options_ac "+bundled librnp backend = botan" --with-librnp-backend="botan" - fi - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - fi - - local myaudiobackends="" - use jack && myaudiobackends+="jack," - use sndio && myaudiobackends+="sndio," - use pulseaudio && myaudiobackends+="pulseaudio," - ! use pulseaudio && myaudiobackends+="alsa," - - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" - - mozconfig_use_enable wifi necko-wifi - - if use X && use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - elif ! use X && use wayland ; then - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only - else - 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 clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - fi - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409. - # mold does not support gcc+lto combination. - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # lld is upstream's default - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - fi - - else - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd - fi - fi - fi - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing - - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; 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." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/defaults/pref" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs-r1.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - fi - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install icons - local icon_srcdir="${S}/comm/mail/branding/thunderbird" - local icon_symbolic_file="${icon_srcdir}/TB-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r2.desktop" - local desktop_filename="${PN}.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die -} - -pkg_postinst() { - xdg_pkg_postinst - - optfeature_header "Optional programs for extra features:" - optfeature "desktop notifications" x11-libs/libnotify - optfeature "encrypted chat support" net-libs/libotr - optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas -} 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-r1.ebuild deleted file mode 100644 index 34219ad68ea2..000000000000 --- a/media-gfx/fotema/fotema-1.14.2-r1.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cargo gnome2-utils meson xdg-utils - -DESCRIPTION="Photo gallery for Linux" -HOMEPAGE="https://github.com/blissd/fotema" -SRC_URI=" - https://github.com/blissd/fotema/releases/download/v${PV}/${P}.tar.xz -" - -# see LICENSES/ -LICENSE=" - CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0 - FDL-1.3+ GPL-3+ MIT -" -SLOT="0" -KEYWORDS="~amd64" - -DEPEND=" - >=dev-libs/glib-2.66:2 - >=gui-libs/gtk-4.0.0:4 -" -# indirect deps via crates -DEPEND+=" - dev-libs/openssl:= - gui-libs/libadwaita - media-libs/fontconfig - media-libs/graphene - media-libs/lcms:2 - media-libs/libshumate:= - media-libs/opencv:=[contribdnn] - media-video/ffmpeg:= - sci-libs/onnx - sys-libs/libseccomp - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/pango -" -RDEPEND=" - ${DEPEND} - media-libs/glycin-loaders -" -BDEPEND=" - dev-libs/glib:2 -" - -ECARGO_VENDOR=${S}/vendor - -QA_FLAGS_IGNORED="/usr/bin/fotema" - -src_prepare() { - default - - # patch the dependency on flatpak-spawn out (sigh) - find "${S}"/{core,src} -name '*.rs' \ - -exec sed -i -e '/FlatpakSpawn/d' {} + || die -} - -src_configure() { - cat >> "${ECARGO_HOME}/config.toml" <<-EOF || die - - [source."git+https://github.com/blissd/rust-faces.git?branch=patch"] - git = "https://github.com/blissd/rust-faces.git" - branch = "patch" - replace-with = "gentoo" - EOF - - local emesonargs=( - -Dprofile=$(usex debug development default) - ) - - meson_src_configure - ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die - - export ORT_STRATEGY=system -} - -pkg_postinst() { - gnome2_schemas_update - xdg_icon_cache_update -} - -pkg_postrm() { - gnome2_schemas_update - xdg_icon_cache_update -} diff --git a/media-gfx/fotema/fotema-1.14.2-r2.ebuild b/media-gfx/fotema/fotema-1.14.2-r2.ebuild new file mode 100644 index 000000000000..34219ad68ea2 --- /dev/null +++ b/media-gfx/fotema/fotema-1.14.2-r2.ebuild @@ -0,0 +1,89 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cargo gnome2-utils meson xdg-utils + +DESCRIPTION="Photo gallery for Linux" +HOMEPAGE="https://github.com/blissd/fotema" +SRC_URI=" + https://github.com/blissd/fotema/releases/download/v${PV}/${P}.tar.xz +" + +# see LICENSES/ +LICENSE=" + CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0 + FDL-1.3+ GPL-3+ MIT +" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + >=dev-libs/glib-2.66:2 + >=gui-libs/gtk-4.0.0:4 +" +# indirect deps via crates +DEPEND+=" + dev-libs/openssl:= + gui-libs/libadwaita + media-libs/fontconfig + media-libs/graphene + media-libs/lcms:2 + media-libs/libshumate:= + media-libs/opencv:=[contribdnn] + media-video/ffmpeg:= + sci-libs/onnx + sys-libs/libseccomp + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/pango +" +RDEPEND=" + ${DEPEND} + media-libs/glycin-loaders +" +BDEPEND=" + dev-libs/glib:2 +" + +ECARGO_VENDOR=${S}/vendor + +QA_FLAGS_IGNORED="/usr/bin/fotema" + +src_prepare() { + default + + # patch the dependency on flatpak-spawn out (sigh) + find "${S}"/{core,src} -name '*.rs' \ + -exec sed -i -e '/FlatpakSpawn/d' {} + || die +} + +src_configure() { + cat >> "${ECARGO_HOME}/config.toml" <<-EOF || die + + [source."git+https://github.com/blissd/rust-faces.git?branch=patch"] + git = "https://github.com/blissd/rust-faces.git" + branch = "patch" + replace-with = "gentoo" + EOF + + local emesonargs=( + -Dprofile=$(usex debug development default) + ) + + meson_src_configure + ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die + + export ORT_STRATEGY=system +} + +pkg_postinst() { + gnome2_schemas_update + xdg_icon_cache_update +} + +pkg_postrm() { + gnome2_schemas_update + xdg_icon_cache_update +} diff --git a/media-gfx/fotema/fotema-1.14.3-r1.ebuild b/media-gfx/fotema/fotema-1.14.3-r1.ebuild new file mode 100644 index 000000000000..34219ad68ea2 --- /dev/null +++ b/media-gfx/fotema/fotema-1.14.3-r1.ebuild @@ -0,0 +1,89 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cargo gnome2-utils meson xdg-utils + +DESCRIPTION="Photo gallery for Linux" +HOMEPAGE="https://github.com/blissd/fotema" +SRC_URI=" + https://github.com/blissd/fotema/releases/download/v${PV}/${P}.tar.xz +" + +# see LICENSES/ +LICENSE=" + CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0 + FDL-1.3+ GPL-3+ MIT +" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + >=dev-libs/glib-2.66:2 + >=gui-libs/gtk-4.0.0:4 +" +# indirect deps via crates +DEPEND+=" + dev-libs/openssl:= + gui-libs/libadwaita + media-libs/fontconfig + media-libs/graphene + media-libs/lcms:2 + media-libs/libshumate:= + media-libs/opencv:=[contribdnn] + media-video/ffmpeg:= + sci-libs/onnx + sys-libs/libseccomp + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/pango +" +RDEPEND=" + ${DEPEND} + media-libs/glycin-loaders +" +BDEPEND=" + dev-libs/glib:2 +" + +ECARGO_VENDOR=${S}/vendor + +QA_FLAGS_IGNORED="/usr/bin/fotema" + +src_prepare() { + default + + # patch the dependency on flatpak-spawn out (sigh) + find "${S}"/{core,src} -name '*.rs' \ + -exec sed -i -e '/FlatpakSpawn/d' {} + || die +} + +src_configure() { + cat >> "${ECARGO_HOME}/config.toml" <<-EOF || die + + [source."git+https://github.com/blissd/rust-faces.git?branch=patch"] + git = "https://github.com/blissd/rust-faces.git" + branch = "patch" + replace-with = "gentoo" + EOF + + local emesonargs=( + -Dprofile=$(usex debug development default) + ) + + meson_src_configure + ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die + + export ORT_STRATEGY=system +} + +pkg_postinst() { + gnome2_schemas_update + xdg_icon_cache_update +} + +pkg_postrm() { + gnome2_schemas_update + xdg_icon_cache_update +} diff --git a/media-gfx/fotema/fotema-1.14.3.ebuild b/media-gfx/fotema/fotema-1.14.3.ebuild deleted file mode 100644 index 34219ad68ea2..000000000000 --- a/media-gfx/fotema/fotema-1.14.3.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cargo gnome2-utils meson xdg-utils - -DESCRIPTION="Photo gallery for Linux" -HOMEPAGE="https://github.com/blissd/fotema" -SRC_URI=" - https://github.com/blissd/fotema/releases/download/v${PV}/${P}.tar.xz -" - -# see LICENSES/ -LICENSE=" - CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0 - FDL-1.3+ GPL-3+ MIT -" -SLOT="0" -KEYWORDS="~amd64" - -DEPEND=" - >=dev-libs/glib-2.66:2 - >=gui-libs/gtk-4.0.0:4 -" -# indirect deps via crates -DEPEND+=" - dev-libs/openssl:= - gui-libs/libadwaita - media-libs/fontconfig - media-libs/graphene - media-libs/lcms:2 - media-libs/libshumate:= - media-libs/opencv:=[contribdnn] - media-video/ffmpeg:= - sci-libs/onnx - sys-libs/libseccomp - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/pango -" -RDEPEND=" - ${DEPEND} - media-libs/glycin-loaders -" -BDEPEND=" - dev-libs/glib:2 -" - -ECARGO_VENDOR=${S}/vendor - -QA_FLAGS_IGNORED="/usr/bin/fotema" - -src_prepare() { - default - - # patch the dependency on flatpak-spawn out (sigh) - find "${S}"/{core,src} -name '*.rs' \ - -exec sed -i -e '/FlatpakSpawn/d' {} + || die -} - -src_configure() { - cat >> "${ECARGO_HOME}/config.toml" <<-EOF || die - - [source."git+https://github.com/blissd/rust-faces.git?branch=patch"] - git = "https://github.com/blissd/rust-faces.git" - branch = "patch" - replace-with = "gentoo" - EOF - - local emesonargs=( - -Dprofile=$(usex debug development default) - ) - - meson_src_configure - ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die - - export ORT_STRATEGY=system -} - -pkg_postinst() { - gnome2_schemas_update - xdg_icon_cache_update -} - -pkg_postrm() { - gnome2_schemas_update - xdg_icon_cache_update -} diff --git a/media-gfx/fotema/fotema-1.14.4-r1.ebuild b/media-gfx/fotema/fotema-1.14.4-r1.ebuild new file mode 100644 index 000000000000..34219ad68ea2 --- /dev/null +++ b/media-gfx/fotema/fotema-1.14.4-r1.ebuild @@ -0,0 +1,89 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cargo gnome2-utils meson xdg-utils + +DESCRIPTION="Photo gallery for Linux" +HOMEPAGE="https://github.com/blissd/fotema" +SRC_URI=" + https://github.com/blissd/fotema/releases/download/v${PV}/${P}.tar.xz +" + +# see LICENSES/ +LICENSE=" + CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0 + FDL-1.3+ GPL-3+ MIT +" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + >=dev-libs/glib-2.66:2 + >=gui-libs/gtk-4.0.0:4 +" +# indirect deps via crates +DEPEND+=" + dev-libs/openssl:= + gui-libs/libadwaita + media-libs/fontconfig + media-libs/graphene + media-libs/lcms:2 + media-libs/libshumate:= + media-libs/opencv:=[contribdnn] + media-video/ffmpeg:= + sci-libs/onnx + sys-libs/libseccomp + x11-libs/cairo + x11-libs/gdk-pixbuf:2 + x11-libs/pango +" +RDEPEND=" + ${DEPEND} + media-libs/glycin-loaders +" +BDEPEND=" + dev-libs/glib:2 +" + +ECARGO_VENDOR=${S}/vendor + +QA_FLAGS_IGNORED="/usr/bin/fotema" + +src_prepare() { + default + + # patch the dependency on flatpak-spawn out (sigh) + find "${S}"/{core,src} -name '*.rs' \ + -exec sed -i -e '/FlatpakSpawn/d' {} + || die +} + +src_configure() { + cat >> "${ECARGO_HOME}/config.toml" <<-EOF || die + + [source."git+https://github.com/blissd/rust-faces.git?branch=patch"] + git = "https://github.com/blissd/rust-faces.git" + branch = "patch" + replace-with = "gentoo" + EOF + + local emesonargs=( + -Dprofile=$(usex debug development default) + ) + + meson_src_configure + ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die + + export ORT_STRATEGY=system +} + +pkg_postinst() { + gnome2_schemas_update + xdg_icon_cache_update +} + +pkg_postrm() { + gnome2_schemas_update + xdg_icon_cache_update +} diff --git a/media-gfx/fotema/fotema-1.14.4.ebuild b/media-gfx/fotema/fotema-1.14.4.ebuild deleted file mode 100644 index 34219ad68ea2..000000000000 --- a/media-gfx/fotema/fotema-1.14.4.ebuild +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cargo gnome2-utils meson xdg-utils - -DESCRIPTION="Photo gallery for Linux" -HOMEPAGE="https://github.com/blissd/fotema" -SRC_URI=" - https://github.com/blissd/fotema/releases/download/v${PV}/${P}.tar.xz -" - -# see LICENSES/ -LICENSE=" - CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0 - FDL-1.3+ GPL-3+ MIT -" -SLOT="0" -KEYWORDS="~amd64" - -DEPEND=" - >=dev-libs/glib-2.66:2 - >=gui-libs/gtk-4.0.0:4 -" -# indirect deps via crates -DEPEND+=" - dev-libs/openssl:= - gui-libs/libadwaita - media-libs/fontconfig - media-libs/graphene - media-libs/lcms:2 - media-libs/libshumate:= - media-libs/opencv:=[contribdnn] - media-video/ffmpeg:= - sci-libs/onnx - sys-libs/libseccomp - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/pango -" -RDEPEND=" - ${DEPEND} - media-libs/glycin-loaders -" -BDEPEND=" - dev-libs/glib:2 -" - -ECARGO_VENDOR=${S}/vendor - -QA_FLAGS_IGNORED="/usr/bin/fotema" - -src_prepare() { - default - - # patch the dependency on flatpak-spawn out (sigh) - find "${S}"/{core,src} -name '*.rs' \ - -exec sed -i -e '/FlatpakSpawn/d' {} + || die -} - -src_configure() { - cat >> "${ECARGO_HOME}/config.toml" <<-EOF || die - - [source."git+https://github.com/blissd/rust-faces.git?branch=patch"] - git = "https://github.com/blissd/rust-faces.git" - branch = "patch" - replace-with = "gentoo" - EOF - - local emesonargs=( - -Dprofile=$(usex debug development default) - ) - - meson_src_configure - ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die - - export ORT_STRATEGY=system -} - -pkg_postinst() { - gnome2_schemas_update - xdg_icon_cache_update -} - -pkg_postrm() { - gnome2_schemas_update - xdg_icon_cache_update -} diff --git a/media-gfx/libimagequant/libimagequant-4.2.2-r1.ebuild b/media-gfx/libimagequant/libimagequant-4.2.2-r1.ebuild new file mode 100644 index 000000000000..33b4d2ef906f --- /dev/null +++ b/media-gfx/libimagequant/libimagequant-4.2.2-r1.ebuild @@ -0,0 +1,85 @@ +# 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.8.6 + arrayvec@0.7.4 + autocfg@1.1.0 + bitflags@2.4.1 + bytemuck@1.14.0 + cc@1.0.83 + cfg-if@1.0.0 + crc32fast@1.3.2 + crossbeam-deque@0.8.3 + crossbeam-epoch@0.9.15 + crossbeam-utils@0.8.16 + either@1.9.0 + fallible_collections@0.4.9 + flate2@1.0.28 + hashbrown@0.13.2 + libc@0.2.149 + lodepng@3.9.1 + memoffset@0.9.0 + miniz_oxide@0.7.1 + once_cell@1.18.0 + proc-macro2@1.0.69 + quote@1.0.33 + rayon-core@1.12.0 + rayon@1.8.0 + rgb@0.8.37 + scopeguard@1.2.0 + syn@2.0.38 + thread_local@1.1.7 + unicode-ident@1.0.12 + version_check@0.9.4 + zerocopy-derive@0.7.20 + zerocopy@0.7.20 +" + +inherit cargo + +DESCRIPTION="Palette quantization library that powers pngquant and other PNG optimizers" +HOMEPAGE="https://pngquant.org/lib/" +SRC_URI="https://github.com/ImageOptim/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" ${CARGO_CRATE_URIS}" +S="${WORKDIR}"/${P}/imagequant-sys + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" MIT Unicode-DFS-2016 ZLIB" +SLOT="0/0" +KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~s390 sparc" + +BDEPEND=" + >=dev-util/cargo-c-0.9.11 +" + +QA_FLAGS_IGNORED="usr/lib.*/libimagequant.so.*" + +src_compile() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + $(usev !debug '--release') + ) + + cargo cbuild "${cargoargs[@]}" || die "cargo cbuild failed" +} + +src_install() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + --destdir="${ED}" + $(usex debug '--debug' '--release') + ) + + cargo cinstall "${cargoargs[@]}" || die "cargo cinstall failed" +} diff --git a/media-gfx/libimagequant/libimagequant-4.2.2.ebuild b/media-gfx/libimagequant/libimagequant-4.2.2.ebuild deleted file mode 100644 index 5a96622a9881..000000000000 --- a/media-gfx/libimagequant/libimagequant-4.2.2.ebuild +++ /dev/null @@ -1,86 +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.8.6 - arrayvec@0.7.4 - autocfg@1.1.0 - bitflags@2.4.1 - bytemuck@1.14.0 - cc@1.0.83 - cfg-if@1.0.0 - crc32fast@1.3.2 - crossbeam-deque@0.8.3 - crossbeam-epoch@0.9.15 - crossbeam-utils@0.8.16 - either@1.9.0 - fallible_collections@0.4.9 - flate2@1.0.28 - hashbrown@0.13.2 - libc@0.2.149 - lodepng@3.9.1 - memoffset@0.9.0 - miniz_oxide@0.7.1 - once_cell@1.18.0 - proc-macro2@1.0.69 - quote@1.0.33 - rayon-core@1.12.0 - rayon@1.8.0 - rgb@0.8.37 - scopeguard@1.2.0 - syn@2.0.38 - thread_local@1.1.7 - unicode-ident@1.0.12 - version_check@0.9.4 - zerocopy-derive@0.7.20 - zerocopy@0.7.20 -" - -inherit cargo - -DESCRIPTION="Palette quantization library that powers pngquant and other PNG optimizers" -HOMEPAGE="https://pngquant.org/lib/" -SRC_URI="https://github.com/ImageOptim/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" -SRC_URI+=" ${CARGO_CRATE_URIS}" -S="${WORKDIR}"/${P}/imagequant-sys - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" MIT Unicode-DFS-2016 ZLIB" -SLOT="0/0" -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.*" - -src_compile() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - $(usev !debug '--release') - ) - - cargo cbuild "${cargoargs[@]}" || die "cargo cbuild failed" -} - -src_install() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - --destdir="${ED}" - $(usex debug '--debug' '--release') - ) - - cargo cinstall "${cargoargs[@]}" || die "cargo cinstall failed" -} diff --git a/media-gfx/libimagequant/libimagequant-4.3.0-r1.ebuild b/media-gfx/libimagequant/libimagequant-4.3.0-r1.ebuild new file mode 100644 index 000000000000..710c7dc0634f --- /dev/null +++ b/media-gfx/libimagequant/libimagequant-4.3.0-r1.ebuild @@ -0,0 +1,51 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" + +inherit cargo + +DESCRIPTION="Palette quantization library that powers pngquant and other PNG optimizers" +HOMEPAGE="https://pngquant.org/lib/" +SRC_URI="https://github.com/ImageOptim/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + https://dev.gentoo.org/~arthurzam/distfiles/media-gfx/${PN}/imagequant-${PV}-crates.tar.xz" +S="${WORKDIR}"/${P}/imagequant-sys + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" MIT Unicode-DFS-2016 ZLIB" +SLOT="0/0" +KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~s390 sparc" + +BDEPEND=" + >=dev-util/cargo-c-0.9.14 +" + +QA_FLAGS_IGNORED="usr/lib.*/libimagequant.so.*" + +src_compile() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + $(usev !debug '--release') + ) + + cargo cbuild "${cargoargs[@]}" || die "cargo cbuild failed" +} + +src_install() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + --destdir="${ED}" + $(usex debug '--debug' '--release') + ) + + cargo cinstall "${cargoargs[@]}" || die "cargo cinstall failed" +} diff --git a/media-gfx/libimagequant/libimagequant-4.3.0.ebuild b/media-gfx/libimagequant/libimagequant-4.3.0.ebuild deleted file mode 100644 index 55609484950f..000000000000 --- a/media-gfx/libimagequant/libimagequant-4.3.0.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" -" - -inherit cargo - -DESCRIPTION="Palette quantization library that powers pngquant and other PNG optimizers" -HOMEPAGE="https://pngquant.org/lib/" -SRC_URI="https://github.com/ImageOptim/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} - https://dev.gentoo.org/~arthurzam/distfiles/media-gfx/${PN}/imagequant-${PV}-crates.tar.xz" -S="${WORKDIR}"/${P}/imagequant-sys - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" MIT Unicode-DFS-2016 ZLIB" -SLOT="0/0" -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.*" - -src_compile() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - $(usev !debug '--release') - ) - - cargo cbuild "${cargoargs[@]}" || die "cargo cbuild failed" -} - -src_install() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - --destdir="${ED}" - $(usex debug '--debug' '--release') - ) - - cargo cinstall "${cargoargs[@]}" || die "cargo cinstall failed" -} 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-r1.ebuild b/media-gfx/oxipng/oxipng-9.0.0-r1.ebuild new file mode 100644 index 000000000000..f94d2b560cd1 --- /dev/null +++ b/media-gfx/oxipng/oxipng-9.0.0-r1.ebuild @@ -0,0 +1,118 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Auto-Generated by cargo-ebuild 0.5.4-r1 + +EAPI=8 + +CRATES=" + adler@1.0.2 + anstream@0.3.2 + anstyle@1.0.1 + anstyle-parse@0.2.1 + anstyle-query@1.0.0 + anstyle-wincon@1.0.1 + autocfg@1.1.0 + bitflags@1.3.2 + bitvec@1.0.1 + bytemuck@1.13.1 + byteorder@1.4.3 + cc@1.0.79 + cfg-if@1.0.0 + clap@4.3.8 + clap_builder@4.3.8 + clap_lex@0.5.0 + color_quant@1.1.0 + colorchoice@1.0.0 + crc32fast@1.3.2 + crossbeam-channel@0.5.8 + crossbeam-deque@0.8.3 + crossbeam-epoch@0.9.15 + crossbeam-utils@0.8.16 + either@1.8.1 + env_logger@0.10.0 + equivalent@1.0.0 + errno@0.3.1 + errno-dragonfly@0.1.2 + fdeflate@0.3.0 + filetime@0.2.21 + flate2@1.0.26 + funty@2.0.0 + glob@0.3.1 + hashbrown@0.14.0 + hermit-abi@0.2.6 + hermit-abi@0.3.1 + image@0.24.6 + indexmap@2.0.0 + io-lifetimes@1.0.11 + is-terminal@0.4.7 + libc@0.2.146 + libdeflate-sys@1.19.0 + libdeflater@1.19.0 + linux-raw-sys@0.3.8 + log@0.4.20 + memoffset@0.9.0 + miniz_oxide@0.7.1 + num-integer@0.1.45 + num-rational@0.4.1 + num-traits@0.2.15 + num_cpus@1.15.0 + png@0.17.9 + radium@0.7.0 + rayon@1.7.0 + rayon-core@1.11.0 + redox_syscall@0.2.16 + rgb@0.8.36 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.37.20 + scopeguard@1.1.0 + semver@1.0.17 + simd-adler32@0.3.7 + strsim@0.10.0 + tap@1.0.1 + termcolor@1.1.3 + terminal_size@0.2.6 + typed-arena@2.0.2 + utf8parse@0.2.1 + 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.0 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_msvc@0.48.0 + windows_i686_gnu@0.48.0 + windows_i686_msvc@0.48.0 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_msvc@0.48.0 + wyz@0.5.1 + zopfli@0.8.0 +" + +inherit cargo + +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}" + +LICENSE=" + Apache-2.0 + || ( Apache-2.0 MIT ) + || ( Apache-2.0 MIT ZLIB ) + MIT + || ( MIT Unlicense ) +" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~riscv ~x86" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +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.ebuild deleted file mode 100644 index dc57177ddd22..000000000000 --- a/media-gfx/oxipng/oxipng-9.0.0.ebuild +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Auto-Generated by cargo-ebuild 0.5.4-r1 - -EAPI=8 - -CRATES=" - adler@1.0.2 - anstream@0.3.2 - anstyle@1.0.1 - anstyle-parse@0.2.1 - anstyle-query@1.0.0 - anstyle-wincon@1.0.1 - autocfg@1.1.0 - bitflags@1.3.2 - bitvec@1.0.1 - bytemuck@1.13.1 - byteorder@1.4.3 - cc@1.0.79 - cfg-if@1.0.0 - clap@4.3.8 - clap_builder@4.3.8 - clap_lex@0.5.0 - color_quant@1.1.0 - colorchoice@1.0.0 - crc32fast@1.3.2 - crossbeam-channel@0.5.8 - crossbeam-deque@0.8.3 - crossbeam-epoch@0.9.15 - crossbeam-utils@0.8.16 - either@1.8.1 - env_logger@0.10.0 - equivalent@1.0.0 - errno@0.3.1 - errno-dragonfly@0.1.2 - fdeflate@0.3.0 - filetime@0.2.21 - flate2@1.0.26 - funty@2.0.0 - glob@0.3.1 - hashbrown@0.14.0 - hermit-abi@0.2.6 - hermit-abi@0.3.1 - image@0.24.6 - indexmap@2.0.0 - io-lifetimes@1.0.11 - is-terminal@0.4.7 - libc@0.2.146 - libdeflate-sys@1.19.0 - libdeflater@1.19.0 - linux-raw-sys@0.3.8 - log@0.4.20 - memoffset@0.9.0 - miniz_oxide@0.7.1 - num-integer@0.1.45 - num-rational@0.4.1 - num-traits@0.2.15 - num_cpus@1.15.0 - png@0.17.9 - radium@0.7.0 - rayon@1.7.0 - rayon-core@1.11.0 - redox_syscall@0.2.16 - rgb@0.8.36 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.37.20 - scopeguard@1.1.0 - semver@1.0.17 - simd-adler32@0.3.7 - strsim@0.10.0 - tap@1.0.1 - termcolor@1.1.3 - terminal_size@0.2.6 - typed-arena@2.0.2 - utf8parse@0.2.1 - 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.0 - windows_aarch64_gnullvm@0.48.0 - windows_aarch64_msvc@0.48.0 - windows_i686_gnu@0.48.0 - windows_i686_msvc@0.48.0 - windows_x86_64_gnu@0.48.0 - windows_x86_64_gnullvm@0.48.0 - windows_x86_64_msvc@0.48.0 - wyz@0.5.1 - zopfli@0.8.0 -" - -inherit cargo - -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}" - -LICENSE=" - Apache-2.0 - || ( Apache-2.0 MIT ) - || ( Apache-2.0 MIT ZLIB ) - MIT - || ( MIT Unlicense ) -" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~riscv ~x86" - -BDEPEND=">=virtual/rust-1.66.0" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_install() { - cargo_src_install - - dodoc CHANGELOG.md README.md -} diff --git a/media-gfx/oxipng/oxipng-9.1.2-r1.ebuild b/media-gfx/oxipng/oxipng-9.1.2-r1.ebuild new file mode 100644 index 000000000000..3b199b4f6e39 --- /dev/null +++ b/media-gfx/oxipng/oxipng-9.1.2-r1.ebuild @@ -0,0 +1,128 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Auto-Generated by cargo-ebuild 0.5.4-r1 + +EAPI=8 + +CRATES=" + adler@1.0.2 + anstream@0.6.13 + anstyle@1.0.6 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + autocfg@1.2.0 + bitflags@1.3.2 + bitflags@2.5.0 + bitvec@1.0.1 + bytemuck@1.16.1 + byteorder@1.5.0 + cc@1.0.92 + cfg-if@1.0.0 + clap@4.5.4 + clap_builder@4.5.2 + clap_lex@0.7.0 + clap_mangen@0.2.20 + colorchoice@1.0.0 + crc32fast@1.4.0 + crossbeam-channel@0.5.12 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.19 + either@1.10.0 + env_filter@0.1.0 + env_logger@0.11.3 + equivalent@1.0.1 + errno@0.3.8 + fdeflate@0.3.4 + filetime@0.2.23 + flate2@1.0.28 + funty@2.0.0 + glob@0.3.1 + hashbrown@0.14.3 + image@0.25.1 + indexmap@2.2.6 + libc@0.2.153 + libdeflate-sys@1.20.0 + libdeflater@1.20.0 + linux-raw-sys@0.4.13 + log@0.4.21 + miniz_oxide@0.7.2 + num-traits@0.2.18 + png@0.17.13 + radium@0.7.0 + rayon@1.10.0 + rayon-core@1.12.1 + redox_syscall@0.4.1 + rgb@0.8.44 + roff@0.2.1 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.32 + semver@1.0.22 + simd-adler32@0.3.7 + strsim@0.11.1 + tap@1.0.1 + terminal_size@0.3.0 + typed-arena@2.0.2 + utf8parse@0.2.1 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.5 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.5 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.5 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.5 + windows_i686_gnullvm@0.52.5 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.5 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.5 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.5 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.5 + wyz@0.5.1 + zopfli@0.8.0 +" + +RUST_MIN_VER="1.74.0" + +inherit cargo + +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}" + +LICENSE=" + Apache-2.0 + || ( Apache-2.0 MIT ) + || ( Apache-2.0 MIT ZLIB ) + MIT +" +SLOT="0" +KEYWORDS="amd64 ~arm64 ~riscv ~x86" + +# 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}" +QA_PRESTRIPPED="usr/bin/${PN}" + +src_prepare() { + # Remove the linker configs (in `.cargo/config.toml`) specific to GitHub CI. + # https://bugs.gentoo.org/924946 + rm -rv "${S}/.cargo/config.toml" || die + + default_src_prepare +} + +src_install() { + cargo_src_install + + dodoc CHANGELOG.md README.md +} diff --git a/media-gfx/oxipng/oxipng-9.1.2.ebuild b/media-gfx/oxipng/oxipng-9.1.2.ebuild deleted file mode 100644 index 8504fd85f18f..000000000000 --- a/media-gfx/oxipng/oxipng-9.1.2.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Auto-Generated by cargo-ebuild 0.5.4-r1 - -EAPI=8 - -CRATES=" - adler@1.0.2 - anstream@0.6.13 - anstyle@1.0.6 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - autocfg@1.2.0 - bitflags@1.3.2 - bitflags@2.5.0 - bitvec@1.0.1 - bytemuck@1.16.1 - byteorder@1.5.0 - cc@1.0.92 - cfg-if@1.0.0 - clap@4.5.4 - clap_builder@4.5.2 - clap_lex@0.7.0 - clap_mangen@0.2.20 - colorchoice@1.0.0 - crc32fast@1.4.0 - crossbeam-channel@0.5.12 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.19 - either@1.10.0 - env_filter@0.1.0 - env_logger@0.11.3 - equivalent@1.0.1 - errno@0.3.8 - fdeflate@0.3.4 - filetime@0.2.23 - flate2@1.0.28 - funty@2.0.0 - glob@0.3.1 - hashbrown@0.14.3 - image@0.25.1 - indexmap@2.2.6 - libc@0.2.153 - libdeflate-sys@1.20.0 - libdeflater@1.20.0 - linux-raw-sys@0.4.13 - log@0.4.21 - miniz_oxide@0.7.2 - num-traits@0.2.18 - png@0.17.13 - radium@0.7.0 - rayon@1.10.0 - rayon-core@1.12.1 - redox_syscall@0.4.1 - rgb@0.8.44 - roff@0.2.1 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.32 - semver@1.0.22 - simd-adler32@0.3.7 - strsim@0.11.1 - tap@1.0.1 - terminal_size@0.3.0 - typed-arena@2.0.2 - utf8parse@0.2.1 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.5 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.5 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.5 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.5 - windows_i686_gnullvm@0.52.5 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.5 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.5 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.5 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.5 - wyz@0.5.1 - zopfli@0.8.0 -" - -inherit cargo - -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}" - -LICENSE=" - Apache-2.0 - || ( Apache-2.0 MIT ) - || ( Apache-2.0 MIT ZLIB ) - MIT -" -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}" -QA_PRESTRIPPED="usr/bin/${PN}" - -src_prepare() { - # Remove the linker configs (in `.cargo/config.toml`) specific to GitHub CI. - # https://bugs.gentoo.org/924946 - rm -rv "${S}/.cargo/config.toml" || die - - default_src_prepare -} - -src_install() { - cargo_src_install - - dodoc CHANGELOG.md README.md -} diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild new file mode 100644 index 000000000000..0775282f7108 --- /dev/null +++ b/media-libs/glycin-loaders/glycin-loaders-1.1.0-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cargo meson + +MY_P=glycin-${PV/_/.} +DESCRIPTION="Loaders for glycin clients (glycin crate or libglycin)" +HOMEPAGE="https://gitlab.gnome.org/sophie-h/glycin/" +SRC_URI=" + https://download.gnome.org/sources/glycin/$(ver_cut 1-2)/${MY_P}.tar.xz +" +S=${WORKDIR}/${MY_P} + +LICENSE="|| ( LGPL-2.1+ MPL-2.0 )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD GPL-3+ ISC MIT + Unicode-DFS-2016 + || ( LGPL-2.1+ MPL-2.0 ) +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="heif jpegxl svg test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/glib-2.60:2 + >=sys-libs/libseccomp-2.5.0 + heif? ( >=media-libs/libheif-1.17.0:= ) + jpegxl? ( >=media-libs/libjxl-0.10.0:= ) + svg? ( + >=gnome-base/librsvg-2.52.0:2 + >=x11-libs/cairo-1.17.0 + ) +" +DEPEND=" + ${RDEPEND} + test? ( + >=gui-libs/gtk-4.12.0:4 + >=media-libs/lcms-2.14:2 + ) +" +BDEPEND=" + test? ( + sys-apps/bubblewrap + sys-apps/dbus + ) +" + +ECARGO_VENDOR=${S}/vendor + +QA_FLAGS_IGNORED="usr/libexec/glycin-loaders/.*" + +src_prepare() { + default + + # https://gitlab.gnome.org/sophie-h/glycin/-/issues/81 + sed -i -e '\|/fonts|d' tests/tests.rs || die +} + +src_configure() { + local formats=( + $(usev heif glycin-heif) + $(usev jpegxl glycin-jxl) + $(usev svg glycin-svg) + glycin-image-rs + ) + local formats_s=${formats[*]} + local emesonargs=( + -Dprofile=$(usex debug dev release) + -Dglycin-loaders=true + -Dloaders="${formats_s// /,}" + -Dtests=$(usex test true false) + -Dlibglycin=false + ) + + meson_src_configure + ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die +} + +src_test() { + # tests write to /proc/*/uid_map + # apparently, "addpredict /" in Portage breaks it + local -x SANDBOX_ON=0 + meson_src_test +} diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.0.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.0.ebuild deleted file mode 100644 index 0775282f7108..000000000000 --- a/media-libs/glycin-loaders/glycin-loaders-1.1.0.ebuild +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cargo meson - -MY_P=glycin-${PV/_/.} -DESCRIPTION="Loaders for glycin clients (glycin crate or libglycin)" -HOMEPAGE="https://gitlab.gnome.org/sophie-h/glycin/" -SRC_URI=" - https://download.gnome.org/sources/glycin/$(ver_cut 1-2)/${MY_P}.tar.xz -" -S=${WORKDIR}/${MY_P} - -LICENSE="|| ( LGPL-2.1+ MPL-2.0 )" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD GPL-3+ ISC MIT - Unicode-DFS-2016 - || ( LGPL-2.1+ MPL-2.0 ) -" -SLOT="0" -KEYWORDS="~amd64" -IUSE="heif jpegxl svg test" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-libs/glib-2.60:2 - >=sys-libs/libseccomp-2.5.0 - heif? ( >=media-libs/libheif-1.17.0:= ) - jpegxl? ( >=media-libs/libjxl-0.10.0:= ) - svg? ( - >=gnome-base/librsvg-2.52.0:2 - >=x11-libs/cairo-1.17.0 - ) -" -DEPEND=" - ${RDEPEND} - test? ( - >=gui-libs/gtk-4.12.0:4 - >=media-libs/lcms-2.14:2 - ) -" -BDEPEND=" - test? ( - sys-apps/bubblewrap - sys-apps/dbus - ) -" - -ECARGO_VENDOR=${S}/vendor - -QA_FLAGS_IGNORED="usr/libexec/glycin-loaders/.*" - -src_prepare() { - default - - # https://gitlab.gnome.org/sophie-h/glycin/-/issues/81 - sed -i -e '\|/fonts|d' tests/tests.rs || die -} - -src_configure() { - local formats=( - $(usev heif glycin-heif) - $(usev jpegxl glycin-jxl) - $(usev svg glycin-svg) - glycin-image-rs - ) - local formats_s=${formats[*]} - local emesonargs=( - -Dprofile=$(usex debug dev release) - -Dglycin-loaders=true - -Dloaders="${formats_s// /,}" - -Dtests=$(usex test true false) - -Dlibglycin=false - ) - - meson_src_configure - ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die -} - -src_test() { - # tests write to /proc/*/uid_map - # apparently, "addpredict /" in Portage breaks it - local -x SANDBOX_ON=0 - meson_src_test -} diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.1-r1.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.1-r1.ebuild new file mode 100644 index 000000000000..0775282f7108 --- /dev/null +++ b/media-libs/glycin-loaders/glycin-loaders-1.1.1-r1.ebuild @@ -0,0 +1,88 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cargo meson + +MY_P=glycin-${PV/_/.} +DESCRIPTION="Loaders for glycin clients (glycin crate or libglycin)" +HOMEPAGE="https://gitlab.gnome.org/sophie-h/glycin/" +SRC_URI=" + https://download.gnome.org/sources/glycin/$(ver_cut 1-2)/${MY_P}.tar.xz +" +S=${WORKDIR}/${MY_P} + +LICENSE="|| ( LGPL-2.1+ MPL-2.0 )" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD GPL-3+ ISC MIT + Unicode-DFS-2016 + || ( LGPL-2.1+ MPL-2.0 ) +" +SLOT="0" +KEYWORDS="~amd64" +IUSE="heif jpegxl svg test" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=dev-libs/glib-2.60:2 + >=sys-libs/libseccomp-2.5.0 + heif? ( >=media-libs/libheif-1.17.0:= ) + jpegxl? ( >=media-libs/libjxl-0.10.0:= ) + svg? ( + >=gnome-base/librsvg-2.52.0:2 + >=x11-libs/cairo-1.17.0 + ) +" +DEPEND=" + ${RDEPEND} + test? ( + >=gui-libs/gtk-4.12.0:4 + >=media-libs/lcms-2.14:2 + ) +" +BDEPEND=" + test? ( + sys-apps/bubblewrap + sys-apps/dbus + ) +" + +ECARGO_VENDOR=${S}/vendor + +QA_FLAGS_IGNORED="usr/libexec/glycin-loaders/.*" + +src_prepare() { + default + + # https://gitlab.gnome.org/sophie-h/glycin/-/issues/81 + sed -i -e '\|/fonts|d' tests/tests.rs || die +} + +src_configure() { + local formats=( + $(usev heif glycin-heif) + $(usev jpegxl glycin-jxl) + $(usev svg glycin-svg) + glycin-image-rs + ) + local formats_s=${formats[*]} + local emesonargs=( + -Dprofile=$(usex debug dev release) + -Dglycin-loaders=true + -Dloaders="${formats_s// /,}" + -Dtests=$(usex test true false) + -Dlibglycin=false + ) + + meson_src_configure + ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die +} + +src_test() { + # tests write to /proc/*/uid_map + # apparently, "addpredict /" in Portage breaks it + local -x SANDBOX_ON=0 + meson_src_test +} diff --git a/media-libs/glycin-loaders/glycin-loaders-1.1.1.ebuild b/media-libs/glycin-loaders/glycin-loaders-1.1.1.ebuild deleted file mode 100644 index 0775282f7108..000000000000 --- a/media-libs/glycin-loaders/glycin-loaders-1.1.1.ebuild +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cargo meson - -MY_P=glycin-${PV/_/.} -DESCRIPTION="Loaders for glycin clients (glycin crate or libglycin)" -HOMEPAGE="https://gitlab.gnome.org/sophie-h/glycin/" -SRC_URI=" - https://download.gnome.org/sources/glycin/$(ver_cut 1-2)/${MY_P}.tar.xz -" -S=${WORKDIR}/${MY_P} - -LICENSE="|| ( LGPL-2.1+ MPL-2.0 )" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD GPL-3+ ISC MIT - Unicode-DFS-2016 - || ( LGPL-2.1+ MPL-2.0 ) -" -SLOT="0" -KEYWORDS="~amd64" -IUSE="heif jpegxl svg test" -RESTRICT="!test? ( test )" - -RDEPEND=" - >=dev-libs/glib-2.60:2 - >=sys-libs/libseccomp-2.5.0 - heif? ( >=media-libs/libheif-1.17.0:= ) - jpegxl? ( >=media-libs/libjxl-0.10.0:= ) - svg? ( - >=gnome-base/librsvg-2.52.0:2 - >=x11-libs/cairo-1.17.0 - ) -" -DEPEND=" - ${RDEPEND} - test? ( - >=gui-libs/gtk-4.12.0:4 - >=media-libs/lcms-2.14:2 - ) -" -BDEPEND=" - test? ( - sys-apps/bubblewrap - sys-apps/dbus - ) -" - -ECARGO_VENDOR=${S}/vendor - -QA_FLAGS_IGNORED="usr/libexec/glycin-loaders/.*" - -src_prepare() { - default - - # https://gitlab.gnome.org/sophie-h/glycin/-/issues/81 - sed -i -e '\|/fonts|d' tests/tests.rs || die -} - -src_configure() { - local formats=( - $(usev heif glycin-heif) - $(usev jpegxl glycin-jxl) - $(usev svg glycin-svg) - glycin-image-rs - ) - local formats_s=${formats[*]} - local emesonargs=( - -Dprofile=$(usex debug dev release) - -Dglycin-loaders=true - -Dloaders="${formats_s// /,}" - -Dtests=$(usex test true false) - -Dlibglycin=false - ) - - meson_src_configure - ln -s "${CARGO_HOME}" "${BUILD_DIR}/cargo-home" || die -} - -src_test() { - # tests write to /proc/*/uid_map - # apparently, "addpredict /" in Portage breaks it - local -x SANDBOX_ON=0 - meson_src_test -} diff --git a/media-libs/libdovi/libdovi-3.3.1-r1.ebuild b/media-libs/libdovi/libdovi-3.3.1-r1.ebuild new file mode 100644 index 000000000000..ec94f2d7d11b --- /dev/null +++ b/media-libs/libdovi/libdovi-3.3.1-r1.ebuild @@ -0,0 +1,146 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.3 + anes@0.1.6 + anstyle@1.0.8 + anyhow@1.0.86 + autocfg@1.3.0 + bitstream-io@2.5.0 + bitvec@1.0.1 + bitvec_helpers@3.1.5 + bumpalo@3.16.0 + cast@0.3.0 + cfg-if@1.0.0 + ciborium-io@0.2.2 + ciborium-ll@0.2.2 + ciborium@0.2.2 + clap@4.5.13 + clap_builder@4.5.13 + clap_lex@0.7.2 + crc-catalog@2.4.0 + crc@3.2.1 + criterion-plot@0.5.0 + criterion@0.5.1 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crunchy@0.2.2 + either@1.13.0 + equivalent@1.0.1 + funty@2.0.0 + half@2.4.1 + hashbrown@0.14.5 + hermit-abi@0.3.9 + indexmap@2.3.0 + is-terminal@0.4.12 + itertools@0.10.5 + itoa@1.0.11 + js-sys@0.3.69 + libc@0.2.155 + log@0.4.22 + memchr@2.7.4 + num-traits@0.2.19 + once_cell@1.19.0 + oorandom@11.1.4 + plotters-backend@0.3.6 + plotters-svg@0.3.6 + plotters@0.3.6 + proc-macro2@1.0.86 + quote@1.0.36 + radium@0.7.0 + rayon-core@1.12.1 + rayon@1.10.0 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.6 + roxmltree@0.20.0 + ryu@1.0.18 + same-file@1.0.6 + serde@1.0.204 + serde_derive@1.0.204 + serde_json@1.0.122 + syn@2.0.72 + tap@1.0.1 + tinytemplate@1.2.1 + tinyvec@1.8.0 + unicode-ident@1.0.12 + walkdir@2.5.0 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + winapi-util@0.1.9 + 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_gnullvm@0.52.6 + windows_i686_gnu@0.52.6 + windows_i686_msvc@0.52.6 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_gnu@0.52.6 + windows_x86_64_msvc@0.52.6 + wyz@0.5.1 +" + +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/" +SRC_URI=" + https://github.com/quietvoid/dovi_tool/archive/refs/tags/${P}.tar.gz + ${CARGO_CRATE_URIS} +" +S=${WORKDIR}/dovi_tool-${P}/dolby_vision + +LICENSE="MIT" +LICENSE+=" Apache-2.0 MIT Unicode-DFS-2016" # crates +SLOT="0/$(ver_cut 1)" +KEYWORDS="amd64" + +BDEPEND=" + dev-util/cargo-c +" + +QA_FLAGS_IGNORED="usr/lib.*/${PN}.*" + +src_prepare() { + default + + multilib_copy_sources +} + +multilib_src_configure() { + local -n cargoargs=${PN}_CARGOARGS_${ABI} + + cargoargs=( + --prefix="${EPREFIX}/usr" + --libdir="${EPREFIX}/usr/$(get_libdir)" + --library-type=cdylib + --target="$(rust_abi)" + # cargo cbuild --help claims dev is default but (currently) this seems + # to always use release unless --profile=dev is explicitly passed? + $(usex debug --profile=dev --release) + ) +} + +multilib_src_compile() { + local -n cargoargs=${PN}_CARGOARGS_${ABI} + + edo cargo cbuild "${cargoargs[@]}" +} + +multilib_src_install() { + local -n cargoargs=${PN}_CARGOARGS_${ABI} + + edo cargo cinstall --destdir="${D}" "${cargoargs[@]}" +} diff --git a/media-libs/libdovi/libdovi-3.3.1.ebuild b/media-libs/libdovi/libdovi-3.3.1.ebuild deleted file mode 100644 index c8d73ea5f7ba..000000000000 --- a/media-libs/libdovi/libdovi-3.3.1.ebuild +++ /dev/null @@ -1,143 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick@1.1.3 - anes@0.1.6 - anstyle@1.0.8 - anyhow@1.0.86 - autocfg@1.3.0 - bitstream-io@2.5.0 - bitvec@1.0.1 - bitvec_helpers@3.1.5 - bumpalo@3.16.0 - cast@0.3.0 - cfg-if@1.0.0 - ciborium-io@0.2.2 - ciborium-ll@0.2.2 - ciborium@0.2.2 - clap@4.5.13 - clap_builder@4.5.13 - clap_lex@0.7.2 - crc-catalog@2.4.0 - crc@3.2.1 - criterion-plot@0.5.0 - criterion@0.5.1 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.20 - crunchy@0.2.2 - either@1.13.0 - equivalent@1.0.1 - funty@2.0.0 - half@2.4.1 - hashbrown@0.14.5 - hermit-abi@0.3.9 - indexmap@2.3.0 - is-terminal@0.4.12 - itertools@0.10.5 - itoa@1.0.11 - js-sys@0.3.69 - libc@0.2.155 - log@0.4.22 - memchr@2.7.4 - num-traits@0.2.19 - once_cell@1.19.0 - oorandom@11.1.4 - plotters-backend@0.3.6 - plotters-svg@0.3.6 - plotters@0.3.6 - proc-macro2@1.0.86 - quote@1.0.36 - radium@0.7.0 - rayon-core@1.12.1 - rayon@1.10.0 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.6 - roxmltree@0.20.0 - ryu@1.0.18 - same-file@1.0.6 - serde@1.0.204 - serde_derive@1.0.204 - serde_json@1.0.122 - syn@2.0.72 - tap@1.0.1 - tinytemplate@1.2.1 - tinyvec@1.8.0 - unicode-ident@1.0.12 - walkdir@2.5.0 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - winapi-util@0.1.9 - 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_gnullvm@0.52.6 - windows_i686_gnu@0.52.6 - windows_i686_msvc@0.52.6 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_gnu@0.52.6 - windows_x86_64_msvc@0.52.6 - wyz@0.5.1 -" -inherit cargo edo multilib-minimal rust-toolchain - -DESCRIPTION="Dolby Vision metadata parsing and writing" -HOMEPAGE="https://github.com/quietvoid/dovi_tool/" -SRC_URI=" - https://github.com/quietvoid/dovi_tool/archive/refs/tags/${P}.tar.gz - ${CARGO_CRATE_URIS} -" -S=${WORKDIR}/dovi_tool-${P}/dolby_vision - -LICENSE="MIT" -LICENSE+=" Apache-2.0 MIT Unicode-DFS-2016" # crates -SLOT="0/$(ver_cut 1)" -KEYWORDS="amd64" - -BDEPEND=" - dev-util/cargo-c -" - -QA_FLAGS_IGNORED="usr/lib.*/${PN}.*" - -src_prepare() { - default - - multilib_copy_sources -} - -multilib_src_configure() { - local -n cargoargs=${PN}_CARGOARGS_${ABI} - - cargoargs=( - --prefix="${EPREFIX}/usr" - --libdir="${EPREFIX}/usr/$(get_libdir)" - --library-type=cdylib - --target="$(rust_abi)" - # cargo cbuild --help claims dev is default but (currently) this seems - # to always use release unless --profile=dev is explicitly passed? - $(usex debug --profile=dev --release) - ) -} - -multilib_src_compile() { - local -n cargoargs=${PN}_CARGOARGS_${ABI} - - edo cargo cbuild "${cargoargs[@]}" -} - -multilib_src_install() { - local -n cargoargs=${PN}_CARGOARGS_${ABI} - - edo cargo cinstall --destdir="${D}" "${cargoargs[@]}" -} diff --git a/media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild b/media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild new file mode 100644 index 000000000000..4825810f5604 --- /dev/null +++ b/media-libs/libopenraw/libopenraw-0.3.7-r1.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " +# for stdsimd +RUST_MAX_VER=1.77.1 + +inherit autotools cargo gnome2-utils + +DESCRIPTION="RAW image formats decoding library" +HOMEPAGE="https://libopenraw.freedesktop.org/" +SRC_URI="https://${PN}.freedesktop.org/download/${P}.tar.xz" + +# MPL-2.0 for mp4parse (https://gitlab.freedesktop.org/libopenraw/libopenraw/-/issues/15) +LICENSE="GPL-3 LGPL-3 MPL-2.0" +SLOT="0/9" +KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="gtk test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/libxml2 + media-libs/libjpeg-turbo:= + gtk? ( + dev-libs/glib:2 + >=x11-libs/gdk-pixbuf-2.24.0:2 + ) +" +DEPEND=" + ${RDEPEND} + dev-libs/boost +" +BDEPEND=" + virtual/pkgconfig + test? ( net-misc/curl ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.3.7-slibtool.patch #913723 +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + econf \ + --with-boost="${EPREFIX}"/usr \ + $(use_enable gtk gnome) +} + +src_compile() { + # Avoid cargo_src_compile + default +} + +src_test() { + # Avoid cargo_src_test + default +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + use gtk && gnome2_gdk_pixbuf_update +} + +pkg_postrm() { + use gtk && gnome2_gdk_pixbuf_update +} diff --git a/media-libs/libopenraw/libopenraw-0.3.7.ebuild b/media-libs/libopenraw/libopenraw-0.3.7.ebuild deleted file mode 100644 index cbe9f9abf592..000000000000 --- a/media-libs/libopenraw/libopenraw-0.3.7.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" " -inherit autotools cargo gnome2-utils - -DESCRIPTION="RAW image formats decoding library" -HOMEPAGE="https://libopenraw.freedesktop.org/" -SRC_URI="https://${PN}.freedesktop.org/download/${P}.tar.xz" - -# MPL-2.0 for mp4parse (https://gitlab.freedesktop.org/libopenraw/libopenraw/-/issues/15) -LICENSE="GPL-3 LGPL-3 MPL-2.0" -SLOT="0/9" -KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="gtk test" -RESTRICT="!test? ( test )" - -RDEPEND=" - dev-libs/libxml2 - media-libs/libjpeg-turbo:= - gtk? ( - dev-libs/glib:2 - >=x11-libs/gdk-pixbuf-2.24.0:2 - ) -" -DEPEND=" - ${RDEPEND} - dev-libs/boost -" -BDEPEND=" - virtual/pkgconfig - test? ( net-misc/curl ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-0.3.7-slibtool.patch #913723 -) - -src_prepare() { - default - eautoreconf -} - -src_configure() { - econf \ - --with-boost="${EPREFIX}"/usr \ - $(use_enable gtk gnome) -} - -src_compile() { - # Avoid cargo_src_compile - default -} - -src_test() { - # Avoid cargo_src_test - default -} - -src_install() { - default - - find "${ED}" -name '*.la' -delete || die -} - -pkg_postinst() { - use gtk && gnome2_gdk_pixbuf_update -} - -pkg_postrm() { - use gtk && gnome2_gdk_pixbuf_update -} diff --git a/media-libs/mesa/mesa-24.1.7-r1.ebuild b/media-libs/mesa/mesa-24.1.7-r1.ebuild new file mode 100644 index 000000000000..5d4171f71288 --- /dev/null +++ b/media-libs/mesa/mesa-24.1.7-r1.ebuild @@ -0,0 +1,501 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {15..18} ) +LLVM_OPTIONAL=1 +CARGO_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..12} ) + +inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain + +MY_P="${P/_/-}" + +CRATES=" + syn@2.0.39 + proc-macro2@1.0.70 + quote@1.0.33 + unicode-ident@1.0.12 + paste@1.0.14 +" + +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + +inherit cargo + +DESCRIPTION="OpenGL-like graphic library for Linux" +HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + SRC_URI=" + https://archive.mesa3d.org/${MY_P}.tar.xz + " + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris" +fi + +# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, +# but there are "stale" distfiles on the mirrors with the wrong names. +# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +S="${WORKDIR}/${MY_P}" +EGIT_CHECKOUT_DIR=${S} + +LICENSE="MIT SGI-B-2.0" +SLOT="0" + +RADEON_CARDS="r300 r600 radeon radeonsi" +VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl vivante vmware zink" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done + +IUSE="${IUSE_VIDEO_CARDS} + cpu_flags_x86_sse2 d3d9 debug +llvm + lm-sensors opencl +opengl osmesa +proprietary-codecs selinux + test unwind vaapi valgrind vdpau vulkan + vulkan-overlay wayland +X xa +zstd" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + d3d9? ( + || ( + video_cards_freedreno + video_cards_intel + video_cards_nouveau + video_cards_panfrost + video_cards_r300 + video_cards_r600 + video_cards_radeonsi + video_cards_vmware + video_cards_zink + ) + ) + llvm? ( ${LLVM_REQUIRED_USE} ) + vulkan-overlay? ( vulkan ) + video_cards_lavapipe? ( llvm vulkan ) + video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_zink? ( vulkan opengl ) + video_cards_nvk? ( vulkan video_cards_nouveau ) + vdpau? ( X ) + xa? ( X ) +" + +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.119" +RDEPEND=" + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + llvm? ( + $(llvm_gen_dep " + sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + opencl? ( + dev-util/spirv-llvm-translator:\${LLVM_SLOT} + sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + ) + ") + video_cards_r600? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_radeon? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + ) + lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) + opencl? ( + >=virtual/opencl-3 + dev-libs/libclc[spirv(-)] + >=dev-util/spirv-tools-1.3.231.0 + virtual/libelf:0= + ) + vaapi? ( + >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] + ) + vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) + video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) + video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) + selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) + wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) + ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] + ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +for card in ${RADEON_CARDS}; do + RDEPEND="${RDEPEND} + video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) + " +done +RDEPEND="${RDEPEND} + video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) +" + +DEPEND="${RDEPEND} + video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) + valgrind? ( dev-debug/valgrind ) + wayland? ( >=dev-libs/wayland-protocols-1.34 ) + X? ( + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-base/xorg-proto + ) +" +BDEPEND=" + ${PYTHON_DEPS} + opencl? ( + ${RUST_DEPEND} + >=dev-util/bindgen-0.58.0 + ) + >=dev-build/meson-1.4.1 + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + ") + video_cards_intel? ( + ~dev-util/intel_clc-${PV} + dev-libs/libclc[spirv(-)] + $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") + ) + vulkan? ( + dev-util/glslang + video_cards_nvk? ( + >=dev-util/bindgen-0.68.1 + >=dev-util/cbindgen-0.26.0 + ${RUST_DEPEND} + ) + ) + wayland? ( dev-util/wayland-scanner ) +" + +QA_WX_LOAD=" +x86? ( + usr/lib/libglapi.so.0.0.0 + usr/lib/libOSMesa.so.8.0.0 + usr/lib/libGLX_mesa.so.0.0.0 +)" + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + unpack ${MY_P}.tar.xz + fi + + # We need this because we cannot tell meson to use DISTDIR yet + pushd "${DISTDIR}" >/dev/null || die + mkdir -p "${S}"/subprojects/packagecache || die + local i + for i in *.crate; do + ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die + done + popd >/dev/null || die +} + +pkg_pretend() { + if use vulkan; then + if ! use video_cards_d3d12 && + ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_lavapipe && + ! use video_cards_nouveau && + ! use video_cards_nvk && + ! use video_cards_panfrost && + ! use video_cards_radeonsi && + ! use video_cards_v3d && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" + fi + fi + + # VA + if use vaapi; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use vdpau; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use xa; then + if ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_nouveau && + ! use video_cards_vmware; then + ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" + fi + fi + + if ! use llvm; then + use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" + fi + + if use osmesa && ! use llvm; then + ewarn "OSMesa will be slow without enabling USE=llvm" + fi +} + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1 + if use llvm && use vulkan && use video_cards_intel && use amd64; then + python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 + fi +} + +pkg_setup() { + # warning message for bug 459306 + if use llvm && has_version sys-devel/llvm[!debug=]; then + ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" + ewarn "detected! This can cause problems. For details, see bug 459306." + fi + + if use video_cards_intel || + use video_cards_radeonsi; then + if kernel_is -ge 5 11 3; then + CONFIG_CHECK="~KCMP" + elif kernel_is -ge 5 11; then + CONFIG_CHECK="~CHECKPOINT_RESTORE" + elif kernel_is -ge 5 10 20; then + CONFIG_CHECK="~KCMP" + else + CONFIG_CHECK="~CHECKPOINT_RESTORE" + fi + linux-info_pkg_setup + fi + + use llvm && llvm-r1_pkg_setup + python-any-r1_pkg_setup + + if use opencl || use vulkan; then + rust_pkg_setup + fi +} + +src_prepare() { + default + sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ + bin/symbols-check.py || die # bug #830728 +} + +multilib_src_configure() { + local emesonargs=() + + # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 + filter-lto + + local platforms + use X && platforms+="x11" + use wayland && platforms+=",wayland" + emesonargs+=(-Dplatforms=${platforms#,}) + + if use video_cards_freedreno || + use video_cards_intel || # crocus i915 iris + use video_cards_nouveau || + use video_cards_panfrost || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_vmware || # swrast + use video_cards_zink; then + emesonargs+=($(meson_use d3d9 gallium-nine)) + else + emesonargs+=(-Dgallium-nine=false) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vaapi gallium-va)) + use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) + else + emesonargs+=(-Dgallium-va=disabled) + fi + + if use video_cards_d3d12; then + emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vdpau gallium-vdpau)) + else + emesonargs+=(-Dgallium-vdpau=disabled) + fi + + if use video_cards_freedreno || + use video_cards_intel || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_feature xa gallium-xa)) + else + emesonargs+=(-Dgallium-xa=disabled) + fi + + if use video_cards_freedreno || + use video_cards_lima || + use video_cards_panfrost || + use video_cards_v3d || + use video_cards_vc4 || + use video_cards_vivante; then + gallium_enable -- kmsro + fi + + gallium_enable -- swrast + gallium_enable video_cards_d3d12 d3d12 + gallium_enable video_cards_freedreno freedreno + gallium_enable video_cards_intel crocus i915 iris + gallium_enable video_cards_lima lima + gallium_enable video_cards_nouveau nouveau + gallium_enable video_cards_panfrost panfrost + gallium_enable video_cards_v3d v3d + gallium_enable video_cards_vc4 vc4 + gallium_enable video_cards_virgl virgl + gallium_enable video_cards_vivante etnaviv + gallium_enable video_cards_vmware svga + gallium_enable video_cards_zink zink + + gallium_enable video_cards_r300 r300 + gallium_enable video_cards_r600 r600 + gallium_enable video_cards_radeonsi radeonsi + if ! use video_cards_r300 && + ! use video_cards_r600; then + gallium_enable video_cards_radeon r300 r600 + fi + + if use llvm && use opencl; then + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst + emesonargs+=( + $(meson_native_true gallium-rusticl) + -Drust_std=2021 + ) + fi + + if use vulkan; then + vulkan_enable video_cards_d3d12 microsoft-experimental + vulkan_enable video_cards_freedreno freedreno + vulkan_enable video_cards_intel intel intel_hasvk + vulkan_enable video_cards_lavapipe swrast + vulkan_enable video_cards_panfrost panfrost + vulkan_enable video_cards_radeonsi amd + vulkan_enable video_cards_v3d broadcom + vulkan_enable video_cards_vc4 broadcom + vulkan_enable video_cards_virgl virtio + if use video_cards_nvk; then + vulkan_enable video_cards_nvk nouveau + if ! multilib_is_native_abi; then + echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" + emesonargs+=( + --native-file "${T}"/rust_fix.ini + ) + fi + fi + fi + + driver_list() { + local drivers="$(sort -u <<< "${1// /$'\n'}")" + echo "${drivers//$'\n'/,}" + } + + local vulkan_layers + use vulkan && vulkan_layers+="device-select" + use vulkan-overlay && vulkan_layers+=",overlay" + emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) + + if use opengl && use X; then + emesonargs+=(-Dglx=dri) + else + emesonargs+=(-Dglx=disabled) + fi + + if [[ "${ABI}" == amd64 ]]; then + emesonargs+=($(meson_feature video_cards_intel intel-rt)) + fi + + use debug && EMESON_BUILDTYPE=debug + + emesonargs+=( + $(meson_use test build-tests) + -Dshared-glapi=enabled + -Ddri3=enabled + -Dexpat=enabled + $(meson_use opengl) + $(meson_feature opengl gbm) + $(meson_feature opengl gles1) + $(meson_feature opengl gles2) + $(meson_feature opengl glvnd) + $(meson_feature opengl egl) + $(meson_feature llvm) + $(meson_feature lm-sensors lmsensors) + $(meson_use osmesa) + $(meson_use selinux) + $(meson_feature unwind libunwind) + $(meson_feature zstd) + $(meson_use cpu_flags_x86_sse2 sse2) + -Dintel-clc=$(usex video_cards_intel system auto) + -Dvalgrind=$(usex valgrind auto disabled) + -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") + -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") + -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure + + if ! multilib_is_native_abi && use video_cards_nvk; then + sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die + fi +} + +multilib_src_test() { + meson_src_test -t 100 +} + +# $1 - VIDEO_CARDS flag (check skipped for "--") +# other args - names of DRI drivers to enable +gallium_enable() { + if [[ $1 == -- ]] || use $1; then + shift + GALLIUM_DRIVERS+=("$@") + fi +} + +vulkan_enable() { + if [[ $1 == -- ]] || use $1; then + shift + VULKAN_DRIVERS+=("$@") + fi +} diff --git a/media-libs/mesa/mesa-24.1.7.ebuild b/media-libs/mesa/mesa-24.1.7.ebuild deleted file mode 100644 index af5ee095a972..000000000000 --- a/media-libs/mesa/mesa-24.1.7.ebuild +++ /dev/null @@ -1,494 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 -CARGO_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..12} ) - -inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain - -MY_P="${P/_/-}" - -CRATES=" - syn@2.0.39 - proc-macro2@1.0.70 - quote@1.0.33 - unicode-ident@1.0.12 - paste@1.0.14 -" - -inherit cargo - -DESCRIPTION="OpenGL-like graphic library for Linux" -HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - inherit git-r3 -else - SRC_URI=" - https://archive.mesa3d.org/${MY_P}.tar.xz - " - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, -# but there are "stale" distfiles on the mirrors with the wrong names. -# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -LICENSE="MIT SGI-B-2.0" -SLOT="0" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl vivante vmware zink" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug +llvm - lm-sensors opencl +opengl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa +zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_freedreno - video_cards_intel - video_cards_nouveau - video_cards_panfrost - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_vmware - video_cards_zink - ) - ) - llvm? ( ${LLVM_REQUIRED_USE} ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_zink? ( vulkan opengl ) - video_cards_nvk? ( vulkan video_cards_nouveau ) - vdpau? ( X ) - xa? ( X ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.119" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - $(llvm_gen_dep " - sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - opencl? ( - dev-util/spirv-llvm-translator:\${LLVM_SLOT} - sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - ) - ") - video_cards_r600? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_radeon? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - ) - lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) - opencl? ( - >=virtual/opencl-3 - dev-libs/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - virtual/libelf:0= - ) - vaapi? ( - >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] - ) - vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) - video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) - video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) - selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) - wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) - ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] - ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -for card in ${RADEON_CARDS}; do - RDEPEND="${RDEPEND} - video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) - " -done -RDEPEND="${RDEPEND} - video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) -" - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.34 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - >=virtual/rust-1.62.0 - >=dev-util/bindgen-0.58.0 - ) - >=dev-build/meson-1.4.1 - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep " - >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] - dev-python/packaging[\${PYTHON_USEDEP}] - ") - video_cards_intel? ( - ~dev-util/intel_clc-${PV} - dev-libs/libclc[spirv(-)] - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - vulkan? ( - dev-util/glslang - video_cards_nvk? ( - >=dev-util/bindgen-0.68.1 - >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack ${MY_P}.tar.xz - fi - - # We need this because we cannot tell meson to use DISTDIR yet - pushd "${DISTDIR}" >/dev/null || die - mkdir -p "${S}"/subprojects/packagecache || die - local i - for i in *.crate; do - ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die - done - popd >/dev/null || die -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_lavapipe && - ! use video_cards_nouveau && - ! use video_cards_nvk && - ! use video_cards_panfrost && - ! use video_cards_radeonsi && - ! use video_cards_v3d && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" - fi - fi - - # VA - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" - fi - fi - - if ! use llvm; then - use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" - fi - - if use osmesa && ! use llvm; then - ewarn "OSMesa will be slow without enabling USE=llvm" - fi -} - -python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" || return 1 - if use llvm && use vulkan && use video_cards_intel && use amd64; then - python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 - fi -} - -pkg_setup() { - # warning message for bug 459306 - if use llvm && has_version sys-devel/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" - ewarn "detected! This can cause problems. For details, see bug 459306." - fi - - if use video_cards_intel || - use video_cards_radeonsi; then - if kernel_is -ge 5 11 3; then - CONFIG_CHECK="~KCMP" - elif kernel_is -ge 5 11; then - CONFIG_CHECK="~CHECKPOINT_RESTORE" - elif kernel_is -ge 5 10 20; then - CONFIG_CHECK="~KCMP" - else - CONFIG_CHECK="~CHECKPOINT_RESTORE" - fi - linux-info_pkg_setup - fi - - use llvm && llvm-r1_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 - filter-lto - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_freedreno || - use video_cards_intel || # crocus i915 iris - use video_cards_nouveau || - use video_cards_panfrost || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_vmware || # swrast - use video_cards_zink; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vaapi gallium-va)) - use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) - else - emesonargs+=(-Dgallium-va=disabled) - fi - - if use video_cards_d3d12; then - emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_intel || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - if use video_cards_freedreno || - use video_cards_lima || - use video_cards_panfrost || - use video_cards_v3d || - use video_cards_vc4 || - use video_cards_vivante; then - gallium_enable -- kmsro - fi - - gallium_enable -- swrast - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - gallium_enable video_cards_nouveau nouveau - gallium_enable video_cards_panfrost panfrost - gallium_enable video_cards_v3d v3d - gallium_enable video_cards_vc4 vc4 - gallium_enable video_cards_virgl virgl - gallium_enable video_cards_vivante etnaviv - gallium_enable video_cards_vmware svga - gallium_enable video_cards_zink zink - - gallium_enable video_cards_r300 r300 - gallium_enable video_cards_r600 r600 - gallium_enable video_cards_radeonsi radeonsi - if ! use video_cards_r300 && - ! use video_cards_r600; then - gallium_enable video_cards_radeon r300 r600 - fi - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst - emesonargs+=( - $(meson_native_true gallium-rusticl) - -Drust_std=2021 - ) - fi - - if use vulkan; then - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_lavapipe swrast - vulkan_enable video_cards_panfrost panfrost - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - vulkan_enable video_cards_vc4 broadcom - vulkan_enable video_cards_virgl virtio - if use video_cards_nvk; then - vulkan_enable video_cards_nvk nouveau - if ! multilib_is_native_abi; then - echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" - emesonargs+=( - --native-file "${T}"/rust_fix.ini - ) - fi - fi - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - local vulkan_layers - use vulkan && vulkan_layers+="device-select" - use vulkan-overlay && vulkan_layers+=",overlay" - emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) - - if use opengl && use X; then - emesonargs+=(-Dglx=dri) - else - emesonargs+=(-Dglx=disabled) - fi - - if [[ "${ABI}" == amd64 ]]; then - emesonargs+=($(meson_feature video_cards_intel intel-rt)) - fi - - use debug && EMESON_BUILDTYPE=debug - - emesonargs+=( - $(meson_use test build-tests) - -Dshared-glapi=enabled - -Ddri3=enabled - -Dexpat=enabled - $(meson_use opengl) - $(meson_feature opengl gbm) - $(meson_feature opengl gles1) - $(meson_feature opengl gles2) - $(meson_feature opengl glvnd) - $(meson_feature opengl egl) - $(meson_feature llvm) - $(meson_feature lm-sensors lmsensors) - $(meson_use osmesa) - $(meson_use selinux) - $(meson_feature unwind libunwind) - $(meson_feature zstd) - $(meson_use cpu_flags_x86_sse2 sse2) - -Dintel-clc=$(usex video_cards_intel system auto) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure - - if ! multilib_is_native_abi && use video_cards_nvk; then - sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die - fi -} - -multilib_src_test() { - meson_src_test -t 100 -} - -# $1 - VIDEO_CARDS flag (check skipped for "--") -# other args - names of DRI drivers to enable -gallium_enable() { - if [[ $1 == -- ]] || use $1; then - shift - GALLIUM_DRIVERS+=("$@") - fi -} - -vulkan_enable() { - if [[ $1 == -- ]] || use $1; then - shift - VULKAN_DRIVERS+=("$@") - fi -} diff --git a/media-libs/mesa/mesa-24.2.3-r1.ebuild b/media-libs/mesa/mesa-24.2.3-r1.ebuild new file mode 100644 index 000000000000..d45bd4b23536 --- /dev/null +++ b/media-libs/mesa/mesa-24.2.3-r1.ebuild @@ -0,0 +1,497 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {15..18} ) +LLVM_OPTIONAL=1 +CARGO_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain + +MY_P="${P/_/-}" + +CRATES=" + syn@2.0.68 + proc-macro2@1.0.86 + quote@1.0.33 + unicode-ident@1.0.12 + paste@1.0.14 +" + +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + +inherit cargo + +DESCRIPTION="OpenGL-like graphic library for Linux" +HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + SRC_URI=" + https://archive.mesa3d.org/${MY_P}.tar.xz + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" +fi + +# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, +# but there are "stale" distfiles on the mirrors with the wrong names. +# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +S="${WORKDIR}/${MY_P}" +EGIT_CHECKOUT_DIR=${S} + +LICENSE="MIT SGI-B-2.0" +SLOT="0" + +RADEON_CARDS="r300 r600 radeon radeonsi" +VIDEO_CARDS="${RADEON_CARDS} + d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl + vivante vmware zink" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done + +IUSE="${IUSE_VIDEO_CARDS} + cpu_flags_x86_sse2 d3d9 debug +llvm + lm-sensors opencl +opengl osmesa +proprietary-codecs selinux + test unwind vaapi valgrind vdpau vulkan + vulkan-overlay wayland +X xa +zstd" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + d3d9? ( + || ( + video_cards_freedreno + video_cards_intel + video_cards_nouveau + video_cards_panfrost + video_cards_r300 + video_cards_r600 + video_cards_radeonsi + video_cards_vmware + video_cards_zink + ) + ) + llvm? ( ${LLVM_REQUIRED_USE} ) + vulkan-overlay? ( vulkan ) + video_cards_lavapipe? ( llvm vulkan ) + video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_zink? ( vulkan opengl ) + video_cards_nvk? ( vulkan video_cards_nouveau ) + vdpau? ( X ) + xa? ( X ) +" + +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" +RDEPEND=" + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + llvm? ( + $(llvm_gen_dep " + sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + opencl? ( + dev-util/spirv-llvm-translator:\${LLVM_SLOT} + sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + ) + ") + video_cards_r600? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_radeon? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + ) + lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) + opencl? ( + >=virtual/opencl-3 + dev-libs/libclc[spirv(-)] + >=dev-util/spirv-tools-1.3.231.0 + virtual/libelf:0= + ) + vaapi? ( + >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] + ) + vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) + video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) + video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) + selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) + wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) + ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] + ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +for card in ${RADEON_CARDS}; do + RDEPEND="${RDEPEND} + video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) + " +done +RDEPEND="${RDEPEND} + video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) +" + +DEPEND="${RDEPEND} + video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) + valgrind? ( dev-debug/valgrind ) + wayland? ( >=dev-libs/wayland-protocols-1.34 ) + X? ( + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-base/xorg-proto + ) +" +BDEPEND=" + ${PYTHON_DEPS} + opencl? ( + ${RUST_DEPEND} + >=dev-util/bindgen-0.58.0 + ) + >=dev-build/meson-1.4.1 + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + dev-python/pyyaml[\${PYTHON_USEDEP}] + ") + video_cards_intel? ( + ~dev-util/intel_clc-${PV} + dev-libs/libclc[spirv(-)] + $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") + ) + vulkan? ( + dev-util/glslang + video_cards_nvk? ( + >=dev-util/bindgen-0.68.1 + >=dev-util/cbindgen-0.26.0 + ${RUST_DEPEND} + ) + ) + wayland? ( dev-util/wayland-scanner ) +" + +QA_WX_LOAD=" +x86? ( + usr/lib/libglapi.so.0.0.0 + usr/lib/libOSMesa.so.8.0.0 + usr/lib/libGLX_mesa.so.0.0.0 +)" + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + unpack ${MY_P}.tar.xz + fi + + # We need this because we cannot tell meson to use DISTDIR yet + pushd "${DISTDIR}" >/dev/null || die + mkdir -p "${S}"/subprojects/packagecache || die + local i + for i in *.crate; do + ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die + done + popd >/dev/null || die +} + +pkg_pretend() { + if use vulkan; then + if ! use video_cards_d3d12 && + ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_lavapipe && + ! use video_cards_nouveau && + ! use video_cards_nvk && + ! use video_cards_panfrost && + ! use video_cards_radeonsi && + ! use video_cards_v3d && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" + fi + fi + + # VA + if use vaapi; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use vdpau; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use xa; then + if ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_nouveau && + ! use video_cards_vmware; then + ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" + fi + fi + + if ! use llvm; then + use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" + fi + + if use osmesa && ! use llvm; then + ewarn "OSMesa will be slow without enabling USE=llvm" + fi +} + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 + if use llvm && use vulkan && use video_cards_intel && use amd64; then + python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 + fi +} + +pkg_setup() { + # warning message for bug 459306 + if use llvm && has_version sys-devel/llvm[!debug=]; then + ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" + ewarn "detected! This can cause problems. For details, see bug 459306." + fi + + if use video_cards_intel || + use video_cards_radeonsi; then + if kernel_is -ge 5 11 3; then + CONFIG_CHECK="~KCMP" + elif kernel_is -ge 5 11; then + CONFIG_CHECK="~CHECKPOINT_RESTORE" + elif kernel_is -ge 5 10 20; then + CONFIG_CHECK="~KCMP" + else + CONFIG_CHECK="~CHECKPOINT_RESTORE" + fi + linux-info_pkg_setup + fi + + use llvm && llvm-r1_pkg_setup + python-any-r1_pkg_setup + + if use opencl || use vulkan; then + rust_pkg_setup + fi +} + +src_prepare() { + default + sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ + bin/symbols-check.py || die # bug #830728 +} + +multilib_src_configure() { + local emesonargs=() + + # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 + filter-lto + + local platforms + use X && platforms+="x11" + use wayland && platforms+=",wayland" + emesonargs+=(-Dplatforms=${platforms#,}) + + if use video_cards_freedreno || + use video_cards_intel || # crocus i915 iris + use video_cards_nouveau || + use video_cards_panfrost || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_vmware || # svga + use video_cards_zink; then + emesonargs+=($(meson_use d3d9 gallium-nine)) + else + emesonargs+=(-Dgallium-nine=false) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vaapi gallium-va)) + use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) + else + emesonargs+=(-Dgallium-va=disabled) + fi + + if use video_cards_d3d12; then + emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vdpau gallium-vdpau)) + else + emesonargs+=(-Dgallium-vdpau=disabled) + fi + + if use video_cards_freedreno || + use video_cards_intel || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_feature xa gallium-xa)) + else + emesonargs+=(-Dgallium-xa=disabled) + fi + + gallium_enable !llvm softpipe + gallium_enable llvm llvmpipe + gallium_enable video_cards_d3d12 d3d12 + gallium_enable video_cards_freedreno freedreno + gallium_enable video_cards_intel crocus i915 iris + gallium_enable video_cards_lima lima + gallium_enable video_cards_nouveau nouveau + gallium_enable video_cards_panfrost panfrost + gallium_enable video_cards_v3d v3d + gallium_enable video_cards_vc4 vc4 + gallium_enable video_cards_virgl virgl + gallium_enable video_cards_vivante etnaviv + gallium_enable video_cards_vmware svga + gallium_enable video_cards_zink zink + + gallium_enable video_cards_r300 r300 + gallium_enable video_cards_r600 r600 + gallium_enable video_cards_radeonsi radeonsi + if ! use video_cards_r300 && + ! use video_cards_r600; then + gallium_enable video_cards_radeon r300 r600 + fi + + if use llvm && use opencl; then + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst + emesonargs+=( + $(meson_native_true gallium-rusticl) + -Drust_std=2021 + ) + fi + + if use vulkan; then + vulkan_enable video_cards_d3d12 microsoft-experimental + vulkan_enable video_cards_freedreno freedreno + vulkan_enable video_cards_intel intel intel_hasvk + vulkan_enable video_cards_lavapipe swrast + vulkan_enable video_cards_panfrost panfrost + vulkan_enable video_cards_radeonsi amd + vulkan_enable video_cards_v3d broadcom + vulkan_enable video_cards_vc4 broadcom + vulkan_enable video_cards_virgl virtio + if use video_cards_nvk; then + vulkan_enable video_cards_nvk nouveau + if ! multilib_is_native_abi; then + echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" + emesonargs+=( + --native-file "${T}"/rust_fix.ini + ) + fi + fi + fi + + driver_list() { + local drivers="$(sort -u <<< "${1// /$'\n'}")" + echo "${drivers//$'\n'/,}" + } + + local vulkan_layers + use vulkan && vulkan_layers+="device-select" + use vulkan-overlay && vulkan_layers+=",overlay" + emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) + + if use opengl && use X; then + emesonargs+=(-Dglx=dri) + else + emesonargs+=(-Dglx=disabled) + fi + + if [[ "${ABI}" == amd64 ]]; then + emesonargs+=($(meson_feature video_cards_intel intel-rt)) + fi + + use debug && EMESON_BUILDTYPE=debug + + emesonargs+=( + $(meson_use test build-tests) + -Dshared-glapi=enabled + -Ddri3=enabled + -Dexpat=enabled + $(meson_use opengl) + $(meson_feature opengl gbm) + $(meson_feature opengl gles1) + $(meson_feature opengl gles2) + $(meson_feature opengl glvnd) + $(meson_feature opengl egl) + $(meson_feature llvm) + $(meson_feature lm-sensors lmsensors) + $(meson_use osmesa) + $(meson_use selinux) + $(meson_feature unwind libunwind) + $(meson_feature zstd) + $(meson_use cpu_flags_x86_sse2 sse2) + -Dintel-clc=$(usex video_cards_intel system auto) + -Dvalgrind=$(usex valgrind auto disabled) + -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") + -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") + -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure + + if ! multilib_is_native_abi && use video_cards_nvk; then + sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die + fi +} + +multilib_src_test() { + meson_src_test -t 100 +} + +# $1 - VIDEO_CARDS flag (check skipped for "--") +# other args - names of DRI drivers to enable +gallium_enable() { + if [[ $1 == -- ]] || use $1; then + shift + GALLIUM_DRIVERS+=("$@") + fi +} + +vulkan_enable() { + if [[ $1 == -- ]] || use $1; then + shift + VULKAN_DRIVERS+=("$@") + fi +} diff --git a/media-libs/mesa/mesa-24.2.3.ebuild b/media-libs/mesa/mesa-24.2.3.ebuild deleted file mode 100644 index a58a2652340e..000000000000 --- a/media-libs/mesa/mesa-24.2.3.ebuild +++ /dev/null @@ -1,490 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 -CARGO_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain - -MY_P="${P/_/-}" - -CRATES=" - syn@2.0.68 - proc-macro2@1.0.86 - quote@1.0.33 - unicode-ident@1.0.12 - paste@1.0.14 -" - -inherit cargo - -DESCRIPTION="OpenGL-like graphic library for Linux" -HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - inherit git-r3 -else - SRC_URI=" - https://archive.mesa3d.org/${MY_P}.tar.xz - " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, -# but there are "stale" distfiles on the mirrors with the wrong names. -# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -LICENSE="MIT SGI-B-2.0" -SLOT="0" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} - d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl - vivante vmware zink" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug +llvm - lm-sensors opencl +opengl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa +zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_freedreno - video_cards_intel - video_cards_nouveau - video_cards_panfrost - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_vmware - video_cards_zink - ) - ) - llvm? ( ${LLVM_REQUIRED_USE} ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_zink? ( vulkan opengl ) - video_cards_nvk? ( vulkan video_cards_nouveau ) - vdpau? ( X ) - xa? ( X ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - $(llvm_gen_dep " - sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - opencl? ( - dev-util/spirv-llvm-translator:\${LLVM_SLOT} - sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - ) - ") - video_cards_r600? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_radeon? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - ) - lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) - opencl? ( - >=virtual/opencl-3 - dev-libs/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - virtual/libelf:0= - ) - vaapi? ( - >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] - ) - vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) - video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) - video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) - selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) - wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) - ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] - ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -for card in ${RADEON_CARDS}; do - RDEPEND="${RDEPEND} - video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) - " -done -RDEPEND="${RDEPEND} - video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) -" - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.34 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - >=virtual/rust-1.62.0 - >=dev-util/bindgen-0.58.0 - ) - >=dev-build/meson-1.4.1 - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep " - >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] - dev-python/packaging[\${PYTHON_USEDEP}] - dev-python/pyyaml[\${PYTHON_USEDEP}] - ") - video_cards_intel? ( - ~dev-util/intel_clc-${PV} - dev-libs/libclc[spirv(-)] - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - vulkan? ( - dev-util/glslang - video_cards_nvk? ( - >=dev-util/bindgen-0.68.1 - >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack ${MY_P}.tar.xz - fi - - # We need this because we cannot tell meson to use DISTDIR yet - pushd "${DISTDIR}" >/dev/null || die - mkdir -p "${S}"/subprojects/packagecache || die - local i - for i in *.crate; do - ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die - done - popd >/dev/null || die -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_lavapipe && - ! use video_cards_nouveau && - ! use video_cards_nvk && - ! use video_cards_panfrost && - ! use video_cards_radeonsi && - ! use video_cards_v3d && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" - fi - fi - - # VA - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" - fi - fi - - if ! use llvm; then - use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" - fi - - if use osmesa && ! use llvm; then - ewarn "OSMesa will be slow without enabling USE=llvm" - fi -} - -python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 - if use llvm && use vulkan && use video_cards_intel && use amd64; then - python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 - fi -} - -pkg_setup() { - # warning message for bug 459306 - if use llvm && has_version sys-devel/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" - ewarn "detected! This can cause problems. For details, see bug 459306." - fi - - if use video_cards_intel || - use video_cards_radeonsi; then - if kernel_is -ge 5 11 3; then - CONFIG_CHECK="~KCMP" - elif kernel_is -ge 5 11; then - CONFIG_CHECK="~CHECKPOINT_RESTORE" - elif kernel_is -ge 5 10 20; then - CONFIG_CHECK="~KCMP" - else - CONFIG_CHECK="~CHECKPOINT_RESTORE" - fi - linux-info_pkg_setup - fi - - use llvm && llvm-r1_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 - filter-lto - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_freedreno || - use video_cards_intel || # crocus i915 iris - use video_cards_nouveau || - use video_cards_panfrost || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_vmware || # svga - use video_cards_zink; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vaapi gallium-va)) - use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) - else - emesonargs+=(-Dgallium-va=disabled) - fi - - if use video_cards_d3d12; then - emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_intel || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - gallium_enable !llvm softpipe - gallium_enable llvm llvmpipe - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - gallium_enable video_cards_nouveau nouveau - gallium_enable video_cards_panfrost panfrost - gallium_enable video_cards_v3d v3d - gallium_enable video_cards_vc4 vc4 - gallium_enable video_cards_virgl virgl - gallium_enable video_cards_vivante etnaviv - gallium_enable video_cards_vmware svga - gallium_enable video_cards_zink zink - - gallium_enable video_cards_r300 r300 - gallium_enable video_cards_r600 r600 - gallium_enable video_cards_radeonsi radeonsi - if ! use video_cards_r300 && - ! use video_cards_r600; then - gallium_enable video_cards_radeon r300 r600 - fi - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst - emesonargs+=( - $(meson_native_true gallium-rusticl) - -Drust_std=2021 - ) - fi - - if use vulkan; then - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_lavapipe swrast - vulkan_enable video_cards_panfrost panfrost - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - vulkan_enable video_cards_vc4 broadcom - vulkan_enable video_cards_virgl virtio - if use video_cards_nvk; then - vulkan_enable video_cards_nvk nouveau - if ! multilib_is_native_abi; then - echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" - emesonargs+=( - --native-file "${T}"/rust_fix.ini - ) - fi - fi - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - local vulkan_layers - use vulkan && vulkan_layers+="device-select" - use vulkan-overlay && vulkan_layers+=",overlay" - emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) - - if use opengl && use X; then - emesonargs+=(-Dglx=dri) - else - emesonargs+=(-Dglx=disabled) - fi - - if [[ "${ABI}" == amd64 ]]; then - emesonargs+=($(meson_feature video_cards_intel intel-rt)) - fi - - use debug && EMESON_BUILDTYPE=debug - - emesonargs+=( - $(meson_use test build-tests) - -Dshared-glapi=enabled - -Ddri3=enabled - -Dexpat=enabled - $(meson_use opengl) - $(meson_feature opengl gbm) - $(meson_feature opengl gles1) - $(meson_feature opengl gles2) - $(meson_feature opengl glvnd) - $(meson_feature opengl egl) - $(meson_feature llvm) - $(meson_feature lm-sensors lmsensors) - $(meson_use osmesa) - $(meson_use selinux) - $(meson_feature unwind libunwind) - $(meson_feature zstd) - $(meson_use cpu_flags_x86_sse2 sse2) - -Dintel-clc=$(usex video_cards_intel system auto) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure - - if ! multilib_is_native_abi && use video_cards_nvk; then - sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die - fi -} - -multilib_src_test() { - meson_src_test -t 100 -} - -# $1 - VIDEO_CARDS flag (check skipped for "--") -# other args - names of DRI drivers to enable -gallium_enable() { - if [[ $1 == -- ]] || use $1; then - shift - GALLIUM_DRIVERS+=("$@") - fi -} - -vulkan_enable() { - if [[ $1 == -- ]] || use $1; then - shift - VULKAN_DRIVERS+=("$@") - fi -} diff --git a/media-libs/mesa/mesa-24.2.4-r1.ebuild b/media-libs/mesa/mesa-24.2.4-r1.ebuild new file mode 100644 index 000000000000..d45bd4b23536 --- /dev/null +++ b/media-libs/mesa/mesa-24.2.4-r1.ebuild @@ -0,0 +1,497 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {15..18} ) +LLVM_OPTIONAL=1 +CARGO_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain + +MY_P="${P/_/-}" + +CRATES=" + syn@2.0.68 + proc-macro2@1.0.86 + quote@1.0.33 + unicode-ident@1.0.12 + paste@1.0.14 +" + +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + +inherit cargo + +DESCRIPTION="OpenGL-like graphic library for Linux" +HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + SRC_URI=" + https://archive.mesa3d.org/${MY_P}.tar.xz + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" +fi + +# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, +# but there are "stale" distfiles on the mirrors with the wrong names. +# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +S="${WORKDIR}/${MY_P}" +EGIT_CHECKOUT_DIR=${S} + +LICENSE="MIT SGI-B-2.0" +SLOT="0" + +RADEON_CARDS="r300 r600 radeon radeonsi" +VIDEO_CARDS="${RADEON_CARDS} + d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl + vivante vmware zink" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done + +IUSE="${IUSE_VIDEO_CARDS} + cpu_flags_x86_sse2 d3d9 debug +llvm + lm-sensors opencl +opengl osmesa +proprietary-codecs selinux + test unwind vaapi valgrind vdpau vulkan + vulkan-overlay wayland +X xa +zstd" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + d3d9? ( + || ( + video_cards_freedreno + video_cards_intel + video_cards_nouveau + video_cards_panfrost + video_cards_r300 + video_cards_r600 + video_cards_radeonsi + video_cards_vmware + video_cards_zink + ) + ) + llvm? ( ${LLVM_REQUIRED_USE} ) + vulkan-overlay? ( vulkan ) + video_cards_lavapipe? ( llvm vulkan ) + video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_zink? ( vulkan opengl ) + video_cards_nvk? ( vulkan video_cards_nouveau ) + vdpau? ( X ) + xa? ( X ) +" + +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" +RDEPEND=" + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + llvm? ( + $(llvm_gen_dep " + sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + opencl? ( + dev-util/spirv-llvm-translator:\${LLVM_SLOT} + sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + ) + ") + video_cards_r600? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_radeon? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + ) + lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) + opencl? ( + >=virtual/opencl-3 + dev-libs/libclc[spirv(-)] + >=dev-util/spirv-tools-1.3.231.0 + virtual/libelf:0= + ) + vaapi? ( + >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] + ) + vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) + video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) + video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) + selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) + wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) + ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] + ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +for card in ${RADEON_CARDS}; do + RDEPEND="${RDEPEND} + video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) + " +done +RDEPEND="${RDEPEND} + video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) +" + +DEPEND="${RDEPEND} + video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) + valgrind? ( dev-debug/valgrind ) + wayland? ( >=dev-libs/wayland-protocols-1.34 ) + X? ( + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-base/xorg-proto + ) +" +BDEPEND=" + ${PYTHON_DEPS} + opencl? ( + ${RUST_DEPEND} + >=dev-util/bindgen-0.58.0 + ) + >=dev-build/meson-1.4.1 + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + dev-python/pyyaml[\${PYTHON_USEDEP}] + ") + video_cards_intel? ( + ~dev-util/intel_clc-${PV} + dev-libs/libclc[spirv(-)] + $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") + ) + vulkan? ( + dev-util/glslang + video_cards_nvk? ( + >=dev-util/bindgen-0.68.1 + >=dev-util/cbindgen-0.26.0 + ${RUST_DEPEND} + ) + ) + wayland? ( dev-util/wayland-scanner ) +" + +QA_WX_LOAD=" +x86? ( + usr/lib/libglapi.so.0.0.0 + usr/lib/libOSMesa.so.8.0.0 + usr/lib/libGLX_mesa.so.0.0.0 +)" + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + unpack ${MY_P}.tar.xz + fi + + # We need this because we cannot tell meson to use DISTDIR yet + pushd "${DISTDIR}" >/dev/null || die + mkdir -p "${S}"/subprojects/packagecache || die + local i + for i in *.crate; do + ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die + done + popd >/dev/null || die +} + +pkg_pretend() { + if use vulkan; then + if ! use video_cards_d3d12 && + ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_lavapipe && + ! use video_cards_nouveau && + ! use video_cards_nvk && + ! use video_cards_panfrost && + ! use video_cards_radeonsi && + ! use video_cards_v3d && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" + fi + fi + + # VA + if use vaapi; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use vdpau; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use xa; then + if ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_nouveau && + ! use video_cards_vmware; then + ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" + fi + fi + + if ! use llvm; then + use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" + fi + + if use osmesa && ! use llvm; then + ewarn "OSMesa will be slow without enabling USE=llvm" + fi +} + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 + if use llvm && use vulkan && use video_cards_intel && use amd64; then + python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 + fi +} + +pkg_setup() { + # warning message for bug 459306 + if use llvm && has_version sys-devel/llvm[!debug=]; then + ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" + ewarn "detected! This can cause problems. For details, see bug 459306." + fi + + if use video_cards_intel || + use video_cards_radeonsi; then + if kernel_is -ge 5 11 3; then + CONFIG_CHECK="~KCMP" + elif kernel_is -ge 5 11; then + CONFIG_CHECK="~CHECKPOINT_RESTORE" + elif kernel_is -ge 5 10 20; then + CONFIG_CHECK="~KCMP" + else + CONFIG_CHECK="~CHECKPOINT_RESTORE" + fi + linux-info_pkg_setup + fi + + use llvm && llvm-r1_pkg_setup + python-any-r1_pkg_setup + + if use opencl || use vulkan; then + rust_pkg_setup + fi +} + +src_prepare() { + default + sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ + bin/symbols-check.py || die # bug #830728 +} + +multilib_src_configure() { + local emesonargs=() + + # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 + filter-lto + + local platforms + use X && platforms+="x11" + use wayland && platforms+=",wayland" + emesonargs+=(-Dplatforms=${platforms#,}) + + if use video_cards_freedreno || + use video_cards_intel || # crocus i915 iris + use video_cards_nouveau || + use video_cards_panfrost || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_vmware || # svga + use video_cards_zink; then + emesonargs+=($(meson_use d3d9 gallium-nine)) + else + emesonargs+=(-Dgallium-nine=false) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vaapi gallium-va)) + use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) + else + emesonargs+=(-Dgallium-va=disabled) + fi + + if use video_cards_d3d12; then + emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vdpau gallium-vdpau)) + else + emesonargs+=(-Dgallium-vdpau=disabled) + fi + + if use video_cards_freedreno || + use video_cards_intel || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_feature xa gallium-xa)) + else + emesonargs+=(-Dgallium-xa=disabled) + fi + + gallium_enable !llvm softpipe + gallium_enable llvm llvmpipe + gallium_enable video_cards_d3d12 d3d12 + gallium_enable video_cards_freedreno freedreno + gallium_enable video_cards_intel crocus i915 iris + gallium_enable video_cards_lima lima + gallium_enable video_cards_nouveau nouveau + gallium_enable video_cards_panfrost panfrost + gallium_enable video_cards_v3d v3d + gallium_enable video_cards_vc4 vc4 + gallium_enable video_cards_virgl virgl + gallium_enable video_cards_vivante etnaviv + gallium_enable video_cards_vmware svga + gallium_enable video_cards_zink zink + + gallium_enable video_cards_r300 r300 + gallium_enable video_cards_r600 r600 + gallium_enable video_cards_radeonsi radeonsi + if ! use video_cards_r300 && + ! use video_cards_r600; then + gallium_enable video_cards_radeon r300 r600 + fi + + if use llvm && use opencl; then + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst + emesonargs+=( + $(meson_native_true gallium-rusticl) + -Drust_std=2021 + ) + fi + + if use vulkan; then + vulkan_enable video_cards_d3d12 microsoft-experimental + vulkan_enable video_cards_freedreno freedreno + vulkan_enable video_cards_intel intel intel_hasvk + vulkan_enable video_cards_lavapipe swrast + vulkan_enable video_cards_panfrost panfrost + vulkan_enable video_cards_radeonsi amd + vulkan_enable video_cards_v3d broadcom + vulkan_enable video_cards_vc4 broadcom + vulkan_enable video_cards_virgl virtio + if use video_cards_nvk; then + vulkan_enable video_cards_nvk nouveau + if ! multilib_is_native_abi; then + echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" + emesonargs+=( + --native-file "${T}"/rust_fix.ini + ) + fi + fi + fi + + driver_list() { + local drivers="$(sort -u <<< "${1// /$'\n'}")" + echo "${drivers//$'\n'/,}" + } + + local vulkan_layers + use vulkan && vulkan_layers+="device-select" + use vulkan-overlay && vulkan_layers+=",overlay" + emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) + + if use opengl && use X; then + emesonargs+=(-Dglx=dri) + else + emesonargs+=(-Dglx=disabled) + fi + + if [[ "${ABI}" == amd64 ]]; then + emesonargs+=($(meson_feature video_cards_intel intel-rt)) + fi + + use debug && EMESON_BUILDTYPE=debug + + emesonargs+=( + $(meson_use test build-tests) + -Dshared-glapi=enabled + -Ddri3=enabled + -Dexpat=enabled + $(meson_use opengl) + $(meson_feature opengl gbm) + $(meson_feature opengl gles1) + $(meson_feature opengl gles2) + $(meson_feature opengl glvnd) + $(meson_feature opengl egl) + $(meson_feature llvm) + $(meson_feature lm-sensors lmsensors) + $(meson_use osmesa) + $(meson_use selinux) + $(meson_feature unwind libunwind) + $(meson_feature zstd) + $(meson_use cpu_flags_x86_sse2 sse2) + -Dintel-clc=$(usex video_cards_intel system auto) + -Dvalgrind=$(usex valgrind auto disabled) + -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") + -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") + -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure + + if ! multilib_is_native_abi && use video_cards_nvk; then + sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die + fi +} + +multilib_src_test() { + meson_src_test -t 100 +} + +# $1 - VIDEO_CARDS flag (check skipped for "--") +# other args - names of DRI drivers to enable +gallium_enable() { + if [[ $1 == -- ]] || use $1; then + shift + GALLIUM_DRIVERS+=("$@") + fi +} + +vulkan_enable() { + if [[ $1 == -- ]] || use $1; then + shift + VULKAN_DRIVERS+=("$@") + fi +} diff --git a/media-libs/mesa/mesa-24.2.4.ebuild b/media-libs/mesa/mesa-24.2.4.ebuild deleted file mode 100644 index a58a2652340e..000000000000 --- a/media-libs/mesa/mesa-24.2.4.ebuild +++ /dev/null @@ -1,490 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 -CARGO_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain - -MY_P="${P/_/-}" - -CRATES=" - syn@2.0.68 - proc-macro2@1.0.86 - quote@1.0.33 - unicode-ident@1.0.12 - paste@1.0.14 -" - -inherit cargo - -DESCRIPTION="OpenGL-like graphic library for Linux" -HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - inherit git-r3 -else - SRC_URI=" - https://archive.mesa3d.org/${MY_P}.tar.xz - " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, -# but there are "stale" distfiles on the mirrors with the wrong names. -# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -LICENSE="MIT SGI-B-2.0" -SLOT="0" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} - d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl - vivante vmware zink" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug +llvm - lm-sensors opencl +opengl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa +zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_freedreno - video_cards_intel - video_cards_nouveau - video_cards_panfrost - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_vmware - video_cards_zink - ) - ) - llvm? ( ${LLVM_REQUIRED_USE} ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_zink? ( vulkan opengl ) - video_cards_nvk? ( vulkan video_cards_nouveau ) - vdpau? ( X ) - xa? ( X ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - $(llvm_gen_dep " - sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - opencl? ( - dev-util/spirv-llvm-translator:\${LLVM_SLOT} - sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - ) - ") - video_cards_r600? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_radeon? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - ) - lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) - opencl? ( - >=virtual/opencl-3 - dev-libs/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - virtual/libelf:0= - ) - vaapi? ( - >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] - ) - vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) - video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) - video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) - selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) - wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) - ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] - ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -for card in ${RADEON_CARDS}; do - RDEPEND="${RDEPEND} - video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) - " -done -RDEPEND="${RDEPEND} - video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) -" - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.34 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - >=virtual/rust-1.62.0 - >=dev-util/bindgen-0.58.0 - ) - >=dev-build/meson-1.4.1 - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep " - >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] - dev-python/packaging[\${PYTHON_USEDEP}] - dev-python/pyyaml[\${PYTHON_USEDEP}] - ") - video_cards_intel? ( - ~dev-util/intel_clc-${PV} - dev-libs/libclc[spirv(-)] - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - vulkan? ( - dev-util/glslang - video_cards_nvk? ( - >=dev-util/bindgen-0.68.1 - >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack ${MY_P}.tar.xz - fi - - # We need this because we cannot tell meson to use DISTDIR yet - pushd "${DISTDIR}" >/dev/null || die - mkdir -p "${S}"/subprojects/packagecache || die - local i - for i in *.crate; do - ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die - done - popd >/dev/null || die -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_lavapipe && - ! use video_cards_nouveau && - ! use video_cards_nvk && - ! use video_cards_panfrost && - ! use video_cards_radeonsi && - ! use video_cards_v3d && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" - fi - fi - - # VA - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" - fi - fi - - if ! use llvm; then - use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" - fi - - if use osmesa && ! use llvm; then - ewarn "OSMesa will be slow without enabling USE=llvm" - fi -} - -python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 - if use llvm && use vulkan && use video_cards_intel && use amd64; then - python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 - fi -} - -pkg_setup() { - # warning message for bug 459306 - if use llvm && has_version sys-devel/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" - ewarn "detected! This can cause problems. For details, see bug 459306." - fi - - if use video_cards_intel || - use video_cards_radeonsi; then - if kernel_is -ge 5 11 3; then - CONFIG_CHECK="~KCMP" - elif kernel_is -ge 5 11; then - CONFIG_CHECK="~CHECKPOINT_RESTORE" - elif kernel_is -ge 5 10 20; then - CONFIG_CHECK="~KCMP" - else - CONFIG_CHECK="~CHECKPOINT_RESTORE" - fi - linux-info_pkg_setup - fi - - use llvm && llvm-r1_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 - filter-lto - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_freedreno || - use video_cards_intel || # crocus i915 iris - use video_cards_nouveau || - use video_cards_panfrost || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_vmware || # svga - use video_cards_zink; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vaapi gallium-va)) - use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) - else - emesonargs+=(-Dgallium-va=disabled) - fi - - if use video_cards_d3d12; then - emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_intel || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - gallium_enable !llvm softpipe - gallium_enable llvm llvmpipe - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - gallium_enable video_cards_nouveau nouveau - gallium_enable video_cards_panfrost panfrost - gallium_enable video_cards_v3d v3d - gallium_enable video_cards_vc4 vc4 - gallium_enable video_cards_virgl virgl - gallium_enable video_cards_vivante etnaviv - gallium_enable video_cards_vmware svga - gallium_enable video_cards_zink zink - - gallium_enable video_cards_r300 r300 - gallium_enable video_cards_r600 r600 - gallium_enable video_cards_radeonsi radeonsi - if ! use video_cards_r300 && - ! use video_cards_r600; then - gallium_enable video_cards_radeon r300 r600 - fi - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst - emesonargs+=( - $(meson_native_true gallium-rusticl) - -Drust_std=2021 - ) - fi - - if use vulkan; then - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_lavapipe swrast - vulkan_enable video_cards_panfrost panfrost - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - vulkan_enable video_cards_vc4 broadcom - vulkan_enable video_cards_virgl virtio - if use video_cards_nvk; then - vulkan_enable video_cards_nvk nouveau - if ! multilib_is_native_abi; then - echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" - emesonargs+=( - --native-file "${T}"/rust_fix.ini - ) - fi - fi - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - local vulkan_layers - use vulkan && vulkan_layers+="device-select" - use vulkan-overlay && vulkan_layers+=",overlay" - emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) - - if use opengl && use X; then - emesonargs+=(-Dglx=dri) - else - emesonargs+=(-Dglx=disabled) - fi - - if [[ "${ABI}" == amd64 ]]; then - emesonargs+=($(meson_feature video_cards_intel intel-rt)) - fi - - use debug && EMESON_BUILDTYPE=debug - - emesonargs+=( - $(meson_use test build-tests) - -Dshared-glapi=enabled - -Ddri3=enabled - -Dexpat=enabled - $(meson_use opengl) - $(meson_feature opengl gbm) - $(meson_feature opengl gles1) - $(meson_feature opengl gles2) - $(meson_feature opengl glvnd) - $(meson_feature opengl egl) - $(meson_feature llvm) - $(meson_feature lm-sensors lmsensors) - $(meson_use osmesa) - $(meson_use selinux) - $(meson_feature unwind libunwind) - $(meson_feature zstd) - $(meson_use cpu_flags_x86_sse2 sse2) - -Dintel-clc=$(usex video_cards_intel system auto) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure - - if ! multilib_is_native_abi && use video_cards_nvk; then - sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die - fi -} - -multilib_src_test() { - meson_src_test -t 100 -} - -# $1 - VIDEO_CARDS flag (check skipped for "--") -# other args - names of DRI drivers to enable -gallium_enable() { - if [[ $1 == -- ]] || use $1; then - shift - GALLIUM_DRIVERS+=("$@") - fi -} - -vulkan_enable() { - if [[ $1 == -- ]] || use $1; then - shift - VULKAN_DRIVERS+=("$@") - fi -} diff --git a/media-libs/mesa/mesa-24.2.5-r1.ebuild b/media-libs/mesa/mesa-24.2.5-r1.ebuild new file mode 100644 index 000000000000..d45bd4b23536 --- /dev/null +++ b/media-libs/mesa/mesa-24.2.5-r1.ebuild @@ -0,0 +1,497 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {15..18} ) +LLVM_OPTIONAL=1 +CARGO_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain + +MY_P="${P/_/-}" + +CRATES=" + syn@2.0.68 + proc-macro2@1.0.86 + quote@1.0.33 + unicode-ident@1.0.12 + paste@1.0.14 +" + +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + +inherit cargo + +DESCRIPTION="OpenGL-like graphic library for Linux" +HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + SRC_URI=" + https://archive.mesa3d.org/${MY_P}.tar.xz + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" +fi + +# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, +# but there are "stale" distfiles on the mirrors with the wrong names. +# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +S="${WORKDIR}/${MY_P}" +EGIT_CHECKOUT_DIR=${S} + +LICENSE="MIT SGI-B-2.0" +SLOT="0" + +RADEON_CARDS="r300 r600 radeon radeonsi" +VIDEO_CARDS="${RADEON_CARDS} + d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl + vivante vmware zink" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done + +IUSE="${IUSE_VIDEO_CARDS} + cpu_flags_x86_sse2 d3d9 debug +llvm + lm-sensors opencl +opengl osmesa +proprietary-codecs selinux + test unwind vaapi valgrind vdpau vulkan + vulkan-overlay wayland +X xa +zstd" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + d3d9? ( + || ( + video_cards_freedreno + video_cards_intel + video_cards_nouveau + video_cards_panfrost + video_cards_r300 + video_cards_r600 + video_cards_radeonsi + video_cards_vmware + video_cards_zink + ) + ) + llvm? ( ${LLVM_REQUIRED_USE} ) + vulkan-overlay? ( vulkan ) + video_cards_lavapipe? ( llvm vulkan ) + video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_zink? ( vulkan opengl ) + video_cards_nvk? ( vulkan video_cards_nouveau ) + vdpau? ( X ) + xa? ( X ) +" + +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" +RDEPEND=" + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + llvm? ( + $(llvm_gen_dep " + sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + opencl? ( + dev-util/spirv-llvm-translator:\${LLVM_SLOT} + sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + ) + ") + video_cards_r600? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_radeon? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + ) + lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) + opencl? ( + >=virtual/opencl-3 + dev-libs/libclc[spirv(-)] + >=dev-util/spirv-tools-1.3.231.0 + virtual/libelf:0= + ) + vaapi? ( + >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] + ) + vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) + video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) + video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) + selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) + wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) + ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] + ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +for card in ${RADEON_CARDS}; do + RDEPEND="${RDEPEND} + video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) + " +done +RDEPEND="${RDEPEND} + video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) +" + +DEPEND="${RDEPEND} + video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) + valgrind? ( dev-debug/valgrind ) + wayland? ( >=dev-libs/wayland-protocols-1.34 ) + X? ( + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-base/xorg-proto + ) +" +BDEPEND=" + ${PYTHON_DEPS} + opencl? ( + ${RUST_DEPEND} + >=dev-util/bindgen-0.58.0 + ) + >=dev-build/meson-1.4.1 + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + dev-python/pyyaml[\${PYTHON_USEDEP}] + ") + video_cards_intel? ( + ~dev-util/intel_clc-${PV} + dev-libs/libclc[spirv(-)] + $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") + ) + vulkan? ( + dev-util/glslang + video_cards_nvk? ( + >=dev-util/bindgen-0.68.1 + >=dev-util/cbindgen-0.26.0 + ${RUST_DEPEND} + ) + ) + wayland? ( dev-util/wayland-scanner ) +" + +QA_WX_LOAD=" +x86? ( + usr/lib/libglapi.so.0.0.0 + usr/lib/libOSMesa.so.8.0.0 + usr/lib/libGLX_mesa.so.0.0.0 +)" + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + unpack ${MY_P}.tar.xz + fi + + # We need this because we cannot tell meson to use DISTDIR yet + pushd "${DISTDIR}" >/dev/null || die + mkdir -p "${S}"/subprojects/packagecache || die + local i + for i in *.crate; do + ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die + done + popd >/dev/null || die +} + +pkg_pretend() { + if use vulkan; then + if ! use video_cards_d3d12 && + ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_lavapipe && + ! use video_cards_nouveau && + ! use video_cards_nvk && + ! use video_cards_panfrost && + ! use video_cards_radeonsi && + ! use video_cards_v3d && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" + fi + fi + + # VA + if use vaapi; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use vdpau; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use xa; then + if ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_nouveau && + ! use video_cards_vmware; then + ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" + fi + fi + + if ! use llvm; then + use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" + fi + + if use osmesa && ! use llvm; then + ewarn "OSMesa will be slow without enabling USE=llvm" + fi +} + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 + if use llvm && use vulkan && use video_cards_intel && use amd64; then + python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 + fi +} + +pkg_setup() { + # warning message for bug 459306 + if use llvm && has_version sys-devel/llvm[!debug=]; then + ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" + ewarn "detected! This can cause problems. For details, see bug 459306." + fi + + if use video_cards_intel || + use video_cards_radeonsi; then + if kernel_is -ge 5 11 3; then + CONFIG_CHECK="~KCMP" + elif kernel_is -ge 5 11; then + CONFIG_CHECK="~CHECKPOINT_RESTORE" + elif kernel_is -ge 5 10 20; then + CONFIG_CHECK="~KCMP" + else + CONFIG_CHECK="~CHECKPOINT_RESTORE" + fi + linux-info_pkg_setup + fi + + use llvm && llvm-r1_pkg_setup + python-any-r1_pkg_setup + + if use opencl || use vulkan; then + rust_pkg_setup + fi +} + +src_prepare() { + default + sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ + bin/symbols-check.py || die # bug #830728 +} + +multilib_src_configure() { + local emesonargs=() + + # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 + filter-lto + + local platforms + use X && platforms+="x11" + use wayland && platforms+=",wayland" + emesonargs+=(-Dplatforms=${platforms#,}) + + if use video_cards_freedreno || + use video_cards_intel || # crocus i915 iris + use video_cards_nouveau || + use video_cards_panfrost || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_vmware || # svga + use video_cards_zink; then + emesonargs+=($(meson_use d3d9 gallium-nine)) + else + emesonargs+=(-Dgallium-nine=false) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vaapi gallium-va)) + use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) + else + emesonargs+=(-Dgallium-va=disabled) + fi + + if use video_cards_d3d12; then + emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vdpau gallium-vdpau)) + else + emesonargs+=(-Dgallium-vdpau=disabled) + fi + + if use video_cards_freedreno || + use video_cards_intel || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_feature xa gallium-xa)) + else + emesonargs+=(-Dgallium-xa=disabled) + fi + + gallium_enable !llvm softpipe + gallium_enable llvm llvmpipe + gallium_enable video_cards_d3d12 d3d12 + gallium_enable video_cards_freedreno freedreno + gallium_enable video_cards_intel crocus i915 iris + gallium_enable video_cards_lima lima + gallium_enable video_cards_nouveau nouveau + gallium_enable video_cards_panfrost panfrost + gallium_enable video_cards_v3d v3d + gallium_enable video_cards_vc4 vc4 + gallium_enable video_cards_virgl virgl + gallium_enable video_cards_vivante etnaviv + gallium_enable video_cards_vmware svga + gallium_enable video_cards_zink zink + + gallium_enable video_cards_r300 r300 + gallium_enable video_cards_r600 r600 + gallium_enable video_cards_radeonsi radeonsi + if ! use video_cards_r300 && + ! use video_cards_r600; then + gallium_enable video_cards_radeon r300 r600 + fi + + if use llvm && use opencl; then + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst + emesonargs+=( + $(meson_native_true gallium-rusticl) + -Drust_std=2021 + ) + fi + + if use vulkan; then + vulkan_enable video_cards_d3d12 microsoft-experimental + vulkan_enable video_cards_freedreno freedreno + vulkan_enable video_cards_intel intel intel_hasvk + vulkan_enable video_cards_lavapipe swrast + vulkan_enable video_cards_panfrost panfrost + vulkan_enable video_cards_radeonsi amd + vulkan_enable video_cards_v3d broadcom + vulkan_enable video_cards_vc4 broadcom + vulkan_enable video_cards_virgl virtio + if use video_cards_nvk; then + vulkan_enable video_cards_nvk nouveau + if ! multilib_is_native_abi; then + echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" + emesonargs+=( + --native-file "${T}"/rust_fix.ini + ) + fi + fi + fi + + driver_list() { + local drivers="$(sort -u <<< "${1// /$'\n'}")" + echo "${drivers//$'\n'/,}" + } + + local vulkan_layers + use vulkan && vulkan_layers+="device-select" + use vulkan-overlay && vulkan_layers+=",overlay" + emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) + + if use opengl && use X; then + emesonargs+=(-Dglx=dri) + else + emesonargs+=(-Dglx=disabled) + fi + + if [[ "${ABI}" == amd64 ]]; then + emesonargs+=($(meson_feature video_cards_intel intel-rt)) + fi + + use debug && EMESON_BUILDTYPE=debug + + emesonargs+=( + $(meson_use test build-tests) + -Dshared-glapi=enabled + -Ddri3=enabled + -Dexpat=enabled + $(meson_use opengl) + $(meson_feature opengl gbm) + $(meson_feature opengl gles1) + $(meson_feature opengl gles2) + $(meson_feature opengl glvnd) + $(meson_feature opengl egl) + $(meson_feature llvm) + $(meson_feature lm-sensors lmsensors) + $(meson_use osmesa) + $(meson_use selinux) + $(meson_feature unwind libunwind) + $(meson_feature zstd) + $(meson_use cpu_flags_x86_sse2 sse2) + -Dintel-clc=$(usex video_cards_intel system auto) + -Dvalgrind=$(usex valgrind auto disabled) + -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") + -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") + -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure + + if ! multilib_is_native_abi && use video_cards_nvk; then + sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die + fi +} + +multilib_src_test() { + meson_src_test -t 100 +} + +# $1 - VIDEO_CARDS flag (check skipped for "--") +# other args - names of DRI drivers to enable +gallium_enable() { + if [[ $1 == -- ]] || use $1; then + shift + GALLIUM_DRIVERS+=("$@") + fi +} + +vulkan_enable() { + if [[ $1 == -- ]] || use $1; then + shift + VULKAN_DRIVERS+=("$@") + fi +} diff --git a/media-libs/mesa/mesa-24.2.5.ebuild b/media-libs/mesa/mesa-24.2.5.ebuild deleted file mode 100644 index a58a2652340e..000000000000 --- a/media-libs/mesa/mesa-24.2.5.ebuild +++ /dev/null @@ -1,490 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 -CARGO_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain - -MY_P="${P/_/-}" - -CRATES=" - syn@2.0.68 - proc-macro2@1.0.86 - quote@1.0.33 - unicode-ident@1.0.12 - paste@1.0.14 -" - -inherit cargo - -DESCRIPTION="OpenGL-like graphic library for Linux" -HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - inherit git-r3 -else - SRC_URI=" - https://archive.mesa3d.org/${MY_P}.tar.xz - " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, -# but there are "stale" distfiles on the mirrors with the wrong names. -# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -LICENSE="MIT SGI-B-2.0" -SLOT="0" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} - d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl - vivante vmware zink" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug +llvm - lm-sensors opencl +opengl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa +zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_freedreno - video_cards_intel - video_cards_nouveau - video_cards_panfrost - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_vmware - video_cards_zink - ) - ) - llvm? ( ${LLVM_REQUIRED_USE} ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_zink? ( vulkan opengl ) - video_cards_nvk? ( vulkan video_cards_nouveau ) - vdpau? ( X ) - xa? ( X ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - $(llvm_gen_dep " - sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - opencl? ( - dev-util/spirv-llvm-translator:\${LLVM_SLOT} - sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - ) - ") - video_cards_r600? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_radeon? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - ) - lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) - opencl? ( - >=virtual/opencl-3 - dev-libs/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - virtual/libelf:0= - ) - vaapi? ( - >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] - ) - vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) - video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) - video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) - selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) - wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) - ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] - ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -for card in ${RADEON_CARDS}; do - RDEPEND="${RDEPEND} - video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) - " -done -RDEPEND="${RDEPEND} - video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) -" - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.34 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - >=virtual/rust-1.62.0 - >=dev-util/bindgen-0.58.0 - ) - >=dev-build/meson-1.4.1 - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep " - >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] - dev-python/packaging[\${PYTHON_USEDEP}] - dev-python/pyyaml[\${PYTHON_USEDEP}] - ") - video_cards_intel? ( - ~dev-util/intel_clc-${PV} - dev-libs/libclc[spirv(-)] - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - vulkan? ( - dev-util/glslang - video_cards_nvk? ( - >=dev-util/bindgen-0.68.1 - >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack ${MY_P}.tar.xz - fi - - # We need this because we cannot tell meson to use DISTDIR yet - pushd "${DISTDIR}" >/dev/null || die - mkdir -p "${S}"/subprojects/packagecache || die - local i - for i in *.crate; do - ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die - done - popd >/dev/null || die -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_lavapipe && - ! use video_cards_nouveau && - ! use video_cards_nvk && - ! use video_cards_panfrost && - ! use video_cards_radeonsi && - ! use video_cards_v3d && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" - fi - fi - - # VA - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" - fi - fi - - if ! use llvm; then - use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" - fi - - if use osmesa && ! use llvm; then - ewarn "OSMesa will be slow without enabling USE=llvm" - fi -} - -python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 - if use llvm && use vulkan && use video_cards_intel && use amd64; then - python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 - fi -} - -pkg_setup() { - # warning message for bug 459306 - if use llvm && has_version sys-devel/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" - ewarn "detected! This can cause problems. For details, see bug 459306." - fi - - if use video_cards_intel || - use video_cards_radeonsi; then - if kernel_is -ge 5 11 3; then - CONFIG_CHECK="~KCMP" - elif kernel_is -ge 5 11; then - CONFIG_CHECK="~CHECKPOINT_RESTORE" - elif kernel_is -ge 5 10 20; then - CONFIG_CHECK="~KCMP" - else - CONFIG_CHECK="~CHECKPOINT_RESTORE" - fi - linux-info_pkg_setup - fi - - use llvm && llvm-r1_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 - filter-lto - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_freedreno || - use video_cards_intel || # crocus i915 iris - use video_cards_nouveau || - use video_cards_panfrost || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_vmware || # svga - use video_cards_zink; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vaapi gallium-va)) - use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) - else - emesonargs+=(-Dgallium-va=disabled) - fi - - if use video_cards_d3d12; then - emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_intel || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - gallium_enable !llvm softpipe - gallium_enable llvm llvmpipe - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - gallium_enable video_cards_nouveau nouveau - gallium_enable video_cards_panfrost panfrost - gallium_enable video_cards_v3d v3d - gallium_enable video_cards_vc4 vc4 - gallium_enable video_cards_virgl virgl - gallium_enable video_cards_vivante etnaviv - gallium_enable video_cards_vmware svga - gallium_enable video_cards_zink zink - - gallium_enable video_cards_r300 r300 - gallium_enable video_cards_r600 r600 - gallium_enable video_cards_radeonsi radeonsi - if ! use video_cards_r300 && - ! use video_cards_r600; then - gallium_enable video_cards_radeon r300 r600 - fi - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst - emesonargs+=( - $(meson_native_true gallium-rusticl) - -Drust_std=2021 - ) - fi - - if use vulkan; then - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_lavapipe swrast - vulkan_enable video_cards_panfrost panfrost - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - vulkan_enable video_cards_vc4 broadcom - vulkan_enable video_cards_virgl virtio - if use video_cards_nvk; then - vulkan_enable video_cards_nvk nouveau - if ! multilib_is_native_abi; then - echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" - emesonargs+=( - --native-file "${T}"/rust_fix.ini - ) - fi - fi - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - local vulkan_layers - use vulkan && vulkan_layers+="device-select" - use vulkan-overlay && vulkan_layers+=",overlay" - emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) - - if use opengl && use X; then - emesonargs+=(-Dglx=dri) - else - emesonargs+=(-Dglx=disabled) - fi - - if [[ "${ABI}" == amd64 ]]; then - emesonargs+=($(meson_feature video_cards_intel intel-rt)) - fi - - use debug && EMESON_BUILDTYPE=debug - - emesonargs+=( - $(meson_use test build-tests) - -Dshared-glapi=enabled - -Ddri3=enabled - -Dexpat=enabled - $(meson_use opengl) - $(meson_feature opengl gbm) - $(meson_feature opengl gles1) - $(meson_feature opengl gles2) - $(meson_feature opengl glvnd) - $(meson_feature opengl egl) - $(meson_feature llvm) - $(meson_feature lm-sensors lmsensors) - $(meson_use osmesa) - $(meson_use selinux) - $(meson_feature unwind libunwind) - $(meson_feature zstd) - $(meson_use cpu_flags_x86_sse2 sse2) - -Dintel-clc=$(usex video_cards_intel system auto) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure - - if ! multilib_is_native_abi && use video_cards_nvk; then - sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die - fi -} - -multilib_src_test() { - meson_src_test -t 100 -} - -# $1 - VIDEO_CARDS flag (check skipped for "--") -# other args - names of DRI drivers to enable -gallium_enable() { - if [[ $1 == -- ]] || use $1; then - shift - GALLIUM_DRIVERS+=("$@") - fi -} - -vulkan_enable() { - if [[ $1 == -- ]] || use $1; then - shift - VULKAN_DRIVERS+=("$@") - fi -} diff --git a/media-libs/mesa/mesa-24.2.6-r1.ebuild b/media-libs/mesa/mesa-24.2.6-r1.ebuild new file mode 100644 index 000000000000..d45bd4b23536 --- /dev/null +++ b/media-libs/mesa/mesa-24.2.6-r1.ebuild @@ -0,0 +1,497 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {15..18} ) +LLVM_OPTIONAL=1 +CARGO_OPTIONAL=1 +PYTHON_COMPAT=( python3_{10..13} ) + +inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain + +MY_P="${P/_/-}" + +CRATES=" + syn@2.0.68 + proc-macro2@1.0.86 + quote@1.0.33 + unicode-ident@1.0.12 + paste@1.0.14 +" + +RUST_MIN_VER="1.74.1" +RUST_OPTIONAL=1 + +inherit cargo + +DESCRIPTION="OpenGL-like graphic library for Linux" +HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" + +if [[ ${PV} == 9999 ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" + inherit git-r3 +else + SRC_URI=" + https://archive.mesa3d.org/${MY_P}.tar.xz + " + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" +fi + +# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, +# but there are "stale" distfiles on the mirrors with the wrong names. +# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" +SRC_URI+=" + ${CARGO_CRATE_URIS} +" + +S="${WORKDIR}/${MY_P}" +EGIT_CHECKOUT_DIR=${S} + +LICENSE="MIT SGI-B-2.0" +SLOT="0" + +RADEON_CARDS="r300 r600 radeon radeonsi" +VIDEO_CARDS="${RADEON_CARDS} + d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl + vivante vmware zink" +for card in ${VIDEO_CARDS}; do + IUSE_VIDEO_CARDS+=" video_cards_${card}" +done + +IUSE="${IUSE_VIDEO_CARDS} + cpu_flags_x86_sse2 d3d9 debug +llvm + lm-sensors opencl +opengl osmesa +proprietary-codecs selinux + test unwind vaapi valgrind vdpau vulkan + vulkan-overlay wayland +X xa +zstd" +RESTRICT="!test? ( test )" +REQUIRED_USE=" + d3d9? ( + || ( + video_cards_freedreno + video_cards_intel + video_cards_nouveau + video_cards_panfrost + video_cards_r300 + video_cards_r600 + video_cards_radeonsi + video_cards_vmware + video_cards_zink + ) + ) + llvm? ( ${LLVM_REQUIRED_USE} ) + vulkan-overlay? ( vulkan ) + video_cards_lavapipe? ( llvm vulkan ) + video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) + video_cards_zink? ( vulkan opengl ) + video_cards_nvk? ( vulkan video_cards_nouveau ) + vdpau? ( X ) + xa? ( X ) +" + +LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" +RDEPEND=" + >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] + >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] + >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] + unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) + llvm? ( + $(llvm_gen_dep " + sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + opencl? ( + dev-util/spirv-llvm-translator:\${LLVM_SLOT} + sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] + ) + ") + video_cards_r600? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + video_cards_radeon? ( + virtual/libelf:0=[${MULTILIB_USEDEP}] + ) + ) + lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) + opencl? ( + >=virtual/opencl-3 + dev-libs/libclc[spirv(-)] + >=dev-util/spirv-tools-1.3.231.0 + virtual/libelf:0= + ) + vaapi? ( + >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] + ) + vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) + video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) + video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) + selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) + wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) + ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] + X? ( + >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] + >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] + >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] + >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] + >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] + ) + zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) +" +for card in ${RADEON_CARDS}; do + RDEPEND="${RDEPEND} + video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) + " +done +RDEPEND="${RDEPEND} + video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) +" + +DEPEND="${RDEPEND} + video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) + valgrind? ( dev-debug/valgrind ) + wayland? ( >=dev-libs/wayland-protocols-1.34 ) + X? ( + x11-libs/libXrandr[${MULTILIB_USEDEP}] + x11-base/xorg-proto + ) +" +BDEPEND=" + ${PYTHON_DEPS} + opencl? ( + ${RUST_DEPEND} + >=dev-util/bindgen-0.58.0 + ) + >=dev-build/meson-1.4.1 + app-alternatives/yacc + app-alternatives/lex + virtual/pkgconfig + $(python_gen_any_dep " + >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] + dev-python/packaging[\${PYTHON_USEDEP}] + dev-python/pyyaml[\${PYTHON_USEDEP}] + ") + video_cards_intel? ( + ~dev-util/intel_clc-${PV} + dev-libs/libclc[spirv(-)] + $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") + ) + vulkan? ( + dev-util/glslang + video_cards_nvk? ( + >=dev-util/bindgen-0.68.1 + >=dev-util/cbindgen-0.26.0 + ${RUST_DEPEND} + ) + ) + wayland? ( dev-util/wayland-scanner ) +" + +QA_WX_LOAD=" +x86? ( + usr/lib/libglapi.so.0.0.0 + usr/lib/libOSMesa.so.8.0.0 + usr/lib/libGLX_mesa.so.0.0.0 +)" + +src_unpack() { + if [[ ${PV} == 9999 ]]; then + git-r3_src_unpack + else + unpack ${MY_P}.tar.xz + fi + + # We need this because we cannot tell meson to use DISTDIR yet + pushd "${DISTDIR}" >/dev/null || die + mkdir -p "${S}"/subprojects/packagecache || die + local i + for i in *.crate; do + ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die + done + popd >/dev/null || die +} + +pkg_pretend() { + if use vulkan; then + if ! use video_cards_d3d12 && + ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_lavapipe && + ! use video_cards_nouveau && + ! use video_cards_nvk && + ! use video_cards_panfrost && + ! use video_cards_radeonsi && + ! use video_cards_v3d && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" + fi + fi + + # VA + if use vaapi; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use vdpau; then + if ! use video_cards_d3d12 && + ! use video_cards_nouveau && + ! use video_cards_r600 && + ! use video_cards_radeonsi && + ! use video_cards_virgl; then + ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" + fi + fi + + if use xa; then + if ! use video_cards_freedreno && + ! use video_cards_intel && + ! use video_cards_nouveau && + ! use video_cards_vmware; then + ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" + fi + fi + + if ! use llvm; then + use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" + fi + + if use osmesa && ! use llvm; then + ewarn "OSMesa will be slow without enabling USE=llvm" + fi +} + +python_check_deps() { + python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && + python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 + if use llvm && use vulkan && use video_cards_intel && use amd64; then + python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 + fi +} + +pkg_setup() { + # warning message for bug 459306 + if use llvm && has_version sys-devel/llvm[!debug=]; then + ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" + ewarn "detected! This can cause problems. For details, see bug 459306." + fi + + if use video_cards_intel || + use video_cards_radeonsi; then + if kernel_is -ge 5 11 3; then + CONFIG_CHECK="~KCMP" + elif kernel_is -ge 5 11; then + CONFIG_CHECK="~CHECKPOINT_RESTORE" + elif kernel_is -ge 5 10 20; then + CONFIG_CHECK="~KCMP" + else + CONFIG_CHECK="~CHECKPOINT_RESTORE" + fi + linux-info_pkg_setup + fi + + use llvm && llvm-r1_pkg_setup + python-any-r1_pkg_setup + + if use opencl || use vulkan; then + rust_pkg_setup + fi +} + +src_prepare() { + default + sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ + bin/symbols-check.py || die # bug #830728 +} + +multilib_src_configure() { + local emesonargs=() + + # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 + filter-lto + + local platforms + use X && platforms+="x11" + use wayland && platforms+=",wayland" + emesonargs+=(-Dplatforms=${platforms#,}) + + if use video_cards_freedreno || + use video_cards_intel || # crocus i915 iris + use video_cards_nouveau || + use video_cards_panfrost || + use video_cards_r300 || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_vmware || # svga + use video_cards_zink; then + emesonargs+=($(meson_use d3d9 gallium-nine)) + else + emesonargs+=(-Dgallium-nine=false) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vaapi gallium-va)) + use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) + else + emesonargs+=(-Dgallium-va=disabled) + fi + + if use video_cards_d3d12; then + emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) + fi + + if use video_cards_d3d12 || + use video_cards_nouveau || + use video_cards_r600 || + use video_cards_radeonsi || + use video_cards_virgl; then + emesonargs+=($(meson_feature vdpau gallium-vdpau)) + else + emesonargs+=(-Dgallium-vdpau=disabled) + fi + + if use video_cards_freedreno || + use video_cards_intel || + use video_cards_nouveau || + use video_cards_vmware; then + emesonargs+=($(meson_feature xa gallium-xa)) + else + emesonargs+=(-Dgallium-xa=disabled) + fi + + gallium_enable !llvm softpipe + gallium_enable llvm llvmpipe + gallium_enable video_cards_d3d12 d3d12 + gallium_enable video_cards_freedreno freedreno + gallium_enable video_cards_intel crocus i915 iris + gallium_enable video_cards_lima lima + gallium_enable video_cards_nouveau nouveau + gallium_enable video_cards_panfrost panfrost + gallium_enable video_cards_v3d v3d + gallium_enable video_cards_vc4 vc4 + gallium_enable video_cards_virgl virgl + gallium_enable video_cards_vivante etnaviv + gallium_enable video_cards_vmware svga + gallium_enable video_cards_zink zink + + gallium_enable video_cards_r300 r300 + gallium_enable video_cards_r600 r600 + gallium_enable video_cards_radeonsi radeonsi + if ! use video_cards_r300 && + ! use video_cards_r600; then + gallium_enable video_cards_radeon r300 r600 + fi + + if use llvm && use opencl; then + PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" + # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst + emesonargs+=( + $(meson_native_true gallium-rusticl) + -Drust_std=2021 + ) + fi + + if use vulkan; then + vulkan_enable video_cards_d3d12 microsoft-experimental + vulkan_enable video_cards_freedreno freedreno + vulkan_enable video_cards_intel intel intel_hasvk + vulkan_enable video_cards_lavapipe swrast + vulkan_enable video_cards_panfrost panfrost + vulkan_enable video_cards_radeonsi amd + vulkan_enable video_cards_v3d broadcom + vulkan_enable video_cards_vc4 broadcom + vulkan_enable video_cards_virgl virtio + if use video_cards_nvk; then + vulkan_enable video_cards_nvk nouveau + if ! multilib_is_native_abi; then + echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" + emesonargs+=( + --native-file "${T}"/rust_fix.ini + ) + fi + fi + fi + + driver_list() { + local drivers="$(sort -u <<< "${1// /$'\n'}")" + echo "${drivers//$'\n'/,}" + } + + local vulkan_layers + use vulkan && vulkan_layers+="device-select" + use vulkan-overlay && vulkan_layers+=",overlay" + emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) + + if use opengl && use X; then + emesonargs+=(-Dglx=dri) + else + emesonargs+=(-Dglx=disabled) + fi + + if [[ "${ABI}" == amd64 ]]; then + emesonargs+=($(meson_feature video_cards_intel intel-rt)) + fi + + use debug && EMESON_BUILDTYPE=debug + + emesonargs+=( + $(meson_use test build-tests) + -Dshared-glapi=enabled + -Ddri3=enabled + -Dexpat=enabled + $(meson_use opengl) + $(meson_feature opengl gbm) + $(meson_feature opengl gles1) + $(meson_feature opengl gles2) + $(meson_feature opengl glvnd) + $(meson_feature opengl egl) + $(meson_feature llvm) + $(meson_feature lm-sensors lmsensors) + $(meson_use osmesa) + $(meson_use selinux) + $(meson_feature unwind libunwind) + $(meson_feature zstd) + $(meson_use cpu_flags_x86_sse2 sse2) + -Dintel-clc=$(usex video_cards_intel system auto) + -Dvalgrind=$(usex valgrind auto disabled) + -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") + -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") + -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") + -Db_ndebug=$(usex debug false true) + ) + meson_src_configure + + if ! multilib_is_native_abi && use video_cards_nvk; then + sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die + fi +} + +multilib_src_test() { + meson_src_test -t 100 +} + +# $1 - VIDEO_CARDS flag (check skipped for "--") +# other args - names of DRI drivers to enable +gallium_enable() { + if [[ $1 == -- ]] || use $1; then + shift + GALLIUM_DRIVERS+=("$@") + fi +} + +vulkan_enable() { + if [[ $1 == -- ]] || use $1; then + shift + VULKAN_DRIVERS+=("$@") + fi +} diff --git a/media-libs/mesa/mesa-24.2.6.ebuild b/media-libs/mesa/mesa-24.2.6.ebuild deleted file mode 100644 index a58a2652340e..000000000000 --- a/media-libs/mesa/mesa-24.2.6.ebuild +++ /dev/null @@ -1,490 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {15..18} ) -LLVM_OPTIONAL=1 -CARGO_OPTIONAL=1 -PYTHON_COMPAT=( python3_{10..13} ) - -inherit flag-o-matic llvm-r1 meson-multilib python-any-r1 linux-info rust-toolchain - -MY_P="${P/_/-}" - -CRATES=" - syn@2.0.68 - proc-macro2@1.0.86 - quote@1.0.33 - unicode-ident@1.0.12 - paste@1.0.14 -" - -inherit cargo - -DESCRIPTION="OpenGL-like graphic library for Linux" -HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/" - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/mesa.git" - inherit git-r3 -else - SRC_URI=" - https://archive.mesa3d.org/${MY_P}.tar.xz - " - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris" -fi - -# This should be {CARGO_CRATE_URIS//.crate/.tar.gz} to correspond to the wrap files, -# but there are "stale" distfiles on the mirrors with the wrong names. -# export MESON_PACKAGE_CACHE_DIR="${DISTDIR}" -SRC_URI+=" - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/${MY_P}" -EGIT_CHECKOUT_DIR=${S} - -LICENSE="MIT SGI-B-2.0" -SLOT="0" - -RADEON_CARDS="r300 r600 radeon radeonsi" -VIDEO_CARDS="${RADEON_CARDS} - d3d12 freedreno intel lavapipe lima nouveau nvk panfrost v3d vc4 virgl - vivante vmware zink" -for card in ${VIDEO_CARDS}; do - IUSE_VIDEO_CARDS+=" video_cards_${card}" -done - -IUSE="${IUSE_VIDEO_CARDS} - cpu_flags_x86_sse2 d3d9 debug +llvm - lm-sensors opencl +opengl osmesa +proprietary-codecs selinux - test unwind vaapi valgrind vdpau vulkan - vulkan-overlay wayland +X xa +zstd" -RESTRICT="!test? ( test )" -REQUIRED_USE=" - d3d9? ( - || ( - video_cards_freedreno - video_cards_intel - video_cards_nouveau - video_cards_panfrost - video_cards_r300 - video_cards_r600 - video_cards_radeonsi - video_cards_vmware - video_cards_zink - ) - ) - llvm? ( ${LLVM_REQUIRED_USE} ) - vulkan-overlay? ( vulkan ) - video_cards_lavapipe? ( llvm vulkan ) - video_cards_radeon? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_r300? ( x86? ( llvm ) amd64? ( llvm ) ) - video_cards_zink? ( vulkan opengl ) - video_cards_nvk? ( vulkan video_cards_nouveau ) - vdpau? ( X ) - xa? ( X ) -" - -LIBDRM_DEPSTRING=">=x11-libs/libdrm-2.4.121" -RDEPEND=" - >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] - >=media-libs/libglvnd-1.3.2[X?,${MULTILIB_USEDEP}] - >=sys-libs/zlib-1.2.9[${MULTILIB_USEDEP}] - unwind? ( sys-libs/libunwind[${MULTILIB_USEDEP}] ) - llvm? ( - $(llvm_gen_dep " - sys-devel/llvm:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - opencl? ( - dev-util/spirv-llvm-translator:\${LLVM_SLOT} - sys-devel/clang:\${LLVM_SLOT}[llvm_targets_AMDGPU(+),${MULTILIB_USEDEP}] - ) - ") - video_cards_r600? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - video_cards_radeon? ( - virtual/libelf:0=[${MULTILIB_USEDEP}] - ) - ) - lm-sensors? ( sys-apps/lm-sensors:=[${MULTILIB_USEDEP}] ) - opencl? ( - >=virtual/opencl-3 - dev-libs/libclc[spirv(-)] - >=dev-util/spirv-tools-1.3.231.0 - virtual/libelf:0= - ) - vaapi? ( - >=media-libs/libva-1.7.3:=[${MULTILIB_USEDEP}] - ) - vdpau? ( >=x11-libs/libvdpau-1.5:=[${MULTILIB_USEDEP}] ) - video_cards_radeonsi? ( virtual/libelf:0=[${MULTILIB_USEDEP}] ) - video_cards_zink? ( media-libs/vulkan-loader:=[${MULTILIB_USEDEP}] ) - selinux? ( sys-libs/libselinux[${MULTILIB_USEDEP}] ) - wayland? ( >=dev-libs/wayland-1.18.0[${MULTILIB_USEDEP}] ) - ${LIBDRM_DEPSTRING}[video_cards_freedreno?,video_cards_intel?,video_cards_nouveau?,video_cards_vc4?,video_cards_vivante?,video_cards_vmware?,${MULTILIB_USEDEP}] - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libxshmfence-1.1[${MULTILIB_USEDEP}] - >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}] - >=x11-libs/libXxf86vm-1.1.3[${MULTILIB_USEDEP}] - >=x11-libs/libxcb-1.17:=[${MULTILIB_USEDEP}] - x11-libs/libXfixes[${MULTILIB_USEDEP}] - x11-libs/xcb-util-keysyms[${MULTILIB_USEDEP}] - ) - zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] ) -" -for card in ${RADEON_CARDS}; do - RDEPEND="${RDEPEND} - video_cards_${card}? ( ${LIBDRM_DEPSTRING}[video_cards_radeon] ) - " -done -RDEPEND="${RDEPEND} - video_cards_radeonsi? ( ${LIBDRM_DEPSTRING}[video_cards_amdgpu] ) -" - -DEPEND="${RDEPEND} - video_cards_d3d12? ( >=dev-util/directx-headers-1.613.0[${MULTILIB_USEDEP}] ) - valgrind? ( dev-debug/valgrind ) - wayland? ( >=dev-libs/wayland-protocols-1.34 ) - X? ( - x11-libs/libXrandr[${MULTILIB_USEDEP}] - x11-base/xorg-proto - ) -" -BDEPEND=" - ${PYTHON_DEPS} - opencl? ( - >=virtual/rust-1.62.0 - >=dev-util/bindgen-0.58.0 - ) - >=dev-build/meson-1.4.1 - app-alternatives/yacc - app-alternatives/lex - virtual/pkgconfig - $(python_gen_any_dep " - >=dev-python/mako-0.8.0[\${PYTHON_USEDEP}] - dev-python/packaging[\${PYTHON_USEDEP}] - dev-python/pyyaml[\${PYTHON_USEDEP}] - ") - video_cards_intel? ( - ~dev-util/intel_clc-${PV} - dev-libs/libclc[spirv(-)] - $(python_gen_any_dep "dev-python/ply[\${PYTHON_USEDEP}]") - ) - vulkan? ( - dev-util/glslang - video_cards_nvk? ( - >=dev-util/bindgen-0.68.1 - >=dev-util/cbindgen-0.26.0 - >=virtual/rust-1.74.1 - ) - ) - wayland? ( dev-util/wayland-scanner ) -" - -QA_WX_LOAD=" -x86? ( - usr/lib/libglapi.so.0.0.0 - usr/lib/libOSMesa.so.8.0.0 - usr/lib/libGLX_mesa.so.0.0.0 -)" - -src_unpack() { - if [[ ${PV} == 9999 ]]; then - git-r3_src_unpack - else - unpack ${MY_P}.tar.xz - fi - - # We need this because we cannot tell meson to use DISTDIR yet - pushd "${DISTDIR}" >/dev/null || die - mkdir -p "${S}"/subprojects/packagecache || die - local i - for i in *.crate; do - ln -s "${PWD}/${i}" "${S}/subprojects/packagecache/${i/.crate/}.tar.gz" || die - done - popd >/dev/null || die -} - -pkg_pretend() { - if use vulkan; then - if ! use video_cards_d3d12 && - ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_lavapipe && - ! use video_cards_nouveau && - ! use video_cards_nvk && - ! use video_cards_panfrost && - ! use video_cards_radeonsi && - ! use video_cards_v3d && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vulkan since VIDEO_CARDS does not contain d3d12, freedreno, intel, lavapipe, nouveau, nvk, panfrost, radeonsi, v3d, or virgl" - fi - fi - - # VA - if use vaapi; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vaapi since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use vdpau; then - if ! use video_cards_d3d12 && - ! use video_cards_nouveau && - ! use video_cards_r600 && - ! use video_cards_radeonsi && - ! use video_cards_virgl; then - ewarn "Ignoring USE=vdpau since VIDEO_CARDS does not contain d3d12, nouveau, r600, radeonsi, or virgl" - fi - fi - - if use xa; then - if ! use video_cards_freedreno && - ! use video_cards_intel && - ! use video_cards_nouveau && - ! use video_cards_vmware; then - ewarn "Ignoring USE=xa since VIDEO_CARDS does not contain freedreno, intel, nouveau, or vmware" - fi - fi - - if ! use llvm; then - use opencl && ewarn "Ignoring USE=opencl since USE does not contain llvm" - fi - - if use osmesa && ! use llvm; then - ewarn "OSMesa will be slow without enabling USE=llvm" - fi -} - -python_check_deps() { - python_has_version -b ">=dev-python/mako-0.8.0[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/packaging[${PYTHON_USEDEP}]" && - python_has_version -b "dev-python/pyyaml[${PYTHON_USEDEP}]" || return 1 - if use llvm && use vulkan && use video_cards_intel && use amd64; then - python_has_version -b "dev-python/ply[${PYTHON_USEDEP}]" || return 1 - fi -} - -pkg_setup() { - # warning message for bug 459306 - if use llvm && has_version sys-devel/llvm[!debug=]; then - ewarn "Mismatch between debug USE flags in media-libs/mesa and sys-devel/llvm" - ewarn "detected! This can cause problems. For details, see bug 459306." - fi - - if use video_cards_intel || - use video_cards_radeonsi; then - if kernel_is -ge 5 11 3; then - CONFIG_CHECK="~KCMP" - elif kernel_is -ge 5 11; then - CONFIG_CHECK="~CHECKPOINT_RESTORE" - elif kernel_is -ge 5 10 20; then - CONFIG_CHECK="~KCMP" - else - CONFIG_CHECK="~CHECKPOINT_RESTORE" - fi - linux-info_pkg_setup - fi - - use llvm && llvm-r1_pkg_setup - python-any-r1_pkg_setup -} - -src_prepare() { - default - sed -i -e "/^PLATFORM_SYMBOLS/a '__gentoo_check_ldflags__'," \ - bin/symbols-check.py || die # bug #830728 -} - -multilib_src_configure() { - local emesonargs=() - - # bug #932591 and https://gitlab.freedesktop.org/mesa/mesa/-/issues/11140 - filter-lto - - local platforms - use X && platforms+="x11" - use wayland && platforms+=",wayland" - emesonargs+=(-Dplatforms=${platforms#,}) - - if use video_cards_freedreno || - use video_cards_intel || # crocus i915 iris - use video_cards_nouveau || - use video_cards_panfrost || - use video_cards_r300 || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_vmware || # svga - use video_cards_zink; then - emesonargs+=($(meson_use d3d9 gallium-nine)) - else - emesonargs+=(-Dgallium-nine=false) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vaapi gallium-va)) - use vaapi && emesonargs+=( -Dva-libs-path="${EPREFIX}"/usr/$(get_libdir)/va/drivers ) - else - emesonargs+=(-Dgallium-va=disabled) - fi - - if use video_cards_d3d12; then - emesonargs+=($(meson_feature vaapi gallium-d3d12-video)) - fi - - if use video_cards_d3d12 || - use video_cards_nouveau || - use video_cards_r600 || - use video_cards_radeonsi || - use video_cards_virgl; then - emesonargs+=($(meson_feature vdpau gallium-vdpau)) - else - emesonargs+=(-Dgallium-vdpau=disabled) - fi - - if use video_cards_freedreno || - use video_cards_intel || - use video_cards_nouveau || - use video_cards_vmware; then - emesonargs+=($(meson_feature xa gallium-xa)) - else - emesonargs+=(-Dgallium-xa=disabled) - fi - - gallium_enable !llvm softpipe - gallium_enable llvm llvmpipe - gallium_enable video_cards_d3d12 d3d12 - gallium_enable video_cards_freedreno freedreno - gallium_enable video_cards_intel crocus i915 iris - gallium_enable video_cards_lima lima - gallium_enable video_cards_nouveau nouveau - gallium_enable video_cards_panfrost panfrost - gallium_enable video_cards_v3d v3d - gallium_enable video_cards_vc4 vc4 - gallium_enable video_cards_virgl virgl - gallium_enable video_cards_vivante etnaviv - gallium_enable video_cards_vmware svga - gallium_enable video_cards_zink zink - - gallium_enable video_cards_r300 r300 - gallium_enable video_cards_r600 r600 - gallium_enable video_cards_radeonsi radeonsi - if ! use video_cards_r300 && - ! use video_cards_r600; then - gallium_enable video_cards_radeon r300 r600 - fi - - if use llvm && use opencl; then - PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig" - # See https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/rusticl.rst - emesonargs+=( - $(meson_native_true gallium-rusticl) - -Drust_std=2021 - ) - fi - - if use vulkan; then - vulkan_enable video_cards_d3d12 microsoft-experimental - vulkan_enable video_cards_freedreno freedreno - vulkan_enable video_cards_intel intel intel_hasvk - vulkan_enable video_cards_lavapipe swrast - vulkan_enable video_cards_panfrost panfrost - vulkan_enable video_cards_radeonsi amd - vulkan_enable video_cards_v3d broadcom - vulkan_enable video_cards_vc4 broadcom - vulkan_enable video_cards_virgl virtio - if use video_cards_nvk; then - vulkan_enable video_cards_nvk nouveau - if ! multilib_is_native_abi; then - echo -e "[binaries]\nrust = ['rustc', '--target=$(rust_abi $CBUILD)']" > "${T}/rust_fix.ini" - emesonargs+=( - --native-file "${T}"/rust_fix.ini - ) - fi - fi - fi - - driver_list() { - local drivers="$(sort -u <<< "${1// /$'\n'}")" - echo "${drivers//$'\n'/,}" - } - - local vulkan_layers - use vulkan && vulkan_layers+="device-select" - use vulkan-overlay && vulkan_layers+=",overlay" - emesonargs+=(-Dvulkan-layers=${vulkan_layers#,}) - - if use opengl && use X; then - emesonargs+=(-Dglx=dri) - else - emesonargs+=(-Dglx=disabled) - fi - - if [[ "${ABI}" == amd64 ]]; then - emesonargs+=($(meson_feature video_cards_intel intel-rt)) - fi - - use debug && EMESON_BUILDTYPE=debug - - emesonargs+=( - $(meson_use test build-tests) - -Dshared-glapi=enabled - -Ddri3=enabled - -Dexpat=enabled - $(meson_use opengl) - $(meson_feature opengl gbm) - $(meson_feature opengl gles1) - $(meson_feature opengl gles2) - $(meson_feature opengl glvnd) - $(meson_feature opengl egl) - $(meson_feature llvm) - $(meson_feature lm-sensors lmsensors) - $(meson_use osmesa) - $(meson_use selinux) - $(meson_feature unwind libunwind) - $(meson_feature zstd) - $(meson_use cpu_flags_x86_sse2 sse2) - -Dintel-clc=$(usex video_cards_intel system auto) - -Dvalgrind=$(usex valgrind auto disabled) - -Dvideo-codecs=$(usex proprietary-codecs "all" "all_free") - -Dgallium-drivers=$(driver_list "${GALLIUM_DRIVERS[*]}") - -Dvulkan-drivers=$(driver_list "${VULKAN_DRIVERS[*]}") - -Db_ndebug=$(usex debug false true) - ) - meson_src_configure - - if ! multilib_is_native_abi && use video_cards_nvk; then - sed -i -E '{N; s/(rule rust_COMPILER_FOR_BUILD\n command = rustc) --target=[a-zA-Z0-9=:-]+ (.*) -C link-arg=-m[[:digit:]]+/\1 \2/g}' build.ninja || die - fi -} - -multilib_src_test() { - meson_src_test -t 100 -} - -# $1 - VIDEO_CARDS flag (check skipped for "--") -# other args - names of DRI drivers to enable -gallium_enable() { - if [[ $1 == -- ]] || use $1; then - shift - GALLIUM_DRIVERS+=("$@") - fi -} - -vulkan_enable() { - if [[ $1 == -- ]] || use $1; then - shift - VULKAN_DRIVERS+=("$@") - fi -} 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-r1.ebuild b/media-sound/ncspot/ncspot-1.1.2-r1.ebuild new file mode 100644 index 000000000000..35a515a6839f --- /dev/null +++ b/media-sound/ncspot/ncspot-1.1.2-r1.ebuild @@ -0,0 +1,590 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.6 + +EAPI=8 + +CRATES=" + addr2line@0.22.0 + adler@1.0.2 + aes-ctr@0.6.0 + aes-soft@0.6.4 + aes@0.6.0 + aesni@0.10.0 + ahash@0.8.11 + aho-corasick@1.1.3 + alsa-sys@0.3.1 + alsa@0.6.0 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.1.0 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + arboard@3.4.0 + async-broadcast@0.7.1 + async-channel@2.3.1 + async-executor@1.13.0 + async-fs@2.1.2 + async-io@2.3.3 + async-lock@3.4.0 + async-process@2.2.3 + async-recursion@1.1.1 + async-signal@0.2.8 + async-task@4.7.1 + async-trait@0.1.81 + atomic-waker@1.1.2 + autocfg@1.3.0 + backtrace@0.3.73 + base64@0.13.1 + base64@0.21.7 + base64@0.22.1 + bindgen@0.69.4 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + block-buffer@0.9.0 + block2@0.5.1 + block@0.1.6 + blocking@1.6.1 + bumpalo@3.16.0 + bytemuck@1.16.1 + byteorder@1.5.0 + bytes@1.6.1 + cc@1.1.5 + cesu8@1.1.0 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cfg_aliases@0.2.1 + chrono@0.4.38 + cipher@0.2.5 + clang-sys@1.8.1 + clap@4.5.9 + clap_builder@4.5.9 + clap_complete@4.5.8 + clap_lex@0.7.1 + clap_mangen@0.2.22 + clipboard-win@5.4.0 + colorchoice@1.0.1 + combine@4.6.7 + concurrent-queue@2.5.0 + cookie@0.18.1 + cookie_store@0.21.0 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + core-graphics-types@0.1.3 + core-graphics@0.23.2 + coreaudio-rs@0.10.0 + coreaudio-sys@0.2.15 + cpal@0.13.5 + cpufeatures@0.2.12 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-utils@0.8.20 + crossterm@0.25.0 + crossterm_winapi@0.9.1 + crypto-common@0.1.6 + crypto-mac@0.11.1 + ctr@0.6.0 + cursive@0.20.0 + cursive_buffered_backend@0.6.1 + cursive_core@0.3.7 + darling@0.13.4 + darling@0.20.10 + darling_core@0.13.4 + darling_core@0.20.10 + darling_macro@0.13.4 + darling_macro@0.20.10 + deranged@0.3.11 + derive-new@0.6.0 + digest@0.10.7 + digest@0.9.0 + dirs-next@1.0.2 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dlib@0.5.2 + downcast-rs@1.2.1 + either@1.13.0 + encoding_rs@0.8.34 + endi@1.1.0 + enum-map-derive@0.17.0 + enum-map@2.7.3 + enum_dispatch@0.3.13 + enumflags2@0.7.10 + enumflags2_derive@0.7.10 + enumset@1.1.3 + enumset_derive@0.8.1 + equivalent@1.0.1 + errno@0.3.9 + error-code@3.2.0 + event-listener-strategy@0.5.2 + event-listener@5.3.1 + fastrand@2.1.0 + fdeflate@0.3.4 + fern@0.6.2 + fixedbitset@0.4.2 + flate2@1.0.30 + fnv@1.0.7 + foreign-types-macros@0.2.3 + foreign-types-shared@0.1.1 + foreign-types-shared@0.3.1 + foreign-types@0.3.2 + foreign-types@0.5.0 + form_urlencoded@1.2.1 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-lite@2.3.0 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generic-array@0.14.7 + gethostname@0.4.3 + getrandom@0.2.15 + gimli@0.29.0 + glob@0.3.1 + h2@0.4.5 + half@1.8.3 + hashbrown@0.12.3 + hashbrown@0.14.5 + headers-core@0.2.0 + headers@0.3.9 + heck@0.5.0 + hermit-abi@0.3.9 + hermit-abi@0.4.0 + hex@0.4.3 + hmac@0.11.0 + home@0.5.9 + http-body-util@0.1.2 + http-body@0.4.6 + http-body@1.0.1 + http@0.2.12 + http@1.1.0 + httparse@1.9.4 + httpdate@1.0.3 + hyper-proxy@0.9.1 + hyper-tls@0.6.0 + hyper-util@0.1.6 + hyper@0.14.30 + hyper@1.4.1 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + idna@0.5.0 + image@0.25.1 + indexmap@1.9.3 + indexmap@2.2.6 + instant@0.1.13 + ioctl-rs@0.2.0 + ipnet@2.9.0 + is_terminal_polyfill@1.70.0 + itertools@0.12.1 + itoa@1.0.11 + jni-sys@0.3.0 + jni@0.19.0 + jobserver@0.1.31 + jpeg-decoder@0.3.1 + js-sys@0.3.69 + lazy_static@1.5.0 + lazycell@1.3.0 + lewton@0.10.2 + libc@0.2.155 + libloading@0.8.4 + libm@0.2.8 + libpulse-binding@2.28.1 + libpulse-simple-binding@2.28.1 + libpulse-simple-sys@1.21.1 + libpulse-sys@1.21.0 + libredox@0.1.3 + librespot-audio@0.4.2 + librespot-core@0.4.2 + librespot-metadata@0.4.2 + librespot-playback@0.4.2 + librespot-protocol@0.4.2 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + mac-notification-sys@0.6.1 + mach@0.3.2 + malloc_buf@0.0.6 + maplit@1.0.2 + maybe-async@0.2.10 + memchr@2.7.4 + memoffset@0.6.5 + memoffset@0.9.1 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + mio@0.8.11 + native-tls@0.2.12 + ncurses@5.101.0 + ndk-context@0.1.1 + ndk-glue@0.6.2 + ndk-macro@0.3.0 + ndk-sys@0.3.0 + ndk@0.6.0 + nix@0.23.2 + nix@0.28.0 + nix@0.29.0 + nom@7.1.3 + notify-rust@4.11.0 + num-bigint@0.2.6 + num-bigint@0.4.6 + num-complex@0.2.4 + num-complex@0.4.6 + num-conv@0.1.0 + num-derive@0.3.3 + num-integer@0.1.46 + num-iter@0.1.45 + num-rational@0.2.4 + num-rational@0.4.2 + num-traits@0.2.19 + num@0.2.1 + num@0.4.3 + num_cpus@1.16.0 + num_enum@0.5.11 + num_enum_derive@0.5.11 + num_threads@0.1.7 + numtoa@0.1.0 + objc-foundation@0.1.1 + objc-sys@0.3.5 + objc2-app-kit@0.2.2 + objc2-core-data@0.2.2 + objc2-core-image@0.2.2 + objc2-encode@4.0.3 + objc2-foundation@0.2.2 + objc2-metal@0.2.2 + objc2-quartz-core@0.2.2 + objc2@0.5.2 + objc@0.2.7 + objc_id@0.1.1 + object@0.36.1 + oboe-sys@0.4.5 + oboe@0.4.6 + ogg@0.8.0 + once_cell@1.19.0 + opaque-debug@0.3.1 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.102 + openssl@0.10.64 + ordered-stream@0.2.0 + os_pipe@1.2.0 + owning_ref@0.4.1 + pancurses@0.17.0 + parking@2.2.0 + parking_lot@0.11.2 + parking_lot@0.12.3 + parking_lot_core@0.8.6 + parking_lot_core@0.9.10 + parse_duration@2.1.1 + pbkdf2@0.8.0 + pdcurses-sys@0.7.1 + percent-encoding@2.3.1 + petgraph@0.6.5 + pin-project-internal@1.1.5 + pin-project-lite@0.2.14 + pin-project@1.1.5 + pin-utils@0.1.0 + piper@0.2.3 + pkg-config@0.3.30 + platform-dirs@0.3.0 + png@0.17.13 + polling@3.7.2 + portaudio-rs@0.3.2 + portaudio-sys@0.1.1 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + priority-queue@1.4.0 + proc-macro-crate@1.3.1 + proc-macro-crate@3.1.0 + proc-macro2@1.0.86 + protobuf-codegen-pure@2.28.0 + protobuf-codegen@2.28.0 + protobuf@2.28.0 + quick-xml@0.31.0 + quick-xml@0.34.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + redox_syscall@0.2.16 + redox_syscall@0.5.3 + redox_termios@0.1.3 + redox_users@0.4.5 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + reqwest@0.12.4 + rodio@0.15.0 + roff@0.2.1 + rspotify-http@0.13.2 + rspotify-macros@0.13.2 + rspotify-model@0.13.2 + rspotify@0.13.2 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + rustls-pemfile@2.1.2 + rustls-pki-types@1.7.0 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.23 + scoped-tls@1.0.1 + scopeguard@1.2.0 + security-framework-sys@2.11.1 + security-framework@2.11.1 + semver@1.0.23 + serde@1.0.204 + serde_cbor@0.11.2 + serde_derive@1.0.204 + serde_json@1.0.120 + serde_repr@0.1.19 + serde_spanned@0.6.6 + serde_urlencoded@0.7.1 + sha-1@0.9.8 + sha1@0.10.6 + sha2@0.10.8 + shannon@0.2.0 + shell-words@1.1.0 + shlex@1.3.0 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + simd-adler32@0.3.7 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + socks@0.3.4 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + stdweb@0.1.3 + strsim@0.10.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + subtle@2.4.1 + syn@1.0.109 + syn@2.0.71 + sync_wrapper@0.1.2 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tauri-winrt-notification@0.2.1 + tempfile@3.10.1 + term_size@0.3.2 + termion@1.5.6 + thiserror-impl@1.0.62 + thiserror@1.0.62 + thread-id@4.2.1 + tiff@0.9.1 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tokio-macros@2.3.0 + tokio-native-tls@0.3.1 + tokio-stream@0.1.15 + tokio-util@0.7.11 + tokio@1.38.1 + toml@0.8.14 + toml_datetime@0.6.6 + toml_edit@0.19.15 + toml_edit@0.21.1 + toml_edit@0.22.15 + tower-layer@0.3.2 + tower-service@0.3.2 + tower@0.4.13 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + tree_magic_mini@3.1.5 + try-lock@0.2.5 + typenum@1.17.0 + uds_windows@1.1.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-segmentation@1.11.0 + unicode-width@0.1.13 + ureq@2.10.0 + url@2.5.2 + utf8parse@0.2.2 + uuid@1.10.0 + vcpkg@0.2.15 + vergen@3.2.0 + version_check@0.9.4 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + wayland-backend@0.3.6 + wayland-client@0.31.5 + wayland-protocols-wlr@0.2.0 + wayland-protocols@0.31.2 + wayland-scanner@0.31.4 + wayland-sys@0.31.4 + web-sys@0.3.69 + weezl@0.1.8 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-core@0.56.0 + windows-implement@0.56.0 + windows-interface@0.56.0 + windows-result@0.1.2 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows-version@0.1.1 + windows@0.56.0 + 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 + winnow@0.5.40 + winnow@0.6.13 + winreg@0.5.1 + winreg@0.52.0 + wl-clipboard-rs@0.8.1 + x11rb-protocol@0.13.1 + x11rb@0.13.1 + xdg-home@1.2.0 + xi-unicode@0.3.0 + zbus@4.3.1 + zbus_macros@4.3.1 + zbus_names@3.0.0 + zerocopy-derive@0.6.6 + zerocopy-derive@0.7.35 + zerocopy@0.6.6 + zerocopy@0.7.35 + zvariant@4.1.2 + zvariant_derive@4.1.2 + zvariant_utils@2.0.0 +" + +# xtask crates: +CRATES+=" + cargo-xtask@0.1.0 + clap_mangen@0.2.22 + clap_complete@4.5.7 + clap@4.5.8 +" + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit bash-completion-r1 cargo desktop optfeature python-any-r1 + +DESCRIPTION="ncurses Spotify client written in Rust using librespot" +HOMEPAGE="https://github.com/hrkfdn/ncspot" +SRC_URI="https://github.com/hrkfdn/ncspot/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="BSD-2" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD Boost-1.0 ISC MIT Unicode-DFS-2016 + || ( LGPL-3 MPL-2.0 ) +" +SLOT="0" +KEYWORDS="amd64" + +IUSE="clipboard cover mpris ncurses +notify pulseaudio" + +RDEPEND="dev-libs/openssl:= + sys-apps/dbus + clipboard? ( x11-libs/libxcb:= ) + cover? ( media-gfx/ueberzug ) + ncurses? ( sys-libs/ncurses:= ) + !ncurses? ( sys-libs/ncurses ) + pulseaudio? ( media-libs/libpulse ) + !pulseaudio? ( media-libs/alsa-lib )" +DEPEND="${RDEPEND}" +BDEPEND="${PYTHON_DEPS} + virtual/pkgconfig" + +QA_FLAGS_IGNORED="/usr/bin/ncspot" + +pkg_setup() { + python-any-r1_pkg_setup + rust_pkg_setup +} + +src_configure() { + local myfeaturesdef="" + + use clipboard && myfeaturesdef+="share_clipboard,share_selection," + use cover && myfeaturesdef+="cover," + use mpris && myfeaturesdef+="mpris," + use ncurses && myfeaturesdef+="ncurses_backend," + use notify && myfeaturesdef+="notify," + + # It always seems to link to libpulse regardless of this setting if libpulse is installed. + if use pulseaudio; then + myfeaturesdef+="pulseaudio_backend," + else + myfeaturesdef+="alsa_backend," + fi + + local myfeatures=( "${myfeaturesdef::-1}" ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cargo_src_compile + + cargo xtask generate-shell-completion || die + cargo xtask generate-manpage || die +} + +src_install() { + cargo_src_install + einstalldocs + + domenu misc/ncspot.desktop + newicon -s scalable images/logo.svg ncspot.svg + + dobashcomp misc/ncspot.bash + + insinto /usr/share/fish/completions + doins misc/ncspot.fish + + insinto /usr/share/zsh/site-functions + doins misc/_ncspot + + doman misc/ncspot.1 +} + +pkg_postinst() { + optfeature_header "Optional runtime features:" + optfeature "MPRIS song scrobbling support" media-sound/rescrobbled +} diff --git a/media-sound/ncspot/ncspot-1.1.2.ebuild b/media-sound/ncspot/ncspot-1.1.2.ebuild deleted file mode 100644 index a860b34aca6b..000000000000 --- a/media-sound/ncspot/ncspot-1.1.2.ebuild +++ /dev/null @@ -1,585 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.6 - -EAPI=8 - -CRATES=" - addr2line@0.22.0 - adler@1.0.2 - aes-ctr@0.6.0 - aes-soft@0.6.4 - aes@0.6.0 - aesni@0.10.0 - ahash@0.8.11 - aho-corasick@1.1.3 - alsa-sys@0.3.1 - alsa@0.6.0 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.1.0 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - arboard@3.4.0 - async-broadcast@0.7.1 - async-channel@2.3.1 - async-executor@1.13.0 - async-fs@2.1.2 - async-io@2.3.3 - async-lock@3.4.0 - async-process@2.2.3 - async-recursion@1.1.1 - async-signal@0.2.8 - async-task@4.7.1 - async-trait@0.1.81 - atomic-waker@1.1.2 - autocfg@1.3.0 - backtrace@0.3.73 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - bindgen@0.69.4 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - block-buffer@0.9.0 - block2@0.5.1 - block@0.1.6 - blocking@1.6.1 - bumpalo@3.16.0 - bytemuck@1.16.1 - byteorder@1.5.0 - bytes@1.6.1 - cc@1.1.5 - cesu8@1.1.0 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - cfg_aliases@0.2.1 - chrono@0.4.38 - cipher@0.2.5 - clang-sys@1.8.1 - clap@4.5.9 - clap_builder@4.5.9 - clap_complete@4.5.8 - clap_lex@0.7.1 - clap_mangen@0.2.22 - clipboard-win@5.4.0 - colorchoice@1.0.1 - combine@4.6.7 - concurrent-queue@2.5.0 - cookie@0.18.1 - cookie_store@0.21.0 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - core-graphics-types@0.1.3 - core-graphics@0.23.2 - coreaudio-rs@0.10.0 - coreaudio-sys@0.2.15 - cpal@0.13.5 - cpufeatures@0.2.12 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-utils@0.8.20 - crossterm@0.25.0 - crossterm_winapi@0.9.1 - crypto-common@0.1.6 - crypto-mac@0.11.1 - ctr@0.6.0 - cursive@0.20.0 - cursive_buffered_backend@0.6.1 - cursive_core@0.3.7 - darling@0.13.4 - darling@0.20.10 - darling_core@0.13.4 - darling_core@0.20.10 - darling_macro@0.13.4 - darling_macro@0.20.10 - deranged@0.3.11 - derive-new@0.6.0 - digest@0.10.7 - digest@0.9.0 - dirs-next@1.0.2 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - dlib@0.5.2 - downcast-rs@1.2.1 - either@1.13.0 - encoding_rs@0.8.34 - endi@1.1.0 - enum-map-derive@0.17.0 - enum-map@2.7.3 - enum_dispatch@0.3.13 - enumflags2@0.7.10 - enumflags2_derive@0.7.10 - enumset@1.1.3 - enumset_derive@0.8.1 - equivalent@1.0.1 - errno@0.3.9 - error-code@3.2.0 - event-listener-strategy@0.5.2 - event-listener@5.3.1 - fastrand@2.1.0 - fdeflate@0.3.4 - fern@0.6.2 - fixedbitset@0.4.2 - flate2@1.0.30 - fnv@1.0.7 - foreign-types-macros@0.2.3 - foreign-types-shared@0.1.1 - foreign-types-shared@0.3.1 - foreign-types@0.3.2 - foreign-types@0.5.0 - form_urlencoded@1.2.1 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-lite@2.3.0 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - generic-array@0.14.7 - gethostname@0.4.3 - getrandom@0.2.15 - gimli@0.29.0 - glob@0.3.1 - h2@0.4.5 - half@1.8.3 - hashbrown@0.12.3 - hashbrown@0.14.5 - headers-core@0.2.0 - headers@0.3.9 - heck@0.5.0 - hermit-abi@0.3.9 - hermit-abi@0.4.0 - hex@0.4.3 - hmac@0.11.0 - home@0.5.9 - http-body-util@0.1.2 - http-body@0.4.6 - http-body@1.0.1 - http@0.2.12 - http@1.1.0 - httparse@1.9.4 - httpdate@1.0.3 - hyper-proxy@0.9.1 - hyper-tls@0.6.0 - hyper-util@0.1.6 - hyper@0.14.30 - hyper@1.4.1 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - idna@0.5.0 - image@0.25.1 - indexmap@1.9.3 - indexmap@2.2.6 - instant@0.1.13 - ioctl-rs@0.2.0 - ipnet@2.9.0 - is_terminal_polyfill@1.70.0 - itertools@0.12.1 - itoa@1.0.11 - jni-sys@0.3.0 - jni@0.19.0 - jobserver@0.1.31 - jpeg-decoder@0.3.1 - js-sys@0.3.69 - lazy_static@1.5.0 - lazycell@1.3.0 - lewton@0.10.2 - libc@0.2.155 - libloading@0.8.4 - libm@0.2.8 - libpulse-binding@2.28.1 - libpulse-simple-binding@2.28.1 - libpulse-simple-sys@1.21.1 - libpulse-sys@1.21.0 - libredox@0.1.3 - librespot-audio@0.4.2 - librespot-core@0.4.2 - librespot-metadata@0.4.2 - librespot-playback@0.4.2 - librespot-protocol@0.4.2 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - mac-notification-sys@0.6.1 - mach@0.3.2 - malloc_buf@0.0.6 - maplit@1.0.2 - maybe-async@0.2.10 - memchr@2.7.4 - memoffset@0.6.5 - memoffset@0.9.1 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.7.4 - mio@0.8.11 - native-tls@0.2.12 - ncurses@5.101.0 - ndk-context@0.1.1 - ndk-glue@0.6.2 - ndk-macro@0.3.0 - ndk-sys@0.3.0 - ndk@0.6.0 - nix@0.23.2 - nix@0.28.0 - nix@0.29.0 - nom@7.1.3 - notify-rust@4.11.0 - num-bigint@0.2.6 - num-bigint@0.4.6 - num-complex@0.2.4 - num-complex@0.4.6 - num-conv@0.1.0 - num-derive@0.3.3 - num-integer@0.1.46 - num-iter@0.1.45 - num-rational@0.2.4 - num-rational@0.4.2 - num-traits@0.2.19 - num@0.2.1 - num@0.4.3 - num_cpus@1.16.0 - num_enum@0.5.11 - num_enum_derive@0.5.11 - num_threads@0.1.7 - numtoa@0.1.0 - objc-foundation@0.1.1 - objc-sys@0.3.5 - objc2-app-kit@0.2.2 - objc2-core-data@0.2.2 - objc2-core-image@0.2.2 - objc2-encode@4.0.3 - objc2-foundation@0.2.2 - objc2-metal@0.2.2 - objc2-quartz-core@0.2.2 - objc2@0.5.2 - objc@0.2.7 - objc_id@0.1.1 - object@0.36.1 - oboe-sys@0.4.5 - oboe@0.4.6 - ogg@0.8.0 - once_cell@1.19.0 - opaque-debug@0.3.1 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.102 - openssl@0.10.64 - ordered-stream@0.2.0 - os_pipe@1.2.0 - owning_ref@0.4.1 - pancurses@0.17.0 - parking@2.2.0 - parking_lot@0.11.2 - parking_lot@0.12.3 - parking_lot_core@0.8.6 - parking_lot_core@0.9.10 - parse_duration@2.1.1 - pbkdf2@0.8.0 - pdcurses-sys@0.7.1 - percent-encoding@2.3.1 - petgraph@0.6.5 - pin-project-internal@1.1.5 - pin-project-lite@0.2.14 - pin-project@1.1.5 - pin-utils@0.1.0 - piper@0.2.3 - pkg-config@0.3.30 - platform-dirs@0.3.0 - png@0.17.13 - polling@3.7.2 - portaudio-rs@0.3.2 - portaudio-sys@0.1.1 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - priority-queue@1.4.0 - proc-macro-crate@1.3.1 - proc-macro-crate@3.1.0 - proc-macro2@1.0.86 - protobuf-codegen-pure@2.28.0 - protobuf-codegen@2.28.0 - protobuf@2.28.0 - quick-xml@0.31.0 - quick-xml@0.34.0 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - redox_syscall@0.2.16 - redox_syscall@0.5.3 - redox_termios@0.1.3 - redox_users@0.4.5 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.5 - reqwest@0.12.4 - rodio@0.15.0 - roff@0.2.1 - rspotify-http@0.13.2 - rspotify-macros@0.13.2 - rspotify-model@0.13.2 - rspotify@0.13.2 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - rustls-pemfile@2.1.2 - rustls-pki-types@1.7.0 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.23 - scoped-tls@1.0.1 - scopeguard@1.2.0 - security-framework-sys@2.11.1 - security-framework@2.11.1 - semver@1.0.23 - serde@1.0.204 - serde_cbor@0.11.2 - serde_derive@1.0.204 - serde_json@1.0.120 - serde_repr@0.1.19 - serde_spanned@0.6.6 - serde_urlencoded@0.7.1 - sha-1@0.9.8 - sha1@0.10.6 - sha2@0.10.8 - shannon@0.2.0 - shell-words@1.1.0 - shlex@1.3.0 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - simd-adler32@0.3.7 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.5.7 - socks@0.3.4 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - stdweb@0.1.3 - strsim@0.10.0 - strsim@0.11.1 - strum@0.26.3 - strum_macros@0.26.4 - subtle@2.4.1 - syn@1.0.109 - syn@2.0.71 - sync_wrapper@0.1.2 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tauri-winrt-notification@0.2.1 - tempfile@3.10.1 - term_size@0.3.2 - termion@1.5.6 - thiserror-impl@1.0.62 - thiserror@1.0.62 - thread-id@4.2.1 - tiff@0.9.1 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - tokio-macros@2.3.0 - tokio-native-tls@0.3.1 - tokio-stream@0.1.15 - tokio-util@0.7.11 - tokio@1.38.1 - toml@0.8.14 - toml_datetime@0.6.6 - toml_edit@0.19.15 - toml_edit@0.21.1 - toml_edit@0.22.15 - tower-layer@0.3.2 - tower-service@0.3.2 - tower@0.4.13 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - tree_magic_mini@3.1.5 - try-lock@0.2.5 - typenum@1.17.0 - uds_windows@1.1.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-segmentation@1.11.0 - unicode-width@0.1.13 - ureq@2.10.0 - url@2.5.2 - utf8parse@0.2.2 - uuid@1.10.0 - vcpkg@0.2.15 - vergen@3.2.0 - version_check@0.9.4 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - wayland-backend@0.3.6 - wayland-client@0.31.5 - wayland-protocols-wlr@0.2.0 - wayland-protocols@0.31.2 - wayland-scanner@0.31.4 - wayland-sys@0.31.4 - web-sys@0.3.69 - weezl@0.1.8 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-core@0.56.0 - windows-implement@0.56.0 - windows-interface@0.56.0 - windows-result@0.1.2 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.6 - windows-version@0.1.1 - windows@0.56.0 - 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 - winnow@0.5.40 - winnow@0.6.13 - winreg@0.5.1 - winreg@0.52.0 - wl-clipboard-rs@0.8.1 - x11rb-protocol@0.13.1 - x11rb@0.13.1 - xdg-home@1.2.0 - xi-unicode@0.3.0 - zbus@4.3.1 - zbus_macros@4.3.1 - zbus_names@3.0.0 - zerocopy-derive@0.6.6 - zerocopy-derive@0.7.35 - zerocopy@0.6.6 - zerocopy@0.7.35 - zvariant@4.1.2 - zvariant_derive@4.1.2 - zvariant_utils@2.0.0 -" - -# xtask crates: -CRATES+=" - cargo-xtask@0.1.0 - clap_mangen@0.2.22 - clap_complete@4.5.7 - clap@4.5.8 -" - -PYTHON_COMPAT=( python3_{10..13} ) - -inherit bash-completion-r1 cargo desktop optfeature python-any-r1 - -DESCRIPTION="ncurses Spotify client written in Rust using librespot" -HOMEPAGE="https://github.com/hrkfdn/ncspot" -SRC_URI="https://github.com/hrkfdn/ncspot/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - -LICENSE="BSD-2" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD-2 BSD Boost-1.0 ISC MIT Unicode-DFS-2016 - || ( LGPL-3 MPL-2.0 ) -" -SLOT="0" -KEYWORDS="amd64" - -IUSE="clipboard cover mpris ncurses +notify pulseaudio" - -RDEPEND="dev-libs/openssl:= - sys-apps/dbus - clipboard? ( x11-libs/libxcb:= ) - cover? ( media-gfx/ueberzug ) - ncurses? ( sys-libs/ncurses:= ) - !ncurses? ( sys-libs/ncurses ) - pulseaudio? ( media-libs/libpulse ) - !pulseaudio? ( media-libs/alsa-lib )" -DEPEND="${RDEPEND}" -BDEPEND="${PYTHON_DEPS} - virtual/pkgconfig" - -QA_FLAGS_IGNORED="/usr/bin/ncspot" - -src_configure() { - local myfeaturesdef="" - - use clipboard && myfeaturesdef+="share_clipboard,share_selection," - use cover && myfeaturesdef+="cover," - use mpris && myfeaturesdef+="mpris," - use ncurses && myfeaturesdef+="ncurses_backend," - use notify && myfeaturesdef+="notify," - - # It always seems to link to libpulse regardless of this setting if libpulse is installed. - if use pulseaudio; then - myfeaturesdef+="pulseaudio_backend," - else - myfeaturesdef+="alsa_backend," - fi - - local myfeatures=( "${myfeaturesdef::-1}" ) - - cargo_src_configure --no-default-features -} - -src_compile() { - cargo_src_compile - - cargo xtask generate-shell-completion || die - cargo xtask generate-manpage || die -} - -src_install() { - cargo_src_install - einstalldocs - - domenu misc/ncspot.desktop - newicon -s scalable images/logo.svg ncspot.svg - - dobashcomp misc/ncspot.bash - - insinto /usr/share/fish/completions - doins misc/ncspot.fish - - insinto /usr/share/zsh/site-functions - doins misc/_ncspot - - doman misc/ncspot.1 -} - -pkg_postinst() { - optfeature_header "Optional runtime features:" - optfeature "MPRIS song scrobbling support" media-sound/rescrobbled -} diff --git a/media-sound/ncspot/ncspot-1.2.0-r1.ebuild b/media-sound/ncspot/ncspot-1.2.0-r1.ebuild new file mode 100644 index 000000000000..f461b2a76eb4 --- /dev/null +++ b/media-sound/ncspot/ncspot-1.2.0-r1.ebuild @@ -0,0 +1,647 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.6 + +EAPI=8 + +CRATES=" + addr2line@0.24.2 + adler2@2.0.0 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + alsa-sys@0.3.1 + alsa@0.9.1 + 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 + arboard@3.4.1 + arrayvec@0.7.6 + async-broadcast@0.7.1 + async-channel@2.3.1 + async-executor@1.13.1 + async-fs@2.1.2 + async-io@2.3.4 + async-lock@3.4.0 + async-process@2.3.0 + async-recursion@1.1.1 + async-signal@0.2.10 + async-task@4.7.1 + async-trait@0.1.83 + atomic-waker@1.1.2 + autocfg@1.4.0 + aws-lc-rs@1.10.0 + aws-lc-sys@0.22.0 + backtrace@0.3.74 + base64@0.13.1 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + bindgen@0.69.5 + bindgen@0.70.1 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + block2@0.5.1 + block@0.1.6 + blocking@1.6.1 + bumpalo@3.16.0 + bytemuck@1.19.0 + byteorder-lite@0.1.0 + byteorder@1.5.0 + bytes@1.7.2 + castaway@0.2.3 + cc@1.1.30 + cesu8@1.1.0 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cfg_aliases@0.2.1 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.8.1 + clap@4.5.20 + clap_builder@4.5.20 + clap_complete@4.5.33 + clap_lex@0.7.2 + clap_mangen@0.2.24 + clipboard-win@5.4.0 + cmake@0.1.51 + colorchoice@1.0.2 + combine@4.6.7 + compact_str@0.8.0 + concurrent-queue@2.5.0 + const-oid@0.9.6 + cookie@0.18.1 + cookie_store@0.21.0 + core-foundation-sys@0.8.7 + core-foundation@0.9.4 + core-graphics-types@0.1.3 + core-graphics@0.23.2 + coreaudio-rs@0.11.3 + coreaudio-sys@0.2.16 + cpal@0.15.3 + cpufeatures@0.2.14 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-utils@0.8.20 + crossterm@0.28.1 + crossterm_winapi@0.9.1 + crypto-common@0.1.6 + ctr@0.9.2 + cursive-macros@0.1.0 + cursive@0.21.1 + cursive_core@0.4.6 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + dasp_sample@0.11.0 + data-encoding@2.6.0 + der@0.7.9 + deranged@0.3.11 + derive-new@0.6.0 + derive_builder@0.20.2 + derive_builder_core@0.20.2 + derive_builder_macro@0.20.2 + digest@0.10.7 + dirs-next@1.0.2 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dlib@0.5.2 + downcast-rs@1.2.1 + dunce@1.0.5 + either@1.13.0 + encoding_rs@0.8.34 + endi@1.1.0 + enum-map-derive@0.17.0 + enum-map@2.7.3 + enum_dispatch@0.3.13 + enumflags2@0.7.10 + enumflags2_derive@0.7.10 + enumset@1.1.5 + enumset_derive@0.10.0 + equivalent@1.0.1 + errno@0.3.9 + error-code@3.3.1 + event-listener-strategy@0.5.2 + event-listener@5.3.1 + fastrand@2.1.1 + fdeflate@0.3.5 + fern@0.6.2 + fixedbitset@0.4.2 + flate2@1.0.34 + fnv@1.0.7 + foreign-types-macros@0.2.3 + foreign-types-shared@0.1.1 + foreign-types-shared@0.3.1 + foreign-types@0.3.2 + foreign-types@0.5.0 + form_urlencoded@1.2.1 + fs_extra@1.3.0 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-lite@2.3.0 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-timer@3.0.3 + futures-util@0.3.31 + futures@0.3.31 + generic-array@0.14.7 + gethostname@0.4.3 + getrandom@0.2.15 + gimli@0.31.1 + glob@0.3.1 + governor@0.6.3 + h2@0.3.26 + h2@0.4.6 + half@1.8.3 + hashbrown@0.15.0 + headers-core@0.3.0 + headers@0.4.0 + heck@0.5.0 + hermit-abi@0.3.9 + hermit-abi@0.4.0 + hex@0.4.3 + hmac@0.12.1 + home@0.5.9 + http-body-util@0.1.2 + http-body@0.4.6 + http-body@1.0.1 + http@0.2.12 + http@1.1.0 + httparse@1.9.5 + httpdate@1.0.3 + hyper-proxy2@0.1.0 + hyper-rustls@0.24.2 + hyper-rustls@0.26.0 + hyper-rustls@0.27.3 + hyper-tls@0.6.0 + hyper-util@0.1.9 + hyper@0.14.31 + hyper@1.5.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.61 + ident_case@1.0.1 + idna@0.5.0 + image@0.25.2 + indexmap@2.6.0 + inout@0.1.3 + ioctl-rs@0.2.0 + ipnet@2.10.1 + is_terminal_polyfill@1.70.1 + itertools@0.12.1 + itertools@0.13.0 + itoa@1.0.11 + jni-sys@0.3.0 + jni@0.21.1 + jobserver@0.1.32 + jpeg-decoder@0.3.1 + js-sys@0.3.72 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.159 + libloading@0.8.5 + libm@0.2.8 + libpulse-binding@2.28.1 + libpulse-simple-binding@2.28.1 + libpulse-simple-sys@1.21.1 + libpulse-sys@1.21.0 + libredox@0.1.3 + librespot-audio@0.5.0 + librespot-core@0.5.0 + librespot-metadata@0.5.0 + librespot-oauth@0.5.0 + librespot-playback@0.5.0 + librespot-protocol@0.5.0 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + mac-notification-sys@0.6.2 + mach2@0.4.2 + malloc_buf@0.0.6 + maplit@1.0.2 + maybe-async@0.2.10 + memchr@2.7.4 + memoffset@0.9.1 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.8.0 + mio@1.0.2 + mirai-annotations@1.12.0 + native-tls@0.2.12 + ncurses@5.101.0 + ncurses@6.0.1 + ndk-context@0.1.1 + ndk-sys@0.5.0+25.2.9519653 + ndk@0.8.0 + nix@0.28.0 + nix@0.29.0 + no-std-compat@0.4.1 + nom@7.1.3 + nonzero_ext@0.3.0 + notify-rust@4.11.3 + ntapi@0.4.1 + num-bigint-dig@0.8.4 + num-bigint@0.2.6 + num-bigint@0.4.6 + num-complex@0.2.4 + num-complex@0.4.6 + num-conv@0.1.0 + num-derive@0.3.3 + num-derive@0.4.2 + num-integer@0.1.46 + num-iter@0.1.45 + num-rational@0.2.4 + num-rational@0.4.2 + num-traits@0.2.19 + num@0.2.1 + num@0.4.3 + num_enum@0.7.3 + num_enum_derive@0.7.3 + num_threads@0.1.7 + numtoa@0.2.4 + oauth2@4.4.2 + objc-foundation@0.1.1 + objc-sys@0.3.5 + objc2-app-kit@0.2.2 + objc2-core-data@0.2.2 + objc2-core-image@0.2.2 + objc2-encode@4.0.3 + objc2-foundation@0.2.2 + objc2-metal@0.2.2 + objc2-quartz-core@0.2.2 + objc2@0.5.2 + objc@0.2.7 + objc_id@0.1.1 + object@0.36.5 + oboe-sys@0.6.1 + oboe@0.6.1 + once_cell@1.20.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.103 + openssl@0.10.66 + ordered-stream@0.2.0 + os_pipe@1.2.1 + pancurses@0.17.0 + parking@2.2.1 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + parse_duration@2.1.1 + paste@1.0.15 + pbkdf2@0.12.2 + pdcurses-sys@0.7.1 + pem-rfc7468@0.7.0 + percent-encoding@2.3.1 + petgraph@0.6.5 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + piper@0.2.4 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.31 + platform-dirs@0.3.0 + png@0.17.14 + polling@3.7.3 + portable-atomic@1.9.0 + portaudio-rs@0.3.2 + portaudio-sys@0.1.1 + powerfmt@0.2.0 + ppv-lite86@0.2.20 + prettyplease@0.2.22 + priority-queue@2.1.1 + proc-macro-crate@3.2.0 + proc-macro2@1.0.87 + protobuf-codegen@3.6.0 + protobuf-parse@3.6.0 + protobuf-support@3.6.0 + protobuf@3.6.0 + quick-xml@0.31.0 + quick-xml@0.36.2 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + redox_syscall@0.5.7 + redox_termios@0.1.3 + redox_users@0.4.6 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.0 + reqwest@0.11.27 + reqwest@0.12.8 + ring@0.17.8 + rodio@0.19.0 + roff@0.2.2 + rsa@0.9.6 + rspotify-http@0.13.3 + rspotify-macros@0.13.3 + rspotify-model@0.13.3 + rspotify@0.13.3 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustix@0.38.37 + rustls-native-certs@0.7.3 + rustls-native-certs@0.8.0 + rustls-pemfile@1.0.4 + rustls-pemfile@2.2.0 + rustls-pki-types@1.10.0 + rustls-webpki@0.101.7 + rustls-webpki@0.102.8 + rustls@0.21.12 + rustls@0.22.4 + rustls@0.23.14 + rustversion@1.0.18 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.26 + scoped-tls@1.0.1 + scopeguard@1.2.0 + sct@0.7.1 + security-framework-sys@2.12.0 + security-framework@2.11.1 + serde@1.0.210 + serde_cbor@0.11.2 + serde_derive@1.0.210 + serde_json@1.0.128 + serde_path_to_error@0.1.16 + serde_repr@0.1.19 + serde_spanned@0.6.8 + serde_urlencoded@0.7.1 + sha1@0.10.6 + sha2@0.10.8 + shannon@0.2.0 + shell-words@1.1.0 + shlex@1.3.0 + signal-hook-mio@0.2.4 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + signature@2.2.0 + simd-adler32@0.3.7 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + socks@0.3.4 + spin@0.9.8 + spinning_top@0.3.0 + spki@0.7.3 + static_assertions@1.1.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + subtle@2.6.1 + symphonia-bundle-mp3@0.5.4 + symphonia-codec-vorbis@0.5.4 + symphonia-core@0.5.4 + symphonia-format-ogg@0.5.4 + symphonia-metadata@0.5.4 + symphonia-utils-xiph@0.5.4 + symphonia@0.5.4 + syn@1.0.109 + syn@2.0.79 + sync_wrapper@0.1.2 + sync_wrapper@1.0.1 + sysinfo@0.31.4 + system-configuration-sys@0.5.0 + system-configuration-sys@0.6.0 + system-configuration@0.5.1 + system-configuration@0.6.1 + tauri-winrt-notification@0.2.1 + tempfile@3.13.0 + termion@4.0.3 + thiserror-impl@1.0.64 + thiserror@1.0.64 + thread-id@4.2.2 + tiff@0.9.1 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tokio-macros@2.4.0 + tokio-native-tls@0.3.1 + tokio-rustls@0.24.1 + tokio-rustls@0.25.0 + tokio-rustls@0.26.0 + tokio-stream@0.1.16 + tokio-tungstenite@0.24.0 + tokio-util@0.7.12 + tokio@1.40.0 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.22.22 + tower-service@0.3.3 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + tree_magic_mini@3.1.5 + try-lock@0.2.5 + tungstenite@0.24.0 + typenum@1.17.0 + uds_windows@1.1.0 + unicode-bidi@0.3.17 + unicode-ident@1.0.13 + unicode-normalization@0.1.24 + unicode-segmentation@1.12.0 + unicode-width@0.1.14 + unicode-width@0.2.0 + untrusted@0.9.0 + ureq@2.10.1 + url@2.5.2 + utf-8@0.7.6 + utf8parse@0.2.2 + uuid@1.10.0 + vcpkg@0.2.15 + vergen-gitcl@1.0.1 + vergen-lib@0.1.4 + vergen@9.0.1 + version_check@0.9.5 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.95 + wasm-bindgen-futures@0.4.45 + wasm-bindgen-macro-support@0.2.95 + wasm-bindgen-macro@0.2.95 + wasm-bindgen-shared@0.2.95 + wasm-bindgen@0.2.95 + wayland-backend@0.3.7 + wayland-client@0.31.6 + wayland-protocols-wlr@0.2.0 + wayland-protocols@0.31.2 + wayland-scanner@0.31.5 + wayland-sys@0.31.5 + web-sys@0.3.72 + webpki-roots@0.25.4 + webpki@0.22.4 + weezl@0.1.8 + which@4.4.2 + 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-core@0.54.0 + windows-core@0.56.0 + windows-core@0.57.0 + windows-implement@0.56.0 + windows-implement@0.57.0 + windows-interface@0.56.0 + windows-interface@0.57.0 + windows-registry@0.2.0 + windows-result@0.1.2 + windows-result@0.2.0 + windows-strings@0.1.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows-version@0.1.1 + windows@0.54.0 + windows@0.56.0 + windows@0.57.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.6.20 + winreg@0.5.1 + winreg@0.50.0 + wl-clipboard-rs@0.8.1 + x11rb-protocol@0.13.1 + x11rb@0.13.1 + xdg-home@1.3.0 + xi-unicode@0.3.0 + zbus@4.4.0 + zbus_macros@4.4.0 + zbus_names@3.0.0 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zeroize@1.8.1 + zvariant@4.2.0 + zvariant_derive@4.2.0 + zvariant_utils@2.1.0 +" + +# xtask crates: +CRATES+=" + cargo-xtask@0.1.0 + clap_mangen@0.2.24 + clap_complete@4.5.33 + clap@4.5.20 +" + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit bash-completion-r1 cargo desktop optfeature python-any-r1 + +DESCRIPTION="ncurses Spotify client written in Rust using librespot" +HOMEPAGE="https://github.com/hrkfdn/ncspot" +SRC_URI="https://github.com/hrkfdn/ncspot/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="BSD-2" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 ISC MIT MPL-2.0 openssl Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="clipboard cover mpris ncurses +notify pulseaudio" + +RDEPEND="dev-libs/openssl:= + sys-apps/dbus + clipboard? ( x11-libs/libxcb:= ) + cover? ( media-gfx/ueberzug ) + ncurses? ( sys-libs/ncurses:= ) + !ncurses? ( sys-libs/ncurses ) + pulseaudio? ( media-libs/libpulse ) + !pulseaudio? ( media-libs/alsa-lib )" +DEPEND="${RDEPEND}" +BDEPEND="${PYTHON_DEPS} + virtual/pkgconfig" + +QA_FLAGS_IGNORED="/usr/bin/ncspot" + +src_configure() { + local myfeaturesdef="" + + use clipboard && myfeaturesdef+="share_clipboard,share_selection," + use cover && myfeaturesdef+="cover," + use mpris && myfeaturesdef+="mpris," + use ncurses && myfeaturesdef+="ncurses_backend," + use notify && myfeaturesdef+="notify," + + # It always seems to link to libpulse regardless of this setting if libpulse is installed. + if use pulseaudio; then + myfeaturesdef+="pulseaudio_backend," + else + myfeaturesdef+="alsa_backend," + fi + + local myfeatures=( "${myfeaturesdef::-1}" ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cargo_src_compile + + cargo xtask generate-shell-completion || die + cargo xtask generate-manpage || die +} + +src_install() { + cargo_src_install + einstalldocs + + domenu misc/ncspot.desktop + newicon -s scalable images/logo.svg ncspot.svg + + newbashcomp misc/ncspot.bash ncspot + + insinto /usr/share/fish/completions + doins misc/ncspot.fish + + insinto /usr/share/zsh/site-functions + doins misc/_ncspot + + doman misc/ncspot.1 +} + +pkg_postinst() { + optfeature_header "Optional runtime features:" + optfeature "MPRIS song scrobbling support" media-sound/rescrobbled +} diff --git a/media-sound/ncspot/ncspot-1.2.0.ebuild b/media-sound/ncspot/ncspot-1.2.0.ebuild deleted file mode 100644 index f461b2a76eb4..000000000000 --- a/media-sound/ncspot/ncspot-1.2.0.ebuild +++ /dev/null @@ -1,647 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.6 - -EAPI=8 - -CRATES=" - addr2line@0.24.2 - adler2@2.0.0 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - alsa-sys@0.3.1 - alsa@0.9.1 - 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 - arboard@3.4.1 - arrayvec@0.7.6 - async-broadcast@0.7.1 - async-channel@2.3.1 - async-executor@1.13.1 - async-fs@2.1.2 - async-io@2.3.4 - async-lock@3.4.0 - async-process@2.3.0 - async-recursion@1.1.1 - async-signal@0.2.10 - async-task@4.7.1 - async-trait@0.1.83 - atomic-waker@1.1.2 - autocfg@1.4.0 - aws-lc-rs@1.10.0 - aws-lc-sys@0.22.0 - backtrace@0.3.74 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - bindgen@0.69.5 - bindgen@0.70.1 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - block2@0.5.1 - block@0.1.6 - blocking@1.6.1 - bumpalo@3.16.0 - bytemuck@1.19.0 - byteorder-lite@0.1.0 - byteorder@1.5.0 - bytes@1.7.2 - castaway@0.2.3 - cc@1.1.30 - cesu8@1.1.0 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - cfg_aliases@0.2.1 - chrono@0.4.38 - cipher@0.4.4 - clang-sys@1.8.1 - clap@4.5.20 - clap_builder@4.5.20 - clap_complete@4.5.33 - clap_lex@0.7.2 - clap_mangen@0.2.24 - clipboard-win@5.4.0 - cmake@0.1.51 - colorchoice@1.0.2 - combine@4.6.7 - compact_str@0.8.0 - concurrent-queue@2.5.0 - const-oid@0.9.6 - cookie@0.18.1 - cookie_store@0.21.0 - core-foundation-sys@0.8.7 - core-foundation@0.9.4 - core-graphics-types@0.1.3 - core-graphics@0.23.2 - coreaudio-rs@0.11.3 - coreaudio-sys@0.2.16 - cpal@0.15.3 - cpufeatures@0.2.14 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-utils@0.8.20 - crossterm@0.28.1 - crossterm_winapi@0.9.1 - crypto-common@0.1.6 - ctr@0.9.2 - cursive-macros@0.1.0 - cursive@0.21.1 - cursive_core@0.4.6 - darling@0.20.10 - darling_core@0.20.10 - darling_macro@0.20.10 - dasp_sample@0.11.0 - data-encoding@2.6.0 - der@0.7.9 - deranged@0.3.11 - derive-new@0.6.0 - derive_builder@0.20.2 - derive_builder_core@0.20.2 - derive_builder_macro@0.20.2 - digest@0.10.7 - dirs-next@1.0.2 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - dlib@0.5.2 - downcast-rs@1.2.1 - dunce@1.0.5 - either@1.13.0 - encoding_rs@0.8.34 - endi@1.1.0 - enum-map-derive@0.17.0 - enum-map@2.7.3 - enum_dispatch@0.3.13 - enumflags2@0.7.10 - enumflags2_derive@0.7.10 - enumset@1.1.5 - enumset_derive@0.10.0 - equivalent@1.0.1 - errno@0.3.9 - error-code@3.3.1 - event-listener-strategy@0.5.2 - event-listener@5.3.1 - fastrand@2.1.1 - fdeflate@0.3.5 - fern@0.6.2 - fixedbitset@0.4.2 - flate2@1.0.34 - fnv@1.0.7 - foreign-types-macros@0.2.3 - foreign-types-shared@0.1.1 - foreign-types-shared@0.3.1 - foreign-types@0.3.2 - foreign-types@0.5.0 - form_urlencoded@1.2.1 - fs_extra@1.3.0 - futures-channel@0.3.31 - futures-core@0.3.31 - futures-executor@0.3.31 - futures-io@0.3.31 - futures-lite@2.3.0 - futures-macro@0.3.31 - futures-sink@0.3.31 - futures-task@0.3.31 - futures-timer@3.0.3 - futures-util@0.3.31 - futures@0.3.31 - generic-array@0.14.7 - gethostname@0.4.3 - getrandom@0.2.15 - gimli@0.31.1 - glob@0.3.1 - governor@0.6.3 - h2@0.3.26 - h2@0.4.6 - half@1.8.3 - hashbrown@0.15.0 - headers-core@0.3.0 - headers@0.4.0 - heck@0.5.0 - hermit-abi@0.3.9 - hermit-abi@0.4.0 - hex@0.4.3 - hmac@0.12.1 - home@0.5.9 - http-body-util@0.1.2 - http-body@0.4.6 - http-body@1.0.1 - http@0.2.12 - http@1.1.0 - httparse@1.9.5 - httpdate@1.0.3 - hyper-proxy2@0.1.0 - hyper-rustls@0.24.2 - hyper-rustls@0.26.0 - hyper-rustls@0.27.3 - hyper-tls@0.6.0 - hyper-util@0.1.9 - hyper@0.14.31 - hyper@1.5.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.61 - ident_case@1.0.1 - idna@0.5.0 - image@0.25.2 - indexmap@2.6.0 - inout@0.1.3 - ioctl-rs@0.2.0 - ipnet@2.10.1 - is_terminal_polyfill@1.70.1 - itertools@0.12.1 - itertools@0.13.0 - itoa@1.0.11 - jni-sys@0.3.0 - jni@0.21.1 - jobserver@0.1.32 - jpeg-decoder@0.3.1 - js-sys@0.3.72 - lazy_static@1.5.0 - lazycell@1.3.0 - libc@0.2.159 - libloading@0.8.5 - libm@0.2.8 - libpulse-binding@2.28.1 - libpulse-simple-binding@2.28.1 - libpulse-simple-sys@1.21.1 - libpulse-sys@1.21.0 - libredox@0.1.3 - librespot-audio@0.5.0 - librespot-core@0.5.0 - librespot-metadata@0.5.0 - librespot-oauth@0.5.0 - librespot-playback@0.5.0 - librespot-protocol@0.5.0 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - mac-notification-sys@0.6.2 - mach2@0.4.2 - malloc_buf@0.0.6 - maplit@1.0.2 - maybe-async@0.2.10 - memchr@2.7.4 - memoffset@0.9.1 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.8.0 - mio@1.0.2 - mirai-annotations@1.12.0 - native-tls@0.2.12 - ncurses@5.101.0 - ncurses@6.0.1 - ndk-context@0.1.1 - ndk-sys@0.5.0+25.2.9519653 - ndk@0.8.0 - nix@0.28.0 - nix@0.29.0 - no-std-compat@0.4.1 - nom@7.1.3 - nonzero_ext@0.3.0 - notify-rust@4.11.3 - ntapi@0.4.1 - num-bigint-dig@0.8.4 - num-bigint@0.2.6 - num-bigint@0.4.6 - num-complex@0.2.4 - num-complex@0.4.6 - num-conv@0.1.0 - num-derive@0.3.3 - num-derive@0.4.2 - num-integer@0.1.46 - num-iter@0.1.45 - num-rational@0.2.4 - num-rational@0.4.2 - num-traits@0.2.19 - num@0.2.1 - num@0.4.3 - num_enum@0.7.3 - num_enum_derive@0.7.3 - num_threads@0.1.7 - numtoa@0.2.4 - oauth2@4.4.2 - objc-foundation@0.1.1 - objc-sys@0.3.5 - objc2-app-kit@0.2.2 - objc2-core-data@0.2.2 - objc2-core-image@0.2.2 - objc2-encode@4.0.3 - objc2-foundation@0.2.2 - objc2-metal@0.2.2 - objc2-quartz-core@0.2.2 - objc2@0.5.2 - objc@0.2.7 - objc_id@0.1.1 - object@0.36.5 - oboe-sys@0.6.1 - oboe@0.6.1 - once_cell@1.20.2 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.103 - openssl@0.10.66 - ordered-stream@0.2.0 - os_pipe@1.2.1 - pancurses@0.17.0 - parking@2.2.1 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - parse_duration@2.1.1 - paste@1.0.15 - pbkdf2@0.12.2 - pdcurses-sys@0.7.1 - pem-rfc7468@0.7.0 - percent-encoding@2.3.1 - petgraph@0.6.5 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - piper@0.2.4 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.31 - platform-dirs@0.3.0 - png@0.17.14 - polling@3.7.3 - portable-atomic@1.9.0 - portaudio-rs@0.3.2 - portaudio-sys@0.1.1 - powerfmt@0.2.0 - ppv-lite86@0.2.20 - prettyplease@0.2.22 - priority-queue@2.1.1 - proc-macro-crate@3.2.0 - proc-macro2@1.0.87 - protobuf-codegen@3.6.0 - protobuf-parse@3.6.0 - protobuf-support@3.6.0 - protobuf@3.6.0 - quick-xml@0.31.0 - quick-xml@0.36.2 - quote@1.0.37 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - redox_syscall@0.5.7 - redox_termios@0.1.3 - redox_users@0.4.6 - regex-automata@0.4.8 - regex-syntax@0.8.5 - regex@1.11.0 - reqwest@0.11.27 - reqwest@0.12.8 - ring@0.17.8 - rodio@0.19.0 - roff@0.2.2 - rsa@0.9.6 - rspotify-http@0.13.3 - rspotify-macros@0.13.3 - rspotify-model@0.13.3 - rspotify@0.13.3 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustix@0.38.37 - rustls-native-certs@0.7.3 - rustls-native-certs@0.8.0 - rustls-pemfile@1.0.4 - rustls-pemfile@2.2.0 - rustls-pki-types@1.10.0 - rustls-webpki@0.101.7 - rustls-webpki@0.102.8 - rustls@0.21.12 - rustls@0.22.4 - rustls@0.23.14 - rustversion@1.0.18 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.26 - scoped-tls@1.0.1 - scopeguard@1.2.0 - sct@0.7.1 - security-framework-sys@2.12.0 - security-framework@2.11.1 - serde@1.0.210 - serde_cbor@0.11.2 - serde_derive@1.0.210 - serde_json@1.0.128 - serde_path_to_error@0.1.16 - serde_repr@0.1.19 - serde_spanned@0.6.8 - serde_urlencoded@0.7.1 - sha1@0.10.6 - sha2@0.10.8 - shannon@0.2.0 - shell-words@1.1.0 - shlex@1.3.0 - signal-hook-mio@0.2.4 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - signature@2.2.0 - simd-adler32@0.3.7 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.5.7 - socks@0.3.4 - spin@0.9.8 - spinning_top@0.3.0 - spki@0.7.3 - static_assertions@1.1.0 - strsim@0.11.1 - strum@0.26.3 - strum_macros@0.26.4 - subtle@2.6.1 - symphonia-bundle-mp3@0.5.4 - symphonia-codec-vorbis@0.5.4 - symphonia-core@0.5.4 - symphonia-format-ogg@0.5.4 - symphonia-metadata@0.5.4 - symphonia-utils-xiph@0.5.4 - symphonia@0.5.4 - syn@1.0.109 - syn@2.0.79 - sync_wrapper@0.1.2 - sync_wrapper@1.0.1 - sysinfo@0.31.4 - system-configuration-sys@0.5.0 - system-configuration-sys@0.6.0 - system-configuration@0.5.1 - system-configuration@0.6.1 - tauri-winrt-notification@0.2.1 - tempfile@3.13.0 - termion@4.0.3 - thiserror-impl@1.0.64 - thiserror@1.0.64 - thread-id@4.2.2 - tiff@0.9.1 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - tokio-macros@2.4.0 - tokio-native-tls@0.3.1 - tokio-rustls@0.24.1 - tokio-rustls@0.25.0 - tokio-rustls@0.26.0 - tokio-stream@0.1.16 - tokio-tungstenite@0.24.0 - tokio-util@0.7.12 - tokio@1.40.0 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.22.22 - tower-service@0.3.3 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - tree_magic_mini@3.1.5 - try-lock@0.2.5 - tungstenite@0.24.0 - typenum@1.17.0 - uds_windows@1.1.0 - unicode-bidi@0.3.17 - unicode-ident@1.0.13 - unicode-normalization@0.1.24 - unicode-segmentation@1.12.0 - unicode-width@0.1.14 - unicode-width@0.2.0 - untrusted@0.9.0 - ureq@2.10.1 - url@2.5.2 - utf-8@0.7.6 - utf8parse@0.2.2 - uuid@1.10.0 - vcpkg@0.2.15 - vergen-gitcl@1.0.1 - vergen-lib@0.1.4 - vergen@9.0.1 - version_check@0.9.5 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.95 - wasm-bindgen-futures@0.4.45 - wasm-bindgen-macro-support@0.2.95 - wasm-bindgen-macro@0.2.95 - wasm-bindgen-shared@0.2.95 - wasm-bindgen@0.2.95 - wayland-backend@0.3.7 - wayland-client@0.31.6 - wayland-protocols-wlr@0.2.0 - wayland-protocols@0.31.2 - wayland-scanner@0.31.5 - wayland-sys@0.31.5 - web-sys@0.3.72 - webpki-roots@0.25.4 - webpki@0.22.4 - weezl@0.1.8 - which@4.4.2 - 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-core@0.54.0 - windows-core@0.56.0 - windows-core@0.57.0 - windows-implement@0.56.0 - windows-implement@0.57.0 - windows-interface@0.56.0 - windows-interface@0.57.0 - windows-registry@0.2.0 - windows-result@0.1.2 - windows-result@0.2.0 - windows-strings@0.1.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-sys@0.59.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows-targets@0.52.6 - windows-version@0.1.1 - windows@0.54.0 - windows@0.56.0 - windows@0.57.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.6 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.6 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.6 - windows_i686_gnullvm@0.52.6 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.6 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.6 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.6 - winnow@0.6.20 - winreg@0.5.1 - winreg@0.50.0 - wl-clipboard-rs@0.8.1 - x11rb-protocol@0.13.1 - x11rb@0.13.1 - xdg-home@1.3.0 - xi-unicode@0.3.0 - zbus@4.4.0 - zbus_macros@4.4.0 - zbus_names@3.0.0 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zeroize@1.8.1 - zvariant@4.2.0 - zvariant_derive@4.2.0 - zvariant_utils@2.1.0 -" - -# xtask crates: -CRATES+=" - cargo-xtask@0.1.0 - clap_mangen@0.2.24 - clap_complete@4.5.33 - clap@4.5.20 -" - -PYTHON_COMPAT=( python3_{10..13} ) - -inherit bash-completion-r1 cargo desktop optfeature python-any-r1 - -DESCRIPTION="ncurses Spotify client written in Rust using librespot" -HOMEPAGE="https://github.com/hrkfdn/ncspot" -SRC_URI="https://github.com/hrkfdn/ncspot/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - -LICENSE="BSD-2" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 ISC MIT MPL-2.0 openssl Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="~amd64" - -IUSE="clipboard cover mpris ncurses +notify pulseaudio" - -RDEPEND="dev-libs/openssl:= - sys-apps/dbus - clipboard? ( x11-libs/libxcb:= ) - cover? ( media-gfx/ueberzug ) - ncurses? ( sys-libs/ncurses:= ) - !ncurses? ( sys-libs/ncurses ) - pulseaudio? ( media-libs/libpulse ) - !pulseaudio? ( media-libs/alsa-lib )" -DEPEND="${RDEPEND}" -BDEPEND="${PYTHON_DEPS} - virtual/pkgconfig" - -QA_FLAGS_IGNORED="/usr/bin/ncspot" - -src_configure() { - local myfeaturesdef="" - - use clipboard && myfeaturesdef+="share_clipboard,share_selection," - use cover && myfeaturesdef+="cover," - use mpris && myfeaturesdef+="mpris," - use ncurses && myfeaturesdef+="ncurses_backend," - use notify && myfeaturesdef+="notify," - - # It always seems to link to libpulse regardless of this setting if libpulse is installed. - if use pulseaudio; then - myfeaturesdef+="pulseaudio_backend," - else - myfeaturesdef+="alsa_backend," - fi - - local myfeatures=( "${myfeaturesdef::-1}" ) - - cargo_src_configure --no-default-features -} - -src_compile() { - cargo_src_compile - - cargo xtask generate-shell-completion || die - cargo xtask generate-manpage || die -} - -src_install() { - cargo_src_install - einstalldocs - - domenu misc/ncspot.desktop - newicon -s scalable images/logo.svg ncspot.svg - - newbashcomp misc/ncspot.bash ncspot - - insinto /usr/share/fish/completions - doins misc/ncspot.fish - - insinto /usr/share/zsh/site-functions - doins misc/_ncspot - - doman misc/ncspot.1 -} - -pkg_postinst() { - optfeature_header "Optional runtime features:" - optfeature "MPRIS song scrobbling support" media-sound/rescrobbled -} diff --git a/media-sound/ncspot/ncspot-1.2.1-r1.ebuild b/media-sound/ncspot/ncspot-1.2.1-r1.ebuild new file mode 100644 index 000000000000..ce56d901f746 --- /dev/null +++ b/media-sound/ncspot/ncspot-1.2.1-r1.ebuild @@ -0,0 +1,653 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.6 + +EAPI=8 + +CRATES=" + addr2line@0.24.2 + adler2@2.0.0 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + alsa-sys@0.3.1 + alsa@0.9.1 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.17 + anstyle-parse@0.2.6 + anstyle-query@1.1.2 + anstyle-wincon@3.0.6 + anstyle@1.0.9 + anyhow@1.0.91 + arboard@3.4.1 + arrayvec@0.7.6 + async-broadcast@0.7.1 + async-channel@2.3.1 + async-executor@1.13.1 + async-fs@2.1.2 + async-io@2.3.4 + async-lock@3.4.0 + async-process@2.3.0 + async-recursion@1.1.1 + async-signal@0.2.10 + async-task@4.7.1 + async-trait@0.1.83 + atomic-waker@1.1.2 + autocfg@1.4.0 + aws-lc-rs@1.10.0 + aws-lc-sys@0.22.0 + backtrace@0.3.74 + base64@0.13.1 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + bindgen@0.69.5 + bindgen@0.70.1 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + block2@0.5.1 + block@0.1.6 + blocking@1.6.1 + bumpalo@3.16.0 + bytemuck@1.19.0 + byteorder-lite@0.1.0 + byteorder@1.5.0 + bytes@1.8.0 + castaway@0.2.3 + cc@1.1.31 + cesu8@1.1.0 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cfg_aliases@0.2.1 + chrono@0.4.38 + cipher@0.4.4 + clang-sys@1.8.1 + clap@4.5.20 + clap_builder@4.5.20 + clap_complete@4.5.36 + clap_lex@0.7.2 + clap_mangen@0.2.24 + clipboard-win@5.4.0 + cmake@0.1.51 + colorchoice@1.0.3 + combine@4.6.7 + compact_str@0.8.0 + concurrent-queue@2.5.0 + const-oid@0.9.6 + cookie@0.18.1 + cookie_store@0.21.0 + core-foundation-sys@0.8.7 + core-foundation@0.9.4 + core-graphics-types@0.1.3 + core-graphics@0.23.2 + coreaudio-rs@0.11.3 + coreaudio-sys@0.2.16 + cpal@0.15.3 + cpufeatures@0.2.14 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-utils@0.8.20 + crossterm@0.28.1 + crossterm_winapi@0.9.1 + crypto-common@0.1.6 + ctr@0.9.2 + cursive-macros@0.1.0 + cursive@0.21.1 + cursive_core@0.4.6 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + dasp_sample@0.11.0 + data-encoding@2.6.0 + der@0.7.9 + deranged@0.3.11 + derive-new@0.6.0 + derive_builder@0.20.2 + derive_builder_core@0.20.2 + derive_builder_macro@0.20.2 + digest@0.10.7 + dirs-next@1.0.2 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + dlib@0.5.2 + downcast-rs@1.2.1 + dunce@1.0.5 + either@1.13.0 + encoding_rs@0.8.35 + endi@1.1.0 + enum-map-derive@0.17.0 + enum-map@2.7.3 + enum_dispatch@0.3.13 + enumflags2@0.7.10 + enumflags2_derive@0.7.10 + enumset@1.1.5 + enumset_derive@0.10.0 + equivalent@1.0.1 + errno@0.3.9 + error-code@3.3.1 + event-listener-strategy@0.5.2 + event-listener@5.3.1 + fastrand@2.1.1 + fdeflate@0.3.6 + fern@0.7.0 + fixedbitset@0.4.2 + flate2@1.0.34 + fnv@1.0.7 + foreign-types-macros@0.2.3 + foreign-types-shared@0.1.1 + foreign-types-shared@0.3.1 + foreign-types@0.3.2 + foreign-types@0.5.0 + form_urlencoded@1.2.1 + fs_extra@1.3.0 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-lite@2.4.0 + futures-macro@0.3.31 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-timer@3.0.3 + futures-util@0.3.31 + futures@0.3.31 + generic-array@0.14.7 + gethostname@0.4.3 + getrandom@0.2.15 + gimli@0.31.1 + glob@0.3.1 + governor@0.6.3 + h2@0.3.26 + h2@0.4.6 + half@1.8.3 + hashbrown@0.15.0 + headers-core@0.3.0 + headers@0.4.0 + heck@0.5.0 + hermit-abi@0.3.9 + hermit-abi@0.4.0 + hex@0.4.3 + hmac@0.12.1 + home@0.5.9 + http-body-util@0.1.2 + http-body@0.4.6 + http-body@1.0.1 + http@0.2.12 + http@1.1.0 + httparse@1.9.5 + httpdate@1.0.3 + hyper-proxy2@0.1.0 + hyper-rustls@0.24.2 + hyper-rustls@0.26.0 + hyper-rustls@0.27.3 + hyper-tls@0.6.0 + hyper-util@0.1.10 + hyper@0.14.31 + hyper@1.5.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.61 + ident_case@1.0.1 + idna@0.5.0 + image@0.25.4 + indexmap@2.6.0 + inout@0.1.3 + ioctl-rs@0.2.0 + ipnet@2.10.1 + is_terminal_polyfill@1.70.1 + itertools@0.12.1 + itertools@0.13.0 + itoa@1.0.11 + jni-sys@0.3.0 + jni@0.21.1 + jobserver@0.1.32 + jpeg-decoder@0.3.1 + js-sys@0.3.72 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.161 + libloading@0.8.5 + libm@0.2.11 + libpulse-binding@2.28.1 + libpulse-simple-binding@2.28.1 + libpulse-simple-sys@1.21.1 + libpulse-sys@1.21.0 + libredox@0.1.3 + librespot-audio@0.6.0 + librespot-core@0.6.0 + librespot-metadata@0.6.0 + librespot-oauth@0.6.0 + librespot-playback@0.6.0 + librespot-protocol@0.6.0 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + mac-notification-sys@0.6.2 + mach2@0.4.2 + malloc_buf@0.0.6 + maplit@1.0.2 + maybe-async@0.2.10 + memchr@2.7.4 + memoffset@0.9.1 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.8.0 + mio@1.0.2 + mirai-annotations@1.12.0 + native-tls@0.2.12 + ncurses@5.101.0 + ncurses@6.0.1 + ndk-context@0.1.1 + ndk-sys@0.5.0+25.2.9519653 + ndk@0.8.0 + nix@0.28.0 + nix@0.29.0 + no-std-compat@0.4.1 + nom@7.1.3 + nonzero_ext@0.3.0 + notify-rust@4.11.3 + ntapi@0.4.1 + num-bigint-dig@0.8.4 + num-bigint@0.2.6 + num-bigint@0.4.6 + num-complex@0.2.4 + num-complex@0.4.6 + num-conv@0.1.0 + num-derive@0.3.3 + num-derive@0.4.2 + num-integer@0.1.46 + num-iter@0.1.45 + num-rational@0.2.4 + num-rational@0.4.2 + num-traits@0.2.19 + num@0.2.1 + num@0.4.3 + num_enum@0.7.3 + num_enum_derive@0.7.3 + num_threads@0.1.7 + numtoa@0.2.4 + oauth2@4.4.2 + objc-foundation@0.1.1 + objc-sys@0.3.5 + objc2-app-kit@0.2.2 + objc2-core-data@0.2.2 + objc2-core-image@0.2.2 + objc2-encode@4.0.3 + objc2-foundation@0.2.2 + objc2-metal@0.2.2 + objc2-quartz-core@0.2.2 + objc2@0.5.2 + objc@0.2.7 + objc_id@0.1.1 + object@0.36.5 + oboe-sys@0.6.1 + oboe@0.6.1 + once_cell@1.20.2 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.104 + openssl@0.10.68 + ordered-stream@0.2.0 + os_pipe@1.2.1 + pancurses@0.17.0 + parking@2.2.1 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + parse_duration@2.1.1 + paste@1.0.15 + pbkdf2@0.12.2 + pdcurses-sys@0.7.1 + pem-rfc7468@0.7.0 + percent-encoding@2.3.1 + petgraph@0.6.5 + pin-project-lite@0.2.15 + pin-utils@0.1.0 + piper@0.2.4 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.31 + platform-dirs@0.3.0 + png@0.17.14 + polling@3.7.3 + portable-atomic@1.9.0 + portaudio-rs@0.3.2 + portaudio-sys@0.1.1 + powerfmt@0.2.0 + ppv-lite86@0.2.20 + prettyplease@0.2.25 + priority-queue@2.1.1 + proc-macro-crate@3.2.0 + proc-macro2@1.0.89 + protobuf-codegen@3.7.1 + protobuf-parse@3.7.1 + protobuf-support@3.7.1 + protobuf@3.7.1 + quick-xml@0.31.0 + quick-xml@0.36.2 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + redox_syscall@0.5.7 + redox_termios@0.1.3 + redox_users@0.4.6 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.1 + reqwest@0.11.27 + reqwest@0.12.9 + ring@0.17.8 + rodio@0.19.0 + roff@0.2.2 + rsa@0.9.6 + rspotify-http@0.13.3 + rspotify-macros@0.13.3 + rspotify-model@0.13.3 + rspotify@0.13.3 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustix@0.38.38 + rustls-native-certs@0.7.3 + rustls-native-certs@0.8.0 + rustls-pemfile@1.0.4 + rustls-pemfile@2.2.0 + rustls-pki-types@1.10.0 + rustls-webpki@0.101.7 + rustls-webpki@0.102.8 + rustls@0.21.12 + rustls@0.22.4 + rustls@0.23.16 + rustversion@1.0.18 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.26 + scoped-tls@1.0.1 + scopeguard@1.2.0 + sct@0.7.1 + security-framework-sys@2.12.0 + security-framework@2.11.1 + serde@1.0.214 + serde_cbor@0.11.2 + serde_derive@1.0.214 + serde_json@1.0.132 + serde_path_to_error@0.1.16 + serde_repr@0.1.19 + serde_spanned@0.6.8 + serde_urlencoded@0.7.1 + sha1@0.10.6 + sha2@0.10.8 + shannon@0.2.0 + shell-words@1.1.0 + shlex@1.3.0 + signal-hook-mio@0.2.4 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + signature@2.2.0 + simd-adler32@0.3.7 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + socks@0.3.4 + spin@0.9.8 + spinning_top@0.3.0 + spki@0.7.3 + static_assertions@1.1.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + subtle@2.6.1 + symphonia-bundle-mp3@0.5.4 + symphonia-codec-vorbis@0.5.4 + symphonia-core@0.5.4 + symphonia-format-ogg@0.5.4 + symphonia-metadata@0.5.4 + symphonia-utils-xiph@0.5.4 + symphonia@0.5.4 + syn@1.0.109 + syn@2.0.85 + sync_wrapper@0.1.2 + sync_wrapper@1.0.1 + sysinfo@0.31.4 + system-configuration-sys@0.5.0 + system-configuration-sys@0.6.0 + system-configuration@0.5.1 + system-configuration@0.6.1 + tauri-winrt-notification@0.2.1 + tempfile@3.13.0 + termion@4.0.3 + thiserror-impl@1.0.65 + thiserror@1.0.65 + thread-id@4.2.2 + tiff@0.9.1 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tokio-macros@2.4.0 + tokio-native-tls@0.3.1 + tokio-rustls@0.24.1 + tokio-rustls@0.25.0 + tokio-rustls@0.26.0 + tokio-stream@0.1.16 + tokio-tungstenite@0.24.0 + tokio-util@0.7.12 + tokio@1.41.0 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.22.22 + tower-service@0.3.3 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + tree_magic_mini@3.1.6 + try-lock@0.2.5 + tungstenite@0.24.0 + typenum@1.17.0 + uds_windows@1.1.0 + unicode-bidi@0.3.17 + unicode-ident@1.0.13 + unicode-normalization@0.1.24 + unicode-segmentation@1.12.0 + unicode-width@0.1.14 + unicode-width@0.2.0 + untrusted@0.9.0 + ureq@2.10.1 + url@2.5.2 + utf-8@0.7.6 + utf8parse@0.2.2 + uuid@1.11.0 + vcpkg@0.2.15 + vergen-gitcl@1.0.1 + vergen-lib@0.1.4 + vergen@9.0.1 + version_check@0.9.5 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.95 + wasm-bindgen-futures@0.4.45 + wasm-bindgen-macro-support@0.2.95 + wasm-bindgen-macro@0.2.95 + wasm-bindgen-shared@0.2.95 + wasm-bindgen@0.2.95 + wayland-backend@0.3.7 + wayland-client@0.31.7 + wayland-protocols-wlr@0.2.0 + wayland-protocols@0.31.2 + wayland-scanner@0.31.5 + wayland-sys@0.31.5 + web-sys@0.3.72 + webpki-roots@0.25.4 + webpki@0.22.4 + weezl@0.1.8 + which@4.4.2 + 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-core@0.54.0 + windows-core@0.56.0 + windows-core@0.57.0 + windows-implement@0.56.0 + windows-implement@0.57.0 + windows-interface@0.56.0 + windows-interface@0.57.0 + windows-registry@0.2.0 + windows-result@0.1.2 + windows-result@0.2.0 + windows-strings@0.1.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows-version@0.1.1 + windows@0.54.0 + windows@0.56.0 + windows@0.57.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winnow@0.6.20 + winreg@0.5.1 + winreg@0.50.0 + wl-clipboard-rs@0.8.1 + x11rb-protocol@0.13.1 + x11rb@0.13.1 + xdg-home@1.3.0 + xi-unicode@0.3.0 + zbus@4.4.0 + zbus@5.0.1 + zbus_macros@4.4.0 + zbus_macros@5.0.1 + zbus_names@3.0.0 + zbus_names@4.0.0 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zeroize@1.8.1 + zvariant@4.2.0 + zvariant@5.0.1 + zvariant_derive@4.2.0 + zvariant_derive@5.0.1 + zvariant_utils@2.1.0 + zvariant_utils@3.0.1 +" + +# xtask crates: +CRATES+=" + cargo-xtask@0.1.0 + clap_mangen@0.2.24 + clap_complete@4.5.35 + clap@4.5.20 +" + +PYTHON_COMPAT=( python3_{10..13} ) + +inherit bash-completion-r1 cargo desktop optfeature python-any-r1 + +DESCRIPTION="ncurses Spotify client written in Rust using librespot" +HOMEPAGE="https://github.com/hrkfdn/ncspot" +SRC_URI="https://github.com/hrkfdn/ncspot/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="BSD-2" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 ISC MIT MPL-2.0 openssl Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="clipboard cover mpris ncurses +notify pulseaudio" + +RDEPEND="dev-libs/openssl:= + sys-apps/dbus + clipboard? ( x11-libs/libxcb:= ) + cover? ( media-gfx/ueberzug ) + ncurses? ( sys-libs/ncurses:= ) + !ncurses? ( sys-libs/ncurses ) + pulseaudio? ( media-libs/libpulse ) + !pulseaudio? ( media-libs/alsa-lib )" +DEPEND="${RDEPEND}" +BDEPEND="${PYTHON_DEPS} + virtual/pkgconfig" + +QA_FLAGS_IGNORED="/usr/bin/ncspot" + +src_configure() { + local myfeaturesdef="" + + use clipboard && myfeaturesdef+="share_clipboard,share_selection," + use cover && myfeaturesdef+="cover," + use mpris && myfeaturesdef+="mpris," + use ncurses && myfeaturesdef+="ncurses_backend," + use notify && myfeaturesdef+="notify," + + # It always seems to link to libpulse regardless of this setting if libpulse is installed. + if use pulseaudio; then + myfeaturesdef+="pulseaudio_backend," + else + myfeaturesdef+="alsa_backend," + fi + + local myfeatures=( "${myfeaturesdef::-1}" ) + + cargo_src_configure --no-default-features +} + +src_compile() { + cargo_src_compile + + cargo xtask generate-shell-completion || die + cargo xtask generate-manpage || die +} + +src_install() { + cargo_src_install + einstalldocs + + domenu misc/ncspot.desktop + newicon -s scalable images/logo.svg ncspot.svg + + newbashcomp misc/ncspot.bash ncspot + + insinto /usr/share/fish/completions + doins misc/ncspot.fish + + insinto /usr/share/zsh/site-functions + doins misc/_ncspot + + doman misc/ncspot.1 +} + +pkg_postinst() { + optfeature_header "Optional runtime features:" + optfeature "MPRIS song scrobbling support" media-sound/rescrobbled +} diff --git a/media-sound/ncspot/ncspot-1.2.1.ebuild b/media-sound/ncspot/ncspot-1.2.1.ebuild deleted file mode 100644 index ce56d901f746..000000000000 --- a/media-sound/ncspot/ncspot-1.2.1.ebuild +++ /dev/null @@ -1,653 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.6 - -EAPI=8 - -CRATES=" - addr2line@0.24.2 - adler2@2.0.0 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - alsa-sys@0.3.1 - alsa@0.9.1 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.17 - anstyle-parse@0.2.6 - anstyle-query@1.1.2 - anstyle-wincon@3.0.6 - anstyle@1.0.9 - anyhow@1.0.91 - arboard@3.4.1 - arrayvec@0.7.6 - async-broadcast@0.7.1 - async-channel@2.3.1 - async-executor@1.13.1 - async-fs@2.1.2 - async-io@2.3.4 - async-lock@3.4.0 - async-process@2.3.0 - async-recursion@1.1.1 - async-signal@0.2.10 - async-task@4.7.1 - async-trait@0.1.83 - atomic-waker@1.1.2 - autocfg@1.4.0 - aws-lc-rs@1.10.0 - aws-lc-sys@0.22.0 - backtrace@0.3.74 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - bindgen@0.69.5 - bindgen@0.70.1 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - block2@0.5.1 - block@0.1.6 - blocking@1.6.1 - bumpalo@3.16.0 - bytemuck@1.19.0 - byteorder-lite@0.1.0 - byteorder@1.5.0 - bytes@1.8.0 - castaway@0.2.3 - cc@1.1.31 - cesu8@1.1.0 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - cfg_aliases@0.2.1 - chrono@0.4.38 - cipher@0.4.4 - clang-sys@1.8.1 - clap@4.5.20 - clap_builder@4.5.20 - clap_complete@4.5.36 - clap_lex@0.7.2 - clap_mangen@0.2.24 - clipboard-win@5.4.0 - cmake@0.1.51 - colorchoice@1.0.3 - combine@4.6.7 - compact_str@0.8.0 - concurrent-queue@2.5.0 - const-oid@0.9.6 - cookie@0.18.1 - cookie_store@0.21.0 - core-foundation-sys@0.8.7 - core-foundation@0.9.4 - core-graphics-types@0.1.3 - core-graphics@0.23.2 - coreaudio-rs@0.11.3 - coreaudio-sys@0.2.16 - cpal@0.15.3 - cpufeatures@0.2.14 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-utils@0.8.20 - crossterm@0.28.1 - crossterm_winapi@0.9.1 - crypto-common@0.1.6 - ctr@0.9.2 - cursive-macros@0.1.0 - cursive@0.21.1 - cursive_core@0.4.6 - darling@0.20.10 - darling_core@0.20.10 - darling_macro@0.20.10 - dasp_sample@0.11.0 - data-encoding@2.6.0 - der@0.7.9 - deranged@0.3.11 - derive-new@0.6.0 - derive_builder@0.20.2 - derive_builder_core@0.20.2 - derive_builder_macro@0.20.2 - digest@0.10.7 - dirs-next@1.0.2 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - dlib@0.5.2 - downcast-rs@1.2.1 - dunce@1.0.5 - either@1.13.0 - encoding_rs@0.8.35 - endi@1.1.0 - enum-map-derive@0.17.0 - enum-map@2.7.3 - enum_dispatch@0.3.13 - enumflags2@0.7.10 - enumflags2_derive@0.7.10 - enumset@1.1.5 - enumset_derive@0.10.0 - equivalent@1.0.1 - errno@0.3.9 - error-code@3.3.1 - event-listener-strategy@0.5.2 - event-listener@5.3.1 - fastrand@2.1.1 - fdeflate@0.3.6 - fern@0.7.0 - fixedbitset@0.4.2 - flate2@1.0.34 - fnv@1.0.7 - foreign-types-macros@0.2.3 - foreign-types-shared@0.1.1 - foreign-types-shared@0.3.1 - foreign-types@0.3.2 - foreign-types@0.5.0 - form_urlencoded@1.2.1 - fs_extra@1.3.0 - futures-channel@0.3.31 - futures-core@0.3.31 - futures-executor@0.3.31 - futures-io@0.3.31 - futures-lite@2.4.0 - futures-macro@0.3.31 - futures-sink@0.3.31 - futures-task@0.3.31 - futures-timer@3.0.3 - futures-util@0.3.31 - futures@0.3.31 - generic-array@0.14.7 - gethostname@0.4.3 - getrandom@0.2.15 - gimli@0.31.1 - glob@0.3.1 - governor@0.6.3 - h2@0.3.26 - h2@0.4.6 - half@1.8.3 - hashbrown@0.15.0 - headers-core@0.3.0 - headers@0.4.0 - heck@0.5.0 - hermit-abi@0.3.9 - hermit-abi@0.4.0 - hex@0.4.3 - hmac@0.12.1 - home@0.5.9 - http-body-util@0.1.2 - http-body@0.4.6 - http-body@1.0.1 - http@0.2.12 - http@1.1.0 - httparse@1.9.5 - httpdate@1.0.3 - hyper-proxy2@0.1.0 - hyper-rustls@0.24.2 - hyper-rustls@0.26.0 - hyper-rustls@0.27.3 - hyper-tls@0.6.0 - hyper-util@0.1.10 - hyper@0.14.31 - hyper@1.5.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.61 - ident_case@1.0.1 - idna@0.5.0 - image@0.25.4 - indexmap@2.6.0 - inout@0.1.3 - ioctl-rs@0.2.0 - ipnet@2.10.1 - is_terminal_polyfill@1.70.1 - itertools@0.12.1 - itertools@0.13.0 - itoa@1.0.11 - jni-sys@0.3.0 - jni@0.21.1 - jobserver@0.1.32 - jpeg-decoder@0.3.1 - js-sys@0.3.72 - lazy_static@1.5.0 - lazycell@1.3.0 - libc@0.2.161 - libloading@0.8.5 - libm@0.2.11 - libpulse-binding@2.28.1 - libpulse-simple-binding@2.28.1 - libpulse-simple-sys@1.21.1 - libpulse-sys@1.21.0 - libredox@0.1.3 - librespot-audio@0.6.0 - librespot-core@0.6.0 - librespot-metadata@0.6.0 - librespot-oauth@0.6.0 - librespot-playback@0.6.0 - librespot-protocol@0.6.0 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - mac-notification-sys@0.6.2 - mach2@0.4.2 - malloc_buf@0.0.6 - maplit@1.0.2 - maybe-async@0.2.10 - memchr@2.7.4 - memoffset@0.9.1 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.8.0 - mio@1.0.2 - mirai-annotations@1.12.0 - native-tls@0.2.12 - ncurses@5.101.0 - ncurses@6.0.1 - ndk-context@0.1.1 - ndk-sys@0.5.0+25.2.9519653 - ndk@0.8.0 - nix@0.28.0 - nix@0.29.0 - no-std-compat@0.4.1 - nom@7.1.3 - nonzero_ext@0.3.0 - notify-rust@4.11.3 - ntapi@0.4.1 - num-bigint-dig@0.8.4 - num-bigint@0.2.6 - num-bigint@0.4.6 - num-complex@0.2.4 - num-complex@0.4.6 - num-conv@0.1.0 - num-derive@0.3.3 - num-derive@0.4.2 - num-integer@0.1.46 - num-iter@0.1.45 - num-rational@0.2.4 - num-rational@0.4.2 - num-traits@0.2.19 - num@0.2.1 - num@0.4.3 - num_enum@0.7.3 - num_enum_derive@0.7.3 - num_threads@0.1.7 - numtoa@0.2.4 - oauth2@4.4.2 - objc-foundation@0.1.1 - objc-sys@0.3.5 - objc2-app-kit@0.2.2 - objc2-core-data@0.2.2 - objc2-core-image@0.2.2 - objc2-encode@4.0.3 - objc2-foundation@0.2.2 - objc2-metal@0.2.2 - objc2-quartz-core@0.2.2 - objc2@0.5.2 - objc@0.2.7 - objc_id@0.1.1 - object@0.36.5 - oboe-sys@0.6.1 - oboe@0.6.1 - once_cell@1.20.2 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.104 - openssl@0.10.68 - ordered-stream@0.2.0 - os_pipe@1.2.1 - pancurses@0.17.0 - parking@2.2.1 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - parse_duration@2.1.1 - paste@1.0.15 - pbkdf2@0.12.2 - pdcurses-sys@0.7.1 - pem-rfc7468@0.7.0 - percent-encoding@2.3.1 - petgraph@0.6.5 - pin-project-lite@0.2.15 - pin-utils@0.1.0 - piper@0.2.4 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.31 - platform-dirs@0.3.0 - png@0.17.14 - polling@3.7.3 - portable-atomic@1.9.0 - portaudio-rs@0.3.2 - portaudio-sys@0.1.1 - powerfmt@0.2.0 - ppv-lite86@0.2.20 - prettyplease@0.2.25 - priority-queue@2.1.1 - proc-macro-crate@3.2.0 - proc-macro2@1.0.89 - protobuf-codegen@3.7.1 - protobuf-parse@3.7.1 - protobuf-support@3.7.1 - protobuf@3.7.1 - quick-xml@0.31.0 - quick-xml@0.36.2 - quote@1.0.37 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - redox_syscall@0.5.7 - redox_termios@0.1.3 - redox_users@0.4.6 - regex-automata@0.4.8 - regex-syntax@0.8.5 - regex@1.11.1 - reqwest@0.11.27 - reqwest@0.12.9 - ring@0.17.8 - rodio@0.19.0 - roff@0.2.2 - rsa@0.9.6 - rspotify-http@0.13.3 - rspotify-macros@0.13.3 - rspotify-model@0.13.3 - rspotify@0.13.3 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustix@0.38.38 - rustls-native-certs@0.7.3 - rustls-native-certs@0.8.0 - rustls-pemfile@1.0.4 - rustls-pemfile@2.2.0 - rustls-pki-types@1.10.0 - rustls-webpki@0.101.7 - rustls-webpki@0.102.8 - rustls@0.21.12 - rustls@0.22.4 - rustls@0.23.16 - rustversion@1.0.18 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.26 - scoped-tls@1.0.1 - scopeguard@1.2.0 - sct@0.7.1 - security-framework-sys@2.12.0 - security-framework@2.11.1 - serde@1.0.214 - serde_cbor@0.11.2 - serde_derive@1.0.214 - serde_json@1.0.132 - serde_path_to_error@0.1.16 - serde_repr@0.1.19 - serde_spanned@0.6.8 - serde_urlencoded@0.7.1 - sha1@0.10.6 - sha2@0.10.8 - shannon@0.2.0 - shell-words@1.1.0 - shlex@1.3.0 - signal-hook-mio@0.2.4 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - signature@2.2.0 - simd-adler32@0.3.7 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.5.7 - socks@0.3.4 - spin@0.9.8 - spinning_top@0.3.0 - spki@0.7.3 - static_assertions@1.1.0 - strsim@0.11.1 - strum@0.26.3 - strum_macros@0.26.4 - subtle@2.6.1 - symphonia-bundle-mp3@0.5.4 - symphonia-codec-vorbis@0.5.4 - symphonia-core@0.5.4 - symphonia-format-ogg@0.5.4 - symphonia-metadata@0.5.4 - symphonia-utils-xiph@0.5.4 - symphonia@0.5.4 - syn@1.0.109 - syn@2.0.85 - sync_wrapper@0.1.2 - sync_wrapper@1.0.1 - sysinfo@0.31.4 - system-configuration-sys@0.5.0 - system-configuration-sys@0.6.0 - system-configuration@0.5.1 - system-configuration@0.6.1 - tauri-winrt-notification@0.2.1 - tempfile@3.13.0 - termion@4.0.3 - thiserror-impl@1.0.65 - thiserror@1.0.65 - thread-id@4.2.2 - tiff@0.9.1 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - tokio-macros@2.4.0 - tokio-native-tls@0.3.1 - tokio-rustls@0.24.1 - tokio-rustls@0.25.0 - tokio-rustls@0.26.0 - tokio-stream@0.1.16 - tokio-tungstenite@0.24.0 - tokio-util@0.7.12 - tokio@1.41.0 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.22.22 - tower-service@0.3.3 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - tree_magic_mini@3.1.6 - try-lock@0.2.5 - tungstenite@0.24.0 - typenum@1.17.0 - uds_windows@1.1.0 - unicode-bidi@0.3.17 - unicode-ident@1.0.13 - unicode-normalization@0.1.24 - unicode-segmentation@1.12.0 - unicode-width@0.1.14 - unicode-width@0.2.0 - untrusted@0.9.0 - ureq@2.10.1 - url@2.5.2 - utf-8@0.7.6 - utf8parse@0.2.2 - uuid@1.11.0 - vcpkg@0.2.15 - vergen-gitcl@1.0.1 - vergen-lib@0.1.4 - vergen@9.0.1 - version_check@0.9.5 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.95 - wasm-bindgen-futures@0.4.45 - wasm-bindgen-macro-support@0.2.95 - wasm-bindgen-macro@0.2.95 - wasm-bindgen-shared@0.2.95 - wasm-bindgen@0.2.95 - wayland-backend@0.3.7 - wayland-client@0.31.7 - wayland-protocols-wlr@0.2.0 - wayland-protocols@0.31.2 - wayland-scanner@0.31.5 - wayland-sys@0.31.5 - web-sys@0.3.72 - webpki-roots@0.25.4 - webpki@0.22.4 - weezl@0.1.8 - which@4.4.2 - 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-core@0.54.0 - windows-core@0.56.0 - windows-core@0.57.0 - windows-implement@0.56.0 - windows-implement@0.57.0 - windows-interface@0.56.0 - windows-interface@0.57.0 - windows-registry@0.2.0 - windows-result@0.1.2 - windows-result@0.2.0 - windows-strings@0.1.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-sys@0.59.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows-targets@0.52.6 - windows-version@0.1.1 - windows@0.54.0 - windows@0.56.0 - windows@0.57.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.6 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.6 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.6 - windows_i686_gnullvm@0.52.6 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.6 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.6 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.6 - winnow@0.6.20 - winreg@0.5.1 - winreg@0.50.0 - wl-clipboard-rs@0.8.1 - x11rb-protocol@0.13.1 - x11rb@0.13.1 - xdg-home@1.3.0 - xi-unicode@0.3.0 - zbus@4.4.0 - zbus@5.0.1 - zbus_macros@4.4.0 - zbus_macros@5.0.1 - zbus_names@3.0.0 - zbus_names@4.0.0 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zeroize@1.8.1 - zvariant@4.2.0 - zvariant@5.0.1 - zvariant_derive@4.2.0 - zvariant_derive@5.0.1 - zvariant_utils@2.1.0 - zvariant_utils@3.0.1 -" - -# xtask crates: -CRATES+=" - cargo-xtask@0.1.0 - clap_mangen@0.2.24 - clap_complete@4.5.35 - clap@4.5.20 -" - -PYTHON_COMPAT=( python3_{10..13} ) - -inherit bash-completion-r1 cargo desktop optfeature python-any-r1 - -DESCRIPTION="ncurses Spotify client written in Rust using librespot" -HOMEPAGE="https://github.com/hrkfdn/ncspot" -SRC_URI="https://github.com/hrkfdn/ncspot/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - -LICENSE="BSD-2" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 ISC MIT MPL-2.0 openssl Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="~amd64" - -IUSE="clipboard cover mpris ncurses +notify pulseaudio" - -RDEPEND="dev-libs/openssl:= - sys-apps/dbus - clipboard? ( x11-libs/libxcb:= ) - cover? ( media-gfx/ueberzug ) - ncurses? ( sys-libs/ncurses:= ) - !ncurses? ( sys-libs/ncurses ) - pulseaudio? ( media-libs/libpulse ) - !pulseaudio? ( media-libs/alsa-lib )" -DEPEND="${RDEPEND}" -BDEPEND="${PYTHON_DEPS} - virtual/pkgconfig" - -QA_FLAGS_IGNORED="/usr/bin/ncspot" - -src_configure() { - local myfeaturesdef="" - - use clipboard && myfeaturesdef+="share_clipboard,share_selection," - use cover && myfeaturesdef+="cover," - use mpris && myfeaturesdef+="mpris," - use ncurses && myfeaturesdef+="ncurses_backend," - use notify && myfeaturesdef+="notify," - - # It always seems to link to libpulse regardless of this setting if libpulse is installed. - if use pulseaudio; then - myfeaturesdef+="pulseaudio_backend," - else - myfeaturesdef+="alsa_backend," - fi - - local myfeatures=( "${myfeaturesdef::-1}" ) - - cargo_src_configure --no-default-features -} - -src_compile() { - cargo_src_compile - - cargo xtask generate-shell-completion || die - cargo xtask generate-manpage || die -} - -src_install() { - cargo_src_install - einstalldocs - - domenu misc/ncspot.desktop - newicon -s scalable images/logo.svg ncspot.svg - - newbashcomp misc/ncspot.bash ncspot - - insinto /usr/share/fish/completions - doins misc/ncspot.fish - - insinto /usr/share/zsh/site-functions - doins misc/_ncspot - - doman misc/ncspot.1 -} - -pkg_postinst() { - optfeature_header "Optional runtime features:" - optfeature "MPRIS song scrobbling support" media-sound/rescrobbled -} diff --git a/media-sound/rescrobbled/rescrobbled-0.7.1-r1.ebuild b/media-sound/rescrobbled/rescrobbled-0.7.1-r1.ebuild new file mode 100644 index 000000000000..2330b9732ea7 --- /dev/null +++ b/media-sound/rescrobbled/rescrobbled-0.7.1-r1.ebuild @@ -0,0 +1,167 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.6 + +EAPI=8 + +CRATES=" + adler@1.0.2 + anyhow@1.0.71 + attohttpc@0.24.1 + attohttpc@0.25.0 + autocfg@1.1.0 + bitflags@1.3.2 + bytes@1.4.0 + cc@1.0.79 + cfg-if@1.0.0 + core-foundation-sys@0.8.4 + core-foundation@0.9.3 + crc32fast@1.3.2 + darling@0.14.4 + darling_core@0.14.4 + darling_macro@0.14.4 + dbus@0.9.7 + derive_is_enum_variant@0.1.1 + dirs-sys@0.4.1 + dirs@5.0.1 + enum-kinds@0.5.1 + equivalent@1.0.1 + errno-dragonfly@0.1.2 + errno@0.3.1 + fastrand@1.9.0 + flate2@1.0.26 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.0 + from_variants@1.0.2 + from_variants_impl@1.0.2 + getrandom@0.2.10 + hashbrown@0.14.0 + heck@0.3.3 + hermit-abi@0.3.2 + http@0.2.9 + ident_case@1.0.1 + idna@0.4.0 + indexmap@2.0.0 + instant@0.1.12 + io-lifetimes@1.0.11 + itoa@1.0.8 + lazy_static@1.4.0 + libc@0.2.147 + libdbus-sys@0.2.5 + linux-raw-sys@0.3.8 + listenbrainz@0.7.0 + log@0.4.19 + md5@0.7.0 + memchr@2.5.0 + miniz_oxide@0.7.1 + mpris@2.0.1 + native-tls@0.2.11 + once_cell@1.18.0 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.90 + openssl@0.10.55 + option-ext@0.2.0 + percent-encoding@2.3.0 + pkg-config@0.3.27 + proc-macro2@1.0.64 + quote@0.3.15 + quote@1.0.29 + redox_syscall@0.2.16 + redox_syscall@0.3.5 + redox_users@0.4.3 + rpassword@7.2.0 + rtoolbox@0.0.1 + rustfm-scrobble-proxy@2.0.0 + rustix@0.37.23 + ryu@1.0.14 + schannel@0.1.22 + security-framework-sys@2.9.0 + security-framework@2.9.1 + serde@1.0.171 + serde_derive@1.0.171 + serde_json@1.0.102 + serde_spanned@0.6.3 + serde_urlencoded@0.7.1 + strsim@0.10.0 + syn@0.11.11 + syn@1.0.109 + syn@2.0.25 + synom@0.11.3 + tempfile@3.6.0 + thiserror-impl@1.0.43 + thiserror@1.0.43 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.7.6 + toml_datetime@0.6.3 + toml_edit@0.19.12 + unicode-bidi@0.3.13 + unicode-ident@1.0.10 + unicode-normalization@0.1.22 + unicode-segmentation@1.10.1 + unicode-xid@0.0.4 + url@2.4.0 + vcpkg@0.2.15 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-targets@0.48.1 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_msvc@0.48.0 + windows_i686_gnu@0.48.0 + windows_i686_msvc@0.48.0 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_msvc@0.48.0 + winnow@0.4.9 + wrapped-vec@0.3.0 +" + +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}" + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64" + +RDEPEND="dev-libs/openssl:= + sys-apps/dbus" + +# https://github.com/InputUsername/rescrobbled/issues/109 +RESTRICT="test" + +QA_FLAGS_IGNORED="/usr/bin/rescrobbled" + +src_install() { + cargo_src_install + einstalldocs + + systemd_dounit "${S}"/rescrobbled.service + + dodoc "${FILESDIR}"/config.toml + docompress -x "/usr/share/doc/${PF}/config.toml" + + dodoc -r "${S}"/filter-script-examples +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + elog "Sample configuration file has been installed to " + elog " /usr/share/doc/rescrobbled-${PVR}/config.toml" + elog "" + elog "Use the sample, or launch rescrobbled to create a new empty one." + elog "" + fi +} diff --git a/media-sound/rescrobbled/rescrobbled-0.7.1.ebuild b/media-sound/rescrobbled/rescrobbled-0.7.1.ebuild deleted file mode 100644 index 690a968b2706..000000000000 --- a/media-sound/rescrobbled/rescrobbled-0.7.1.ebuild +++ /dev/null @@ -1,167 +0,0 @@ -# Copyright 2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.6 - -EAPI=8 - -CRATES=" - adler@1.0.2 - anyhow@1.0.71 - attohttpc@0.24.1 - attohttpc@0.25.0 - autocfg@1.1.0 - bitflags@1.3.2 - bytes@1.4.0 - cc@1.0.79 - cfg-if@1.0.0 - core-foundation-sys@0.8.4 - core-foundation@0.9.3 - crc32fast@1.3.2 - darling@0.14.4 - darling_core@0.14.4 - darling_macro@0.14.4 - dbus@0.9.7 - derive_is_enum_variant@0.1.1 - dirs-sys@0.4.1 - dirs@5.0.1 - enum-kinds@0.5.1 - equivalent@1.0.1 - errno-dragonfly@0.1.2 - errno@0.3.1 - fastrand@1.9.0 - flate2@1.0.26 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.0 - from_variants@1.0.2 - from_variants_impl@1.0.2 - getrandom@0.2.10 - hashbrown@0.14.0 - heck@0.3.3 - hermit-abi@0.3.2 - http@0.2.9 - ident_case@1.0.1 - idna@0.4.0 - indexmap@2.0.0 - instant@0.1.12 - io-lifetimes@1.0.11 - itoa@1.0.8 - lazy_static@1.4.0 - libc@0.2.147 - libdbus-sys@0.2.5 - linux-raw-sys@0.3.8 - listenbrainz@0.7.0 - log@0.4.19 - md5@0.7.0 - memchr@2.5.0 - miniz_oxide@0.7.1 - mpris@2.0.1 - native-tls@0.2.11 - once_cell@1.18.0 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.90 - openssl@0.10.55 - option-ext@0.2.0 - percent-encoding@2.3.0 - pkg-config@0.3.27 - proc-macro2@1.0.64 - quote@0.3.15 - quote@1.0.29 - redox_syscall@0.2.16 - redox_syscall@0.3.5 - redox_users@0.4.3 - rpassword@7.2.0 - rtoolbox@0.0.1 - rustfm-scrobble-proxy@2.0.0 - rustix@0.37.23 - ryu@1.0.14 - schannel@0.1.22 - security-framework-sys@2.9.0 - security-framework@2.9.1 - serde@1.0.171 - serde_derive@1.0.171 - serde_json@1.0.102 - serde_spanned@0.6.3 - serde_urlencoded@0.7.1 - strsim@0.10.0 - syn@0.11.11 - syn@1.0.109 - syn@2.0.25 - synom@0.11.3 - tempfile@3.6.0 - thiserror-impl@1.0.43 - thiserror@1.0.43 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - toml@0.7.6 - toml_datetime@0.6.3 - toml_edit@0.19.12 - unicode-bidi@0.3.13 - unicode-ident@1.0.10 - unicode-normalization@0.1.22 - unicode-segmentation@1.10.1 - unicode-xid@0.0.4 - url@2.4.0 - vcpkg@0.2.15 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.48.0 - windows-targets@0.48.1 - windows_aarch64_gnullvm@0.48.0 - windows_aarch64_msvc@0.48.0 - windows_i686_gnu@0.48.0 - windows_i686_msvc@0.48.0 - windows_x86_64_gnu@0.48.0 - windows_x86_64_gnullvm@0.48.0 - windows_x86_64_msvc@0.48.0 - winnow@0.4.9 - wrapped-vec@0.3.0 -" - -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)" - -LICENSE="GPL-3" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0" -KEYWORDS="amd64" - -RDEPEND="dev-libs/openssl:= - sys-apps/dbus" - -# https://github.com/InputUsername/rescrobbled/issues/109 -RESTRICT="test" - -QA_FLAGS_IGNORED="/usr/bin/rescrobbled" - -src_install() { - cargo_src_install - einstalldocs - - systemd_dounit "${S}"/rescrobbled.service - - dodoc "${FILESDIR}"/config.toml - docompress -x "/usr/share/doc/${PF}/config.toml" - - dodoc -r "${S}"/filter-script-examples -} - -pkg_postinst() { - if [[ -z "${REPLACING_VERSIONS}" ]]; then - elog "Sample configuration file has been installed to " - elog " /usr/share/doc/rescrobbled-${PVR}/config.toml" - elog "" - elog "Use the sample, or launch rescrobbled to create a new empty one." - elog "" - fi -} 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-r1.ebuild b/media-video/rav1e/rav1e-0.7.1-r1.ebuild new file mode 100644 index 000000000000..e6606d8a4078 --- /dev/null +++ b/media-video/rav1e/rav1e-0.7.1-r1.ebuild @@ -0,0 +1,318 @@ +# 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.21.0 + adler@1.0.2 + aho-corasick@1.1.2 + anes@0.1.6 + anstream@0.6.5 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.4 + anyhow@1.0.79 + aom-sys@0.3.3 + arbitrary@1.3.2 + arg_enum_proc_macro@0.3.4 + arrayvec@0.7.4 + assert_cmd@2.0.12 + autocfg@1.1.0 + av-metrics@0.9.1 + av1-grain@0.2.3 + backtrace@0.3.69 + bindgen@0.69.1 + bitflags@1.3.2 + bitflags@2.4.1 + bitstream-io@2.2.0 + bstr@1.9.0 + built@0.7.1 + bumpalo@3.14.0 + bytemuck@1.14.0 + byteorder@1.5.0 + cast@0.3.0 + cc@1.0.83 + cexpr@0.6.0 + cfg-expr@0.15.6 + cfg-if@1.0.0 + ciborium-io@0.2.1 + ciborium-ll@0.2.1 + ciborium@0.2.1 + clang-sys@1.7.0 + clap@4.4.14 + clap_builder@4.4.14 + clap_complete@4.4.6 + clap_derive@4.4.7 + clap_lex@0.6.0 + color_quant@1.1.0 + colorchoice@1.0.0 + console@0.15.8 + crc32fast@1.3.2 + criterion-plot@0.5.0 + criterion@0.5.1 + crossbeam-channel@0.5.11 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossbeam@0.8.4 + diff@0.1.13 + difflib@0.4.0 + doc-comment@0.3.3 + either@1.9.0 + encode_unicode@0.3.6 + env_logger@0.8.4 + equivalent@1.0.1 + errno@0.3.8 + fdeflate@0.3.3 + fern@0.6.2 + flate2@1.0.28 + form_urlencoded@1.2.1 + getrandom@0.2.12 + gimli@0.28.1 + git2@0.18.1 + glob@0.3.1 + half@1.8.2 + hashbrown@0.14.3 + heck@0.4.1 + hermit-abi@0.3.3 + home@0.5.9 + idna@0.5.0 + image@0.24.7 + indexmap@2.1.0 + interpolate_name@0.2.4 + is-terminal@0.4.10 + itertools@0.10.5 + itertools@0.11.0 + itertools@0.12.0 + itoa@1.0.10 + jobserver@0.1.27 + js-sys@0.3.66 + lab@0.11.0 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.152 + libdav1d-sys@0.6.0 + libfuzzer-sys@0.4.7 + libgit2-sys@0.16.1+1.7.1 + libloading@0.8.1 + libz-sys@1.1.14 + linux-raw-sys@0.4.12 + log@0.4.20 + maybe-rayon@0.1.1 + memchr@2.7.1 + minimal-lexical@0.2.1 + 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 + nu-ansi-term@0.46.0 + num-bigint@0.4.4 + num-derive@0.4.1 + num-integer@0.1.45 + num-rational@0.4.1 + num-traits@0.2.17 + object@0.32.2 + once_cell@1.19.0 + oorandom@11.1.3 + overload@0.1.1 + paste@1.0.14 + peeking_take_while@0.1.2 + percent-encoding@2.3.1 + pin-project-lite@0.2.13 + pkg-config@0.3.28 + plotters-backend@0.3.5 + plotters-svg@0.3.5 + plotters@0.3.5 + png@0.17.10 + ppv-lite86@0.2.17 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.0.4 + pretty_assertions@1.4.0 + prettyplease@0.2.16 + proc-macro2@1.0.76 + profiling-procmacros@1.0.13 + profiling@1.0.13 + quickcheck@1.0.3 + quote@1.0.35 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rayon-core@1.12.0 + rayon@1.8.0 + regex-automata@0.4.3 + regex-syntax@0.8.2 + regex@1.10.2 + rustc-demangle@0.1.23 + rustc-hash@1.1.0 + rustix@0.38.28 + ryu@1.0.16 + same-file@1.0.6 + scan_fmt@0.2.6 + semver@1.0.21 + serde-big-array@0.5.1 + serde@1.0.195 + serde_derive@1.0.195 + serde_json@1.0.111 + serde_spanned@0.6.5 + sharded-slab@0.1.7 + shlex@1.2.0 + signal-hook-registry@1.4.1 + signal-hook@0.3.17 + simd-adler32@0.3.7 + simd_helpers@0.1.0 + smallvec@1.11.2 + syn@2.0.48 + system-deps@6.2.0 + target-lexicon@0.12.13 + terminal_size@0.3.0 + termtree@0.4.1 + thiserror-impl@1.0.56 + thiserror@1.0.56 + thread_local@1.1.7 + tinytemplate@1.2.1 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.8.8 + toml_datetime@0.6.5 + toml_edit@0.21.0 + tracing-attributes@0.1.27 + tracing-chrome@0.7.1 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing@0.1.40 + unicode-bidi@0.3.14 + unicode-ident@1.0.12 + unicode-normalization@0.1.22 + unicode-width@0.1.11 + url@2.5.0 + utf8parse@0.2.1 + v_frame@0.3.7 + valuable@0.1.0 + vcpkg@0.2.15 + version-compare@0.1.1 + wait-timeout@0.2.0 + walkdir@2.4.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.89 + wasm-bindgen-macro-support@0.2.89 + wasm-bindgen-macro@0.2.89 + wasm-bindgen-shared@0.2.89 + wasm-bindgen@0.2.89 + web-sys@0.3.66 + which@4.4.2 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + 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.33 + 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/$(ver_cut 1-2)" +IUSE="+capi" + +ASM_DEP=">=dev-lang/nasm-2.15" +BDEPEND=" + amd64? ( ${ASM_DEP} ) + capi? ( >=dev-util/cargo-c-0.6.3 ) +" +# only used as a build script to check the version of rav1e... +DEPEND="dev-libs/libgit2" + +# 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_prepare() { + default + + # libgit2-sys unnecessarily(?) requests /dev/null || die + use sso && cargo_src_compile + popd > /dev/null || die + + emake "${myemakeargs[@]}" one +} + +src_test() { + emake "${myemakeargs[@]}" selftest + ./zerotier-selftest || die +} + +src_install() { + default + + newinitd "${FILESDIR}/${PN}".init-r1 "${PN}" + systemd_dounit "${FILESDIR}/${PN}".service + + doman doc/zerotier-{cli.1,idtool.1,one.8} +} diff --git a/net-misc/zerotier/zerotier-1.14.1.ebuild b/net-misc/zerotier/zerotier-1.14.1.ebuild deleted file mode 100644 index f6f30f150077..000000000000 --- a/net-misc/zerotier/zerotier-1.14.1.ebuild +++ /dev/null @@ -1,479 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=1 - -CRATES=" - addr2line@0.24.1 - adler2@2.0.0 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - ansi_term@0.12.1 - anstyle@1.0.8 - anyhow@1.0.87 - async-stream-impl@0.3.5 - async-stream@0.3.5 - async-trait@0.1.82 - atomic-waker@1.1.2 - atty@0.2.14 - autocfg@1.3.0 - axum-core@0.4.3 - axum@0.7.5 - backoff@0.4.0 - backtrace@0.3.74 - base16ct@0.2.0 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.7.1 - cbindgen@0.20.0 - cc@1.1.18 - cfg-if@1.0.0 - chrono@0.4.38 - clap@2.34.0 - const-oid@0.9.6 - core-foundation-sys@0.8.7 - core-foundation@0.9.4 - cpufeatures@0.2.14 - crossbeam-channel@0.5.13 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.3 - darling@0.20.10 - darling_core@0.20.10 - darling_macro@0.20.10 - dashmap@5.5.3 - dashmap@6.1.0 - der@0.7.9 - deranged@0.3.11 - derive_builder@0.20.1 - derive_builder_core@0.20.1 - derive_builder_macro@0.20.1 - derive_more-impl@1.0.0 - derive_more@1.0.0 - digest@0.10.7 - downcast@0.11.0 - dyn-clone@1.0.17 - ecdsa@0.16.9 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - either@1.13.0 - elliptic-curve@0.13.8 - encoding_rs@0.8.34 - enum-iterator-derive@1.4.0 - enum-iterator@2.1.0 - enum_dispatch@0.3.13 - equivalent@1.0.1 - erased-serde@0.4.5 - errno@0.3.9 - fastrand@2.1.1 - ff@0.13.0 - fiat-crypto@0.2.9 - fixedbitset@0.4.2 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fragile@2.0.0 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-retry@0.6.0 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-timer@3.0.3 - futures-util@0.3.30 - futures@0.3.30 - generic-array@0.14.7 - getrandom@0.2.15 - gimli@0.31.0 - governor@0.6.3 - group@0.13.0 - h2@0.3.26 - h2@0.4.6 - hashbrown@0.12.3 - hashbrown@0.14.5 - heck@0.3.3 - heck@0.5.0 - hermit-abi@0.1.19 - hermit-abi@0.3.9 - hex@0.4.3 - hkdf@0.12.4 - hmac@0.12.1 - http-body-util@0.1.2 - http-body@0.4.6 - http-body@1.0.1 - http@0.2.12 - http@1.1.0 - httparse@1.9.4 - httpdate@1.0.3 - hyper-timeout@0.5.1 - hyper-tls@0.5.0 - hyper-util@0.1.8 - hyper@0.14.30 - hyper@1.4.1 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - idna@0.5.0 - indexmap@1.9.3 - indexmap@2.5.0 - instant@0.1.13 - inventory@0.3.15 - ipnet@2.10.0 - itertools@0.10.5 - itertools@0.13.0 - itoa@1.0.11 - js-sys@0.3.70 - lazy_static@1.5.0 - libc@0.2.158 - libm@0.2.8 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - lru@0.12.4 - matchers@0.1.0 - matchit@0.7.3 - memchr@2.7.4 - mime@0.3.17 - miniz_oxide@0.8.0 - mio@1.0.2 - mockall@0.13.0 - mockall_derive@0.13.0 - multimap@0.10.0 - native-tls@0.2.12 - no-std-compat@0.4.1 - nonzero_ext@0.3.0 - ntapi@0.4.1 - nu-ansi-term@0.46.0 - num-bigint-dig@0.8.4 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.45 - num-traits@0.2.19 - oauth2@4.4.2 - object@0.36.4 - once_cell@1.19.0 - openidconnect@3.5.0 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.103 - openssl@0.10.66 - opentelemetry@0.24.0 - ordered-float@2.10.1 - overload@0.1.1 - p256@0.13.2 - p384@0.13.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - pem-rfc7468@0.7.0 - percent-encoding@2.3.1 - petgraph@0.6.5 - pid@4.0.0 - pin-project-internal@1.1.5 - pin-project-lite@0.2.14 - pin-project@1.1.5 - pin-utils@0.1.0 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - portable-atomic@1.7.0 - powerfmt@0.2.0 - ppv-lite86@0.2.20 - predicates-core@1.0.8 - predicates-tree@1.0.11 - predicates@3.1.2 - prettyplease@0.2.22 - primeorder@0.13.6 - proc-macro2@1.0.86 - prometheus@0.13.4 - prost-build@0.13.2 - prost-derive@0.13.2 - prost-types@0.13.2 - prost-wkt-build@0.6.0 - prost-wkt-types@0.6.0 - prost-wkt@0.6.0 - prost@0.13.2 - protobuf@2.28.0 - quanta@0.12.3 - quote@1.0.37 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - raw-cpuid@11.1.0 - redox_syscall@0.5.3 - regex-automata@0.1.10 - regex-automata@0.4.7 - regex-syntax@0.6.29 - regex-syntax@0.8.4 - regex@1.10.6 - reqwest@0.11.27 - rfc6979@0.4.0 - ring@0.17.8 - ringbuf@0.4.4 - rsa@0.9.6 - rustc-demangle@0.1.24 - rustc_version@0.4.1 - rustix@0.38.36 - rustls-native-certs@0.7.3 - rustls-pemfile@1.0.4 - rustls-pemfile@2.1.3 - rustls-pki-types@1.8.0 - rustls-webpki@0.102.8 - rustls@0.23.13 - rustversion@1.0.17 - ryu@1.0.18 - schannel@0.1.24 - scopeguard@1.2.0 - sec1@0.7.3 - security-framework-sys@2.11.1 - security-framework@2.11.1 - semver@1.0.23 - serde-value@0.7.0 - serde@1.0.210 - serde_derive@1.0.210 - serde_json@1.0.128 - serde_path_to_error@0.1.16 - serde_plain@1.0.2 - serde_urlencoded@0.7.1 - serde_with@3.9.0 - serde_with_macros@3.9.0 - sha2@0.10.8 - sharded-slab@0.1.7 - shlex@1.3.0 - signal-hook-registry@1.4.2 - signature@2.2.0 - siphasher@1.0.1 - slab@0.4.9 - slotmap@1.0.7 - smallvec@1.13.2 - socket2@0.5.7 - spin@0.9.8 - spinning_top@0.3.0 - spki@0.7.3 - strsim@0.11.1 - strsim@0.8.0 - subtle@2.6.1 - syn@1.0.109 - syn@2.0.77 - sync_wrapper@0.1.2 - sync_wrapper@1.0.1 - sysinfo@0.31.4 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tempfile@3.12.0 - termtree@0.4.1 - textwrap@0.11.0 - thiserror-impl@1.0.63 - thiserror@1.0.63 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - tokio-macros@2.4.0 - tokio-native-tls@0.3.1 - tokio-rustls@0.26.0 - tokio-stream@0.1.16 - tokio-util@0.7.12 - tokio@1.40.0 - toml@0.5.11 - tonic-build@0.12.2 - tonic@0.12.2 - tower-layer@0.3.3 - tower-service@0.3.3 - tower@0.4.13 - tower@0.5.1 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing@0.1.40 - try-lock@0.2.5 - typeid@1.0.2 - typenum@1.17.0 - typetag-impl@0.2.18 - typetag@0.2.18 - unicode-bidi@0.3.15 - unicode-ident@1.0.13 - unicode-normalization@0.1.23 - unicode-segmentation@1.11.0 - unicode-width@0.1.13 - unicode-xid@0.2.5 - untrusted@0.9.0 - url@2.5.2 - uuid@1.10.0 - valuable@0.1.0 - vcpkg@0.2.15 - vec_map@0.8.2 - version_check@0.9.5 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.93 - wasm-bindgen-futures@0.4.43 - wasm-bindgen-macro-support@0.2.93 - wasm-bindgen-macro@0.2.93 - wasm-bindgen-shared@0.2.93 - wasm-bindgen@0.2.93 - web-sys@0.3.70 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-core@0.57.0 - windows-implement@0.57.0 - windows-interface@0.57.0 - windows-result@0.1.2 - 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@0.57.0 - 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 - winreg@0.50.0 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zeroize@1.8.1 -" - -declare -A GIT_CRATES=( - [jwt]='https://github.com/glimberg/rust-jwt;61a9291fdeec747c6edf14f4fa0caf235136c168;rust-jwt-%commit%' - [rustfsm]='https://github.com/temporalio/sdk-core;a8150d5c7c3fc1bfd5a941fd315abff1556cd9dc;sdk-core-%commit%/fsm' - [rustfsm_procmacro]='https://github.com/temporalio/sdk-core;a8150d5c7c3fc1bfd5a941fd315abff1556cd9dc;sdk-core-%commit%/fsm/rustfsm_procmacro' - [rustfsm_trait]='https://github.com/temporalio/sdk-core;a8150d5c7c3fc1bfd5a941fd315abff1556cd9dc;sdk-core-%commit%/fsm/rustfsm_trait' - [temporal-client]='https://github.com/temporalio/sdk-core;a8150d5c7c3fc1bfd5a941fd315abff1556cd9dc;sdk-core-%commit%/client' - [temporal-sdk-core-api]='https://github.com/temporalio/sdk-core;a8150d5c7c3fc1bfd5a941fd315abff1556cd9dc;sdk-core-%commit%/core-api' - [temporal-sdk-core-protos]='https://github.com/temporalio/sdk-core;a8150d5c7c3fc1bfd5a941fd315abff1556cd9dc;sdk-core-%commit%/sdk-core-protos' - [temporal-sdk-core]='https://github.com/temporalio/sdk-core;a8150d5c7c3fc1bfd5a941fd315abff1556cd9dc;sdk-core-%commit%/core' - [temporal-sdk]='https://github.com/temporalio/sdk-core;a8150d5c7c3fc1bfd5a941fd315abff1556cd9dc;sdk-core-%commit%/sdk' -) - -inherit cargo systemd toolchain-funcs - -DESCRIPTION="A software-based managed Ethernet switch for planet Earth" -HOMEPAGE="https://www.zerotier.com/" -SRC_URI=" - https://github.com/zerotier/ZeroTierOne/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz - sso? ( - ${CARGO_CRATE_URIS} - ) -" -S="${WORKDIR}"/ZeroTierOne-${PV} - -LICENSE="BUSL-1.1" -# Dependent crate licenses -LICENSE+=" sso? ( 0BSD Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB )" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" -IUSE="cpu_flags_arm_neon debug sso" - -RDEPEND=" - dev-libs/openssl:= - net-libs/libnatpmp - >=net-libs/miniupnpc-2:= -" -DEPEND="${RDEPEND}" -BDEPEND=" - sso? ( - virtual/rust - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.10.1-add-armv7a-support.patch -) - -DOCS=( README.md AUTHORS.md ) - -src_unpack() { - unpack ${P}.tar.gz - use sso && cargo_src_unpack -} - -src_prepare() { - default - - #1. Dont call cargo, we'll run it with cargo eclass functions - #2. Remove man page compression and install, we'll handle it with ebuild functions - #3. Gentoo generates target specific build dirs now bug #937782 - sed -i \ - -e '/ifeq ($(ZT_SSO_SUPPORTED)/,/endif/ { /cargo build/d }' \ - -e '/install:/,/^$/ { /man[0-9]/d }' \ - -e "s|rustybits/target/$(usex debug debug release)|rustybits/$(cargo_target_dir)|" \ - make-linux.mk || die -} - -src_configure() { - tc-export CXX CC - - use cpu_flags_arm_neon || export ZT_DISABLE_NEON=1 - - use sso && cargo_src_configure -} - -src_compile() { - #TODO: New rusty bit smeeclient isnt built - myemakeargs=( - CXX="${CXX}" - STRIP=: - - # Debug doesnt do more than add preprocessor arguments normally, - # but when rust is used it sets the correct rust directory to link against. - # It would be added by cargo eclass eitherway, so instead of adding REQUIRED_USE - # and patching the makefile its just easier to have it. - ZT_DEBUG="$(usex debug 1 0)" - ZT_SSO_SUPPORTED="$(usex sso 1 0)" - ) - - pushd rustybits/zeroidc > /dev/null || die - use sso && cargo_src_compile - popd > /dev/null || die - - emake "${myemakeargs[@]}" one -} - -src_test() { - emake "${myemakeargs[@]}" selftest - ./zerotier-selftest || die -} - -src_install() { - default - - newinitd "${FILESDIR}/${PN}".init-r1 "${PN}" - systemd_dounit "${FILESDIR}/${PN}".service - - doman doc/zerotier-{cli.1,idtool.1,one.8} -} diff --git a/net-misc/zerotier/zerotier-1.14.2-r1.ebuild b/net-misc/zerotier/zerotier-1.14.2-r1.ebuild new file mode 100644 index 000000000000..8125b3a115da --- /dev/null +++ b/net-misc/zerotier/zerotier-1.14.2-r1.ebuild @@ -0,0 +1,482 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CARGO_OPTIONAL=1 + +CRATES=" + addr2line@0.24.2 + adler2@2.0.0 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + ansi_term@0.12.1 + anstyle@1.0.8 + anyhow@1.0.91 + async-stream-impl@0.3.6 + async-stream@0.3.6 + async-trait@0.1.83 + atomic-waker@1.1.2 + atty@0.2.14 + autocfg@1.4.0 + axum-core@0.4.5 + axum@0.7.7 + backoff@0.4.0 + backtrace@0.3.74 + base16ct@0.2.0 + base64@0.13.1 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.8.0 + cbindgen@0.20.0 + cc@1.1.31 + cfg-if@1.0.0 + chrono@0.4.38 + clap@2.34.0 + const-oid@0.9.6 + core-foundation-sys@0.8.7 + core-foundation@0.9.4 + cpufeatures@0.2.14 + crossbeam-channel@0.5.13 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.3 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + dashmap@5.5.3 + dashmap@6.1.0 + der@0.7.9 + deranged@0.3.11 + derive_builder@0.20.2 + derive_builder_core@0.20.2 + derive_builder_macro@0.20.2 + derive_more-impl@1.0.0 + derive_more@1.0.0 + digest@0.10.7 + downcast@0.11.0 + dyn-clone@1.0.17 + ecdsa@0.16.9 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + either@1.13.0 + elliptic-curve@0.13.8 + encoding_rs@0.8.34 + enum-iterator-derive@1.4.0 + enum-iterator@2.1.0 + enum_dispatch@0.3.13 + equivalent@1.0.1 + erased-serde@0.4.5 + errno@0.3.9 + fastrand@2.1.1 + ff@0.13.0 + fiat-crypto@0.2.9 + fixedbitset@0.4.2 + fnv@1.0.7 + foldhash@0.1.3 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fragile@2.0.0 + futures-channel@0.3.31 + futures-core@0.3.31 + futures-executor@0.3.31 + futures-io@0.3.31 + futures-macro@0.3.31 + futures-retry@0.6.0 + futures-sink@0.3.31 + futures-task@0.3.31 + futures-timer@3.0.3 + futures-util@0.3.31 + futures@0.3.31 + generic-array@0.14.7 + getrandom@0.2.15 + gimli@0.31.1 + governor@0.6.3 + group@0.13.0 + h2@0.3.26 + h2@0.4.6 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashbrown@0.15.0 + heck@0.3.3 + heck@0.5.0 + hermit-abi@0.1.19 + hermit-abi@0.3.9 + hex@0.4.3 + hkdf@0.12.4 + hmac@0.12.1 + http-body-util@0.1.2 + http-body@0.4.6 + http-body@1.0.1 + http@0.2.12 + http@1.1.0 + httparse@1.9.5 + httpdate@1.0.3 + hyper-timeout@0.5.1 + hyper-tls@0.5.0 + hyper-util@0.1.9 + hyper@0.14.31 + hyper@1.5.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.61 + ident_case@1.0.1 + idna@0.5.0 + indexmap@1.9.3 + indexmap@2.6.0 + instant@0.1.13 + inventory@0.3.15 + ipnet@2.10.1 + itertools@0.10.5 + itertools@0.13.0 + itoa@1.0.11 + js-sys@0.3.72 + lazy_static@1.5.0 + libc@0.2.161 + libm@0.2.8 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + lru@0.12.5 + matchers@0.1.0 + matchit@0.7.3 + memchr@2.7.4 + mime@0.3.17 + miniz_oxide@0.8.0 + mio@1.0.2 + mockall@0.13.0 + mockall_derive@0.13.0 + multimap@0.10.0 + native-tls@0.2.12 + no-std-compat@0.4.1 + nonzero_ext@0.3.0 + ntapi@0.4.1 + nu-ansi-term@0.46.0 + num-bigint-dig@0.8.4 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.45 + num-traits@0.2.19 + oauth2@4.4.2 + object@0.36.5 + once_cell@1.20.2 + openidconnect@3.5.0 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.104 + openssl@0.10.68 + opentelemetry@0.24.0 + ordered-float@2.10.1 + overload@0.1.1 + p256@0.13.2 + p384@0.13.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + pem-rfc7468@0.7.0 + percent-encoding@2.3.1 + petgraph@0.6.5 + pid@4.0.0 + pin-project-internal@1.1.6 + pin-project-lite@0.2.14 + pin-project@1.1.6 + pin-utils@0.1.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.31 + portable-atomic@1.9.0 + powerfmt@0.2.0 + ppv-lite86@0.2.20 + predicates-core@1.0.8 + predicates-tree@1.0.11 + predicates@3.1.2 + prettyplease@0.2.24 + primeorder@0.13.6 + proc-macro2@1.0.89 + prometheus@0.13.4 + prost-build@0.13.3 + prost-derive@0.13.3 + prost-types@0.13.3 + prost-wkt-build@0.6.0 + prost-wkt-types@0.6.0 + prost-wkt@0.6.0 + prost@0.13.3 + protobuf@2.28.0 + quanta@0.12.3 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + raw-cpuid@11.2.0 + redox_syscall@0.5.7 + regex-automata@0.1.10 + regex-automata@0.4.8 + regex-syntax@0.6.29 + regex-syntax@0.8.5 + regex@1.11.0 + reqwest@0.11.27 + rfc6979@0.4.0 + ring@0.17.8 + ringbuf@0.4.7 + rsa@0.9.6 + rustc-demangle@0.1.24 + rustc_version@0.4.1 + rustix@0.38.37 + rustls-native-certs@0.8.0 + rustls-pemfile@1.0.4 + rustls-pemfile@2.2.0 + rustls-pki-types@1.10.0 + rustls-webpki@0.102.8 + rustls@0.23.15 + rustversion@1.0.18 + ryu@1.0.18 + schannel@0.1.26 + scopeguard@1.2.0 + sec1@0.7.3 + security-framework-sys@2.12.0 + security-framework@2.11.1 + semver@1.0.23 + serde-value@0.7.0 + serde@1.0.213 + serde_derive@1.0.213 + serde_json@1.0.132 + serde_path_to_error@0.1.16 + serde_plain@1.0.2 + serde_urlencoded@0.7.1 + serde_with@3.11.0 + serde_with_macros@3.11.0 + sha2@0.10.8 + sharded-slab@0.1.7 + shlex@1.3.0 + signal-hook-registry@1.4.2 + signature@2.2.0 + siphasher@1.0.1 + slab@0.4.9 + slotmap@1.0.7 + smallvec@1.13.2 + socket2@0.5.7 + spin@0.9.8 + spinning_top@0.3.0 + spki@0.7.3 + strsim@0.11.1 + strsim@0.8.0 + subtle@2.6.1 + syn@1.0.109 + syn@2.0.82 + sync_wrapper@0.1.2 + sync_wrapper@1.0.1 + sysinfo@0.32.0 + system-configuration-sys@0.5.0 + system-configuration@0.5.1 + tempfile@3.13.0 + termtree@0.4.1 + textwrap@0.11.0 + thiserror-impl@1.0.65 + thiserror@1.0.65 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tokio-macros@2.4.0 + tokio-native-tls@0.3.1 + tokio-rustls@0.26.0 + tokio-stream@0.1.16 + tokio-util@0.7.12 + tokio@1.41.0 + toml@0.5.11 + tonic-build@0.12.3 + tonic@0.12.3 + tower-layer@0.3.3 + tower-service@0.3.3 + tower@0.4.13 + tower@0.5.1 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing@0.1.40 + try-lock@0.2.5 + typeid@1.0.2 + typenum@1.17.0 + typetag-impl@0.2.18 + typetag@0.2.18 + unicode-bidi@0.3.17 + unicode-ident@1.0.13 + unicode-normalization@0.1.24 + unicode-segmentation@1.12.0 + unicode-width@0.1.14 + unicode-xid@0.2.6 + untrusted@0.9.0 + url@2.5.2 + uuid@1.11.0 + valuable@0.1.0 + vcpkg@0.2.15 + vec_map@0.8.2 + version_check@0.9.5 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.95 + wasm-bindgen-futures@0.4.45 + wasm-bindgen-macro-support@0.2.95 + wasm-bindgen-macro@0.2.95 + wasm-bindgen-shared@0.2.95 + wasm-bindgen@0.2.95 + web-sys@0.3.72 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-core@0.57.0 + windows-implement@0.57.0 + windows-interface@0.57.0 + windows-result@0.1.2 + 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@0.57.0 + 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 + winreg@0.50.0 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zeroize@1.8.1 +" + +declare -A GIT_CRATES=( + [jwt]='https://github.com/glimberg/rust-jwt;61a9291fdeec747c6edf14f4fa0caf235136c168;rust-jwt-%commit%' + [rustfsm]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/fsm' + [rustfsm_procmacro]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/fsm/rustfsm_procmacro' + [rustfsm_trait]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/fsm/rustfsm_trait' + [temporal-client]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/client' + [temporal-sdk-core-api]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/core-api' + [temporal-sdk-core-protos]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/sdk-core-protos' + [temporal-sdk-core]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/core' + [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" +HOMEPAGE="https://www.zerotier.com/" +SRC_URI=" + https://github.com/zerotier/ZeroTierOne/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + sso? ( + ${CARGO_CRATE_URIS} + ) +" +S="${WORKDIR}"/ZeroTierOne-${PV} + +LICENSE="BUSL-1.1" +# Dependent crate licenses +LICENSE+=" sso? ( 0BSD Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB )" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" +IUSE="cpu_flags_arm_neon debug sso" + +RDEPEND=" + dev-libs/openssl:= + net-libs/libnatpmp + >=net-libs/miniupnpc-2:= +" +DEPEND="${RDEPEND}" +BDEPEND=" + sso? ( + ${RUST_DEPEND} + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.10.1-add-armv7a-support.patch +) + +DOCS=( README.md AUTHORS.md ) + +src_unpack() { + unpack ${P}.tar.gz + use sso && cargo_src_unpack +} + +src_prepare() { + default + + #1. Dont call cargo, we'll run it with cargo eclass functions + #2. Remove man page compression and install, we'll handle it with ebuild functions + #3. Gentoo generates target specific build dirs now bug #937782 + sed -i \ + -e '/ifeq ($(ZT_SSO_SUPPORTED)/,/endif/ { /cargo build/d }' \ + -e '/install:/,/^$/ { /man[0-9]/d }' \ + -e "s|rustybits/target/$(usex debug debug release)|rustybits/$(cargo_target_dir)|" \ + make-linux.mk || die +} + +src_configure() { + tc-export CXX CC + + use cpu_flags_arm_neon || export ZT_DISABLE_NEON=1 + + use sso && cargo_src_configure +} + +src_compile() { + #TODO: New rusty bit smeeclient isnt built + myemakeargs=( + CXX="${CXX}" + STRIP=: + + # Debug doesnt do more than add preprocessor arguments normally, + # but when rust is used it sets the correct rust directory to link against. + # It would be added by cargo eclass eitherway, so instead of adding REQUIRED_USE + # and patching the makefile its just easier to have it. + ZT_DEBUG="$(usex debug 1 0)" + ZT_SSO_SUPPORTED="$(usex sso 1 0)" + ) + + pushd rustybits/zeroidc > /dev/null || die + use sso && cargo_src_compile + popd > /dev/null || die + + emake "${myemakeargs[@]}" one +} + +src_test() { + emake "${myemakeargs[@]}" selftest + ./zerotier-selftest || die +} + +src_install() { + default + + newinitd "${FILESDIR}/${PN}".init-r1 "${PN}" + systemd_dounit "${FILESDIR}/${PN}".service + + doman doc/zerotier-{cli.1,idtool.1,one.8} +} diff --git a/net-misc/zerotier/zerotier-1.14.2.ebuild b/net-misc/zerotier/zerotier-1.14.2.ebuild deleted file mode 100644 index 16179d08188e..000000000000 --- a/net-misc/zerotier/zerotier-1.14.2.ebuild +++ /dev/null @@ -1,480 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CARGO_OPTIONAL=1 - -CRATES=" - addr2line@0.24.2 - adler2@2.0.0 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - ansi_term@0.12.1 - anstyle@1.0.8 - anyhow@1.0.91 - async-stream-impl@0.3.6 - async-stream@0.3.6 - async-trait@0.1.83 - atomic-waker@1.1.2 - atty@0.2.14 - autocfg@1.4.0 - axum-core@0.4.5 - axum@0.7.7 - backoff@0.4.0 - backtrace@0.3.74 - base16ct@0.2.0 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.8.0 - cbindgen@0.20.0 - cc@1.1.31 - cfg-if@1.0.0 - chrono@0.4.38 - clap@2.34.0 - const-oid@0.9.6 - core-foundation-sys@0.8.7 - core-foundation@0.9.4 - cpufeatures@0.2.14 - crossbeam-channel@0.5.13 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.3 - darling@0.20.10 - darling_core@0.20.10 - darling_macro@0.20.10 - dashmap@5.5.3 - dashmap@6.1.0 - der@0.7.9 - deranged@0.3.11 - derive_builder@0.20.2 - derive_builder_core@0.20.2 - derive_builder_macro@0.20.2 - derive_more-impl@1.0.0 - derive_more@1.0.0 - digest@0.10.7 - downcast@0.11.0 - dyn-clone@1.0.17 - ecdsa@0.16.9 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - either@1.13.0 - elliptic-curve@0.13.8 - encoding_rs@0.8.34 - enum-iterator-derive@1.4.0 - enum-iterator@2.1.0 - enum_dispatch@0.3.13 - equivalent@1.0.1 - erased-serde@0.4.5 - errno@0.3.9 - fastrand@2.1.1 - ff@0.13.0 - fiat-crypto@0.2.9 - fixedbitset@0.4.2 - fnv@1.0.7 - foldhash@0.1.3 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fragile@2.0.0 - futures-channel@0.3.31 - futures-core@0.3.31 - futures-executor@0.3.31 - futures-io@0.3.31 - futures-macro@0.3.31 - futures-retry@0.6.0 - futures-sink@0.3.31 - futures-task@0.3.31 - futures-timer@3.0.3 - futures-util@0.3.31 - futures@0.3.31 - generic-array@0.14.7 - getrandom@0.2.15 - gimli@0.31.1 - governor@0.6.3 - group@0.13.0 - h2@0.3.26 - h2@0.4.6 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashbrown@0.15.0 - heck@0.3.3 - heck@0.5.0 - hermit-abi@0.1.19 - hermit-abi@0.3.9 - hex@0.4.3 - hkdf@0.12.4 - hmac@0.12.1 - http-body-util@0.1.2 - http-body@0.4.6 - http-body@1.0.1 - http@0.2.12 - http@1.1.0 - httparse@1.9.5 - httpdate@1.0.3 - hyper-timeout@0.5.1 - hyper-tls@0.5.0 - hyper-util@0.1.9 - hyper@0.14.31 - hyper@1.5.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.61 - ident_case@1.0.1 - idna@0.5.0 - indexmap@1.9.3 - indexmap@2.6.0 - instant@0.1.13 - inventory@0.3.15 - ipnet@2.10.1 - itertools@0.10.5 - itertools@0.13.0 - itoa@1.0.11 - js-sys@0.3.72 - lazy_static@1.5.0 - libc@0.2.161 - libm@0.2.8 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - lru@0.12.5 - matchers@0.1.0 - matchit@0.7.3 - memchr@2.7.4 - mime@0.3.17 - miniz_oxide@0.8.0 - mio@1.0.2 - mockall@0.13.0 - mockall_derive@0.13.0 - multimap@0.10.0 - native-tls@0.2.12 - no-std-compat@0.4.1 - nonzero_ext@0.3.0 - ntapi@0.4.1 - nu-ansi-term@0.46.0 - num-bigint-dig@0.8.4 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.45 - num-traits@0.2.19 - oauth2@4.4.2 - object@0.36.5 - once_cell@1.20.2 - openidconnect@3.5.0 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.104 - openssl@0.10.68 - opentelemetry@0.24.0 - ordered-float@2.10.1 - overload@0.1.1 - p256@0.13.2 - p384@0.13.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - pem-rfc7468@0.7.0 - percent-encoding@2.3.1 - petgraph@0.6.5 - pid@4.0.0 - pin-project-internal@1.1.6 - pin-project-lite@0.2.14 - pin-project@1.1.6 - pin-utils@0.1.0 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.31 - portable-atomic@1.9.0 - powerfmt@0.2.0 - ppv-lite86@0.2.20 - predicates-core@1.0.8 - predicates-tree@1.0.11 - predicates@3.1.2 - prettyplease@0.2.24 - primeorder@0.13.6 - proc-macro2@1.0.89 - prometheus@0.13.4 - prost-build@0.13.3 - prost-derive@0.13.3 - prost-types@0.13.3 - prost-wkt-build@0.6.0 - prost-wkt-types@0.6.0 - prost-wkt@0.6.0 - prost@0.13.3 - protobuf@2.28.0 - quanta@0.12.3 - quote@1.0.37 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - raw-cpuid@11.2.0 - redox_syscall@0.5.7 - regex-automata@0.1.10 - regex-automata@0.4.8 - regex-syntax@0.6.29 - regex-syntax@0.8.5 - regex@1.11.0 - reqwest@0.11.27 - rfc6979@0.4.0 - ring@0.17.8 - ringbuf@0.4.7 - rsa@0.9.6 - rustc-demangle@0.1.24 - rustc_version@0.4.1 - rustix@0.38.37 - rustls-native-certs@0.8.0 - rustls-pemfile@1.0.4 - rustls-pemfile@2.2.0 - rustls-pki-types@1.10.0 - rustls-webpki@0.102.8 - rustls@0.23.15 - rustversion@1.0.18 - ryu@1.0.18 - schannel@0.1.26 - scopeguard@1.2.0 - sec1@0.7.3 - security-framework-sys@2.12.0 - security-framework@2.11.1 - semver@1.0.23 - serde-value@0.7.0 - serde@1.0.213 - serde_derive@1.0.213 - serde_json@1.0.132 - serde_path_to_error@0.1.16 - serde_plain@1.0.2 - serde_urlencoded@0.7.1 - serde_with@3.11.0 - serde_with_macros@3.11.0 - sha2@0.10.8 - sharded-slab@0.1.7 - shlex@1.3.0 - signal-hook-registry@1.4.2 - signature@2.2.0 - siphasher@1.0.1 - slab@0.4.9 - slotmap@1.0.7 - smallvec@1.13.2 - socket2@0.5.7 - spin@0.9.8 - spinning_top@0.3.0 - spki@0.7.3 - strsim@0.11.1 - strsim@0.8.0 - subtle@2.6.1 - syn@1.0.109 - syn@2.0.82 - sync_wrapper@0.1.2 - sync_wrapper@1.0.1 - sysinfo@0.32.0 - system-configuration-sys@0.5.0 - system-configuration@0.5.1 - tempfile@3.13.0 - termtree@0.4.1 - textwrap@0.11.0 - thiserror-impl@1.0.65 - thiserror@1.0.65 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - tokio-macros@2.4.0 - tokio-native-tls@0.3.1 - tokio-rustls@0.26.0 - tokio-stream@0.1.16 - tokio-util@0.7.12 - tokio@1.41.0 - toml@0.5.11 - tonic-build@0.12.3 - tonic@0.12.3 - tower-layer@0.3.3 - tower-service@0.3.3 - tower@0.4.13 - tower@0.5.1 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing@0.1.40 - try-lock@0.2.5 - typeid@1.0.2 - typenum@1.17.0 - typetag-impl@0.2.18 - typetag@0.2.18 - unicode-bidi@0.3.17 - unicode-ident@1.0.13 - unicode-normalization@0.1.24 - unicode-segmentation@1.12.0 - unicode-width@0.1.14 - unicode-xid@0.2.6 - untrusted@0.9.0 - url@2.5.2 - uuid@1.11.0 - valuable@0.1.0 - vcpkg@0.2.15 - vec_map@0.8.2 - version_check@0.9.5 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.95 - wasm-bindgen-futures@0.4.45 - wasm-bindgen-macro-support@0.2.95 - wasm-bindgen-macro@0.2.95 - wasm-bindgen-shared@0.2.95 - wasm-bindgen@0.2.95 - web-sys@0.3.72 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-core@0.57.0 - windows-implement@0.57.0 - windows-interface@0.57.0 - windows-result@0.1.2 - 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@0.57.0 - 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 - winreg@0.50.0 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zeroize@1.8.1 -" - -declare -A GIT_CRATES=( - [jwt]='https://github.com/glimberg/rust-jwt;61a9291fdeec747c6edf14f4fa0caf235136c168;rust-jwt-%commit%' - [rustfsm]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/fsm' - [rustfsm_procmacro]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/fsm/rustfsm_procmacro' - [rustfsm_trait]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/fsm/rustfsm_trait' - [temporal-client]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/client' - [temporal-sdk-core-api]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/core-api' - [temporal-sdk-core-protos]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/sdk-core-protos' - [temporal-sdk-core]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/core' - [temporal-sdk]='https://github.com/temporalio/sdk-core;730aadcc02767ae630e88f8f8c788a85d6bc81e6;sdk-core-%commit%/sdk' -) - -inherit cargo systemd toolchain-funcs - -DESCRIPTION="A software-based managed Ethernet switch for planet Earth" -HOMEPAGE="https://www.zerotier.com/" -SRC_URI=" - https://github.com/zerotier/ZeroTierOne/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz - sso? ( - ${CARGO_CRATE_URIS} - ) -" -S="${WORKDIR}"/ZeroTierOne-${PV} - -LICENSE="BUSL-1.1" -# Dependent crate licenses -LICENSE+=" sso? ( 0BSD Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB )" -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86" -IUSE="cpu_flags_arm_neon debug sso" - -RDEPEND=" - dev-libs/openssl:= - net-libs/libnatpmp - >=net-libs/miniupnpc-2:= -" -DEPEND="${RDEPEND}" -BDEPEND=" - sso? ( - virtual/rust - ) -" - -PATCHES=( - "${FILESDIR}"/${PN}-1.10.1-add-armv7a-support.patch -) - -DOCS=( README.md AUTHORS.md ) - -src_unpack() { - unpack ${P}.tar.gz - use sso && cargo_src_unpack -} - -src_prepare() { - default - - #1. Dont call cargo, we'll run it with cargo eclass functions - #2. Remove man page compression and install, we'll handle it with ebuild functions - #3. Gentoo generates target specific build dirs now bug #937782 - sed -i \ - -e '/ifeq ($(ZT_SSO_SUPPORTED)/,/endif/ { /cargo build/d }' \ - -e '/install:/,/^$/ { /man[0-9]/d }' \ - -e "s|rustybits/target/$(usex debug debug release)|rustybits/$(cargo_target_dir)|" \ - make-linux.mk || die -} - -src_configure() { - tc-export CXX CC - - use cpu_flags_arm_neon || export ZT_DISABLE_NEON=1 - - use sso && cargo_src_configure -} - -src_compile() { - #TODO: New rusty bit smeeclient isnt built - myemakeargs=( - CXX="${CXX}" - STRIP=: - - # Debug doesnt do more than add preprocessor arguments normally, - # but when rust is used it sets the correct rust directory to link against. - # It would be added by cargo eclass eitherway, so instead of adding REQUIRED_USE - # and patching the makefile its just easier to have it. - ZT_DEBUG="$(usex debug 1 0)" - ZT_SSO_SUPPORTED="$(usex sso 1 0)" - ) - - pushd rustybits/zeroidc > /dev/null || die - use sso && cargo_src_compile - popd > /dev/null || die - - emake "${myemakeargs[@]}" one -} - -src_test() { - emake "${myemakeargs[@]}" selftest - ./zerotier-selftest || die -} - -src_install() { - default - - newinitd "${FILESDIR}/${PN}".init-r1 "${PN}" - systemd_dounit "${FILESDIR}/${PN}".service - - doman doc/zerotier-{cli.1,idtool.1,one.8} -} diff --git a/net-nds/389-ds-base/389-ds-base-3.0.2-r1.ebuild b/net-nds/389-ds-base/389-ds-base-3.0.2-r1.ebuild new file mode 100644 index 000000000000..cb81c3d6e77f --- /dev/null +++ b/net-nds/389-ds-base/389-ds-base-3.0.2-r1.ebuild @@ -0,0 +1,340 @@ +# 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 + ahash@0.7.7 + atty@0.2.14 + autocfg@1.1.0 + backtrace@0.3.69 + base64@0.13.1 + bitflags@1.3.2 + bitflags@2.4.2 + byteorder@1.5.0 + cbindgen@0.26.0 + cc@1.0.83 + cfg-if@1.0.0 + clap@3.2.25 + clap_lex@0.2.4 + concread@0.2.21 + crossbeam-channel@0.5.11 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crossbeam@0.8.4 + errno@0.3.8 + fastrand@2.0.1 + fernet@0.1.4 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + getrandom@0.2.12 + gimli@0.28.1 + hashbrown@0.12.3 + heck@0.4.1 + hermit-abi@0.1.19 + indexmap@1.9.3 + instant@0.1.12 + itoa@1.0.10 + jobserver@0.1.27 + libc@0.2.152 + linux-raw-sys@0.4.13 + lock_api@0.4.11 + log@0.4.20 + lru@0.7.8 + memchr@2.7.1 + miniz_oxide@0.7.1 + object@0.32.2 + once_cell@1.19.0 + openssl-macros@0.1.1 + openssl-sys@0.9.99 + openssl@0.10.63 + os_str_bytes@6.6.1 + parking_lot@0.11.2 + parking_lot_core@0.8.6 + paste-impl@0.1.18 + paste@0.1.18 + pin-project-lite@0.2.13 + pkg-config@0.3.29 + ppv-lite86@0.2.17 + proc-macro-hack@0.5.20+deprecated + proc-macro2@1.0.78 + quote@1.0.35 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.2.16 + redox_syscall@0.4.1 + rustc-demangle@0.1.23 + rustix@0.38.30 + ryu@1.0.16 + scopeguard@1.2.0 + serde@1.0.196 + serde_derive@1.0.196 + serde_json@1.0.113 + smallvec@1.13.1 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.48 + tempfile@3.9.0 + termcolor@1.4.1 + textwrap@0.16.0 + tokio-macros@2.2.0 + tokio@1.35.1 + toml@0.5.11 + unicode-ident@1.0.12 + uuid@0.8.2 + vcpkg@0.2.15 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.52.0 + windows-targets@0.52.0 + windows_aarch64_gnullvm@0.52.0 + windows_aarch64_msvc@0.52.0 + windows_i686_gnu@0.52.0 + windows_i686_msvc@0.52.0 + windows_x86_64_gnu@0.52.0 + windows_x86_64_gnullvm@0.52.0 + windows_x86_64_msvc@0.52.0 + zeroize@1.7.0 + zeroize_derive@1.4.2 +" + +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)" +HOMEPAGE="https://directory.fedoraproject.org/" +SRC_URI=" + https://github.com/389ds/${PN}/archive/refs/tags/${P}.tar.gz + ${CARGO_CRATE_URIS} +" +S="${WORKDIR}/${PN}-${P}" + +LICENSE="GPL-3+" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD MIT MPL-2.0 Unicode-DFS-2016" + +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE_PLUGINS="+accountpolicy +bitwise +dna +pam-passthru" +IUSE="${IUSE_PLUGINS} +autobind auto-dn-suffix debug doc +ldapi selinux systemd" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +# lib389 tests (which is most of the suite) can't find their own modules. +RESTRICT="test" + +# Do not add any AGPL-3 BDB here! +# See bug 525110, comment 15. +DEPEND=" + >=app-crypt/mit-krb5-1.7-r100[openldap] + dev-db/lmdb:= + >=dev-libs/cyrus-sasl-2.1.19:2[kerberos] + dev-libs/json-c:= + >=dev-libs/icu-60.2:= + dev-libs/nspr + >=dev-libs/nss-3.22[utils] + dev-libs/libpcre2:= + dev-libs/openssl:0= + >=net-analyzer/net-snmp-5.1.2:= + net-nds/openldap:=[sasl] + sys-libs/cracklib + sys-libs/db:5.3 + sys-libs/zlib + sys-fs/e2fsprogs + pam-passthru? ( sys-libs/pam ) + selinux? ( + $(python_gen_cond_dep ' + sys-libs/libselinux[python,${PYTHON_USEDEP}] + ') + ) + systemd? ( >=sys-apps/systemd-244 ) + virtual/libcrypt:= +" + +BDEPEND=">=dev-build/autoconf-2.69-r5 + virtual/pkgconfig + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/argparse-manpage[${PYTHON_USEDEP}] + ') + doc? ( app-text/doxygen ) + test? ( dev-util/cmocka ) +" + +# perl dependencies are for logconv.pl +RDEPEND="${DEPEND} + acct-user/dirsrv + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + dev-python/pyasn1[${PYTHON_USEDEP}] + dev-python/pyasn1-modules[${PYTHON_USEDEP}] + dev-python/argcomplete[${PYTHON_USEDEP}] + dev-python/cryptography[${PYTHON_USEDEP}] + dev-python/python-dateutil[${PYTHON_USEDEP}] + dev-python/python-ldap[sasl,${PYTHON_USEDEP}] + dev-python/distro[${PYTHON_USEDEP}] + ') + virtual/perl-Archive-Tar + virtual/perl-DB_File + virtual/perl-IO + virtual/perl-Getopt-Long + virtual/perl-IO-Compress + virtual/perl-MIME-Base64 + virtual/perl-Scalar-List-Utils + virtual/perl-Time-Local + virtual/logger + selinux? ( sec-policy/selinux-dirsrv ) +" + +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 + sed -i \ + -e 's|WITH_SYSTEMD = 1|WITH_SYSTEMD = 0|' \ + Makefile.am || die + fi + + default + + eautoreconf +} + +src_configure() { + local myeconfargs=( + $(use_enable accountpolicy acctpolicy) + $(use_enable bitwise) + $(use_enable dna) + $(use_enable pam-passthru) + $(use_enable autobind) + $(use_enable auto-dn-suffix) + $(use_enable debug) + $(use_enable ldapi) + $(use_with selinux) + $(use_with !systemd initddir "/etc/init.d") + $(use_with systemd) + $(use_enable test cmocka) + --with-systemdgroupname="dirsrv.target" + --with-tmpfiles-d="${EPREFIX}/usr/lib/tmpfiles.d" + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + --enable-rust-offline + --with-pythonexec="${PYTHON}" + --with-fhs + --with-openldap + --with-db-inc="${EPREFIX}"/usr/include/db5.3 + --disable-cockpit + ) + + econf "${myeconfargs[@]}" + + rm .cargo/config || die +} + +src_compile() { + export CARGO_HOME="${ECARGO_HOME}" + + default + + if use doc; then + doxygen docs/slapi.doxy || die + fi + + emake src/lib389/setup.py + pushd src/lib389 &>/dev/null || die + distutils-r1_src_compile + popd &>/dev/null || die + + # argparse-manpage dynamic man pages have hardcoded man v1 in header + sed -i \ + "1s/\"1\"/\"8\"/" \ + src/lib389/man/{openldap_to_ds,ds{conf,ctl,idm,create}}.8 || die +} + +src_test () { + emake check + distutils-r1_src_test +} + +src_install() { + # -j1 is a temporary workaround for bug #605432 + emake -j1 DESTDIR="${D}" install + + # Install gentoo style init script + # Get these merged upstream + newinitd "${FILESDIR}"/389-ds.initd-r1 389-ds + newinitd "${FILESDIR}"/389-ds-snmp.initd 389-ds-snmp + + dotmpfiles "${FILESDIR}"/389-ds-base.conf + + # cope with libraries being in /usr/lib/dirsrv + dodir /etc/env.d + echo "LDPATH=/usr/$(get_libdir)/dirsrv" > "${ED}"/etc/env.d/08dirsrv || die + + if use doc; then + docinto html/ + dodoc -r html/. + fi + + pushd src/lib389 &>/dev/null || die + distutils-r1_src_install + popd &>/dev/null || die + + # wheel installs this in site-packages/usr.. + local misplaced_usr="${D}/usr/lib/${EPYTHON}/site-packages/usr" + mkdir -p "${ED}"/usr/libexec/dirsrv + mv "${misplaced_usr}/libexec/dirsrv/dscontainer" "${ED}"/usr/libexec/dirsrv + mv "${misplaced_usr}/sbin/openldap_to_ds" "${ED}"/usr/sbin + mv "${misplaced_usr}/sbin/dsconf" "${ED}"/usr/sbin + mv "${misplaced_usr}/sbin/dsctl" "${ED}"/usr/sbin + mv "${misplaced_usr}/sbin/dsidm" "${ED}"/usr/sbin + mv "${misplaced_usr}/sbin/dscreate" "${ED}"/usr/sbin + mv "${misplaced_usr}/share/man/man8/openldap_to_ds.8" "${ED}"/usr/share/man/man8 + mv "${misplaced_usr}/share/man/man8/dsconf.8" "${ED}"/usr/share/man/man8 + mv "${misplaced_usr}/share/man/man8/dsctl.8" "${ED}"/usr/share/man/man8 + mv "${misplaced_usr}/share/man/man8/dsidm.8" "${ED}"/usr/share/man/man8 + mv "${misplaced_usr}/share/man/man8/dscreate.8" "${ED}"/usr/share/man/man8 + rm -d "${misplaced_usr}"/share/man/man8 || die + rm -d "${misplaced_usr}"/share/man || die + rm -d "${misplaced_usr}"/libexec/dirsrv || die + rm -d "${misplaced_usr}"/{libexec,sbin,share} || die + rm -d "${misplaced_usr}" || die + + python_fix_shebang "${ED}" + python_optimize + + readme.gentoo_create_doc + + find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die +} + +pkg_postinst() { + tmpfiles_process 389-ds-base.conf + + readme.gentoo_print_elog +} 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.ebuild deleted file mode 100644 index 5a5199ac853f..000000000000 --- a/net-nds/389-ds-base/389-ds-base-3.0.2.ebuild +++ /dev/null @@ -1,333 +0,0 @@ -# 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 - ahash@0.7.7 - atty@0.2.14 - autocfg@1.1.0 - backtrace@0.3.69 - base64@0.13.1 - bitflags@1.3.2 - bitflags@2.4.2 - byteorder@1.5.0 - cbindgen@0.26.0 - cc@1.0.83 - cfg-if@1.0.0 - clap@3.2.25 - clap_lex@0.2.4 - concread@0.2.21 - crossbeam-channel@0.5.11 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.19 - crossbeam@0.8.4 - errno@0.3.8 - fastrand@2.0.1 - fernet@0.1.4 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - getrandom@0.2.12 - gimli@0.28.1 - hashbrown@0.12.3 - heck@0.4.1 - hermit-abi@0.1.19 - indexmap@1.9.3 - instant@0.1.12 - itoa@1.0.10 - jobserver@0.1.27 - libc@0.2.152 - linux-raw-sys@0.4.13 - lock_api@0.4.11 - log@0.4.20 - lru@0.7.8 - memchr@2.7.1 - miniz_oxide@0.7.1 - object@0.32.2 - once_cell@1.19.0 - openssl-macros@0.1.1 - openssl-sys@0.9.99 - openssl@0.10.63 - os_str_bytes@6.6.1 - parking_lot@0.11.2 - parking_lot_core@0.8.6 - paste-impl@0.1.18 - paste@0.1.18 - pin-project-lite@0.2.13 - pkg-config@0.3.29 - ppv-lite86@0.2.17 - proc-macro-hack@0.5.20+deprecated - proc-macro2@1.0.78 - quote@1.0.35 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redox_syscall@0.2.16 - redox_syscall@0.4.1 - rustc-demangle@0.1.23 - rustix@0.38.30 - ryu@1.0.16 - scopeguard@1.2.0 - serde@1.0.196 - serde_derive@1.0.196 - serde_json@1.0.113 - smallvec@1.13.1 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.48 - tempfile@3.9.0 - termcolor@1.4.1 - textwrap@0.16.0 - tokio-macros@2.2.0 - tokio@1.35.1 - toml@0.5.11 - unicode-ident@1.0.12 - uuid@0.8.2 - vcpkg@0.2.15 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.52.0 - windows-targets@0.52.0 - windows_aarch64_gnullvm@0.52.0 - windows_aarch64_msvc@0.52.0 - windows_i686_gnu@0.52.0 - windows_i686_msvc@0.52.0 - windows_x86_64_gnu@0.52.0 - windows_x86_64_gnullvm@0.52.0 - windows_x86_64_msvc@0.52.0 - zeroize@1.7.0 - zeroize_derive@1.4.2 -" - -PYTHON_COMPAT=( python3_{10..12} ) - -DISTUTILS_SINGLE_IMPL=1 -DISTUTILS_USE_PEP517=setuptools - -inherit autotools cargo distutils-r1 readme.gentoo-r1 systemd tmpfiles - -DESCRIPTION="389 Directory Server (core libraries and daemons)" -HOMEPAGE="https://directory.fedoraproject.org/" -SRC_URI=" - https://github.com/389ds/${PN}/archive/refs/tags/${P}.tar.gz - ${CARGO_CRATE_URIS} -" -S="${WORKDIR}/${PN}-${P}" - -LICENSE="GPL-3+" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD MIT MPL-2.0 Unicode-DFS-2016" - -SLOT="0" -KEYWORDS="~amd64 ~arm64" -IUSE_PLUGINS="+accountpolicy +bitwise +dna +pam-passthru" -IUSE="${IUSE_PLUGINS} +autobind auto-dn-suffix debug doc +ldapi selinux systemd" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -# lib389 tests (which is most of the suite) can't find their own modules. -RESTRICT="test" - -# Do not add any AGPL-3 BDB here! -# See bug 525110, comment 15. -DEPEND=" - >=app-crypt/mit-krb5-1.7-r100[openldap] - dev-db/lmdb:= - >=dev-libs/cyrus-sasl-2.1.19:2[kerberos] - dev-libs/json-c:= - >=dev-libs/icu-60.2:= - dev-libs/nspr - >=dev-libs/nss-3.22[utils] - dev-libs/libpcre2:= - dev-libs/openssl:0= - >=net-analyzer/net-snmp-5.1.2:= - net-nds/openldap:=[sasl] - sys-libs/cracklib - sys-libs/db:5.3 - sys-libs/zlib - sys-fs/e2fsprogs - pam-passthru? ( sys-libs/pam ) - selinux? ( - $(python_gen_cond_dep ' - sys-libs/libselinux[python,${PYTHON_USEDEP}] - ') - ) - systemd? ( >=sys-apps/systemd-244 ) - virtual/libcrypt:= -" - -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}] - ') - doc? ( app-text/doxygen ) - test? ( dev-util/cmocka ) -" - -# perl dependencies are for logconv.pl -RDEPEND="${DEPEND} - acct-user/dirsrv - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - dev-python/pyasn1[${PYTHON_USEDEP}] - dev-python/pyasn1-modules[${PYTHON_USEDEP}] - dev-python/argcomplete[${PYTHON_USEDEP}] - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/python-dateutil[${PYTHON_USEDEP}] - dev-python/python-ldap[sasl,${PYTHON_USEDEP}] - dev-python/distro[${PYTHON_USEDEP}] - ') - virtual/perl-Archive-Tar - virtual/perl-DB_File - virtual/perl-IO - virtual/perl-Getopt-Long - virtual/perl-IO-Compress - virtual/perl-MIME-Base64 - virtual/perl-Scalar-List-Utils - virtual/perl-Time-Local - virtual/logger - selinux? ( sec-policy/selinux-dirsrv ) -" - -PATCHES=( - "${FILESDIR}/${PN}-db-gentoo.patch" -) - -distutils_enable_tests pytest - -src_prepare() { - # https://github.com/389ds/389-ds-base/issues/4292 - if use !systemd; then - sed -i \ - -e 's|WITH_SYSTEMD = 1|WITH_SYSTEMD = 0|' \ - Makefile.am || die - fi - - default - - eautoreconf -} - -src_configure() { - local myeconfargs=( - $(use_enable accountpolicy acctpolicy) - $(use_enable bitwise) - $(use_enable dna) - $(use_enable pam-passthru) - $(use_enable autobind) - $(use_enable auto-dn-suffix) - $(use_enable debug) - $(use_enable ldapi) - $(use_with selinux) - $(use_with !systemd initddir "/etc/init.d") - $(use_with systemd) - $(use_enable test cmocka) - --with-systemdgroupname="dirsrv.target" - --with-tmpfiles-d="${EPREFIX}/usr/lib/tmpfiles.d" - --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" - --enable-rust-offline - --with-pythonexec="${PYTHON}" - --with-fhs - --with-openldap - --with-db-inc="${EPREFIX}"/usr/include/db5.3 - --disable-cockpit - ) - - econf "${myeconfargs[@]}" - - rm .cargo/config || die -} - -src_compile() { - export CARGO_HOME="${ECARGO_HOME}" - - default - - if use doc; then - doxygen docs/slapi.doxy || die - fi - - emake src/lib389/setup.py - pushd src/lib389 &>/dev/null || die - distutils-r1_src_compile - popd &>/dev/null || die - - # argparse-manpage dynamic man pages have hardcoded man v1 in header - sed -i \ - "1s/\"1\"/\"8\"/" \ - src/lib389/man/{openldap_to_ds,ds{conf,ctl,idm,create}}.8 || die -} - -src_test () { - emake check - distutils-r1_src_test -} - -src_install() { - # -j1 is a temporary workaround for bug #605432 - emake -j1 DESTDIR="${D}" install - - # Install gentoo style init script - # Get these merged upstream - newinitd "${FILESDIR}"/389-ds.initd-r1 389-ds - newinitd "${FILESDIR}"/389-ds-snmp.initd 389-ds-snmp - - dotmpfiles "${FILESDIR}"/389-ds-base.conf - - # cope with libraries being in /usr/lib/dirsrv - dodir /etc/env.d - echo "LDPATH=/usr/$(get_libdir)/dirsrv" > "${ED}"/etc/env.d/08dirsrv || die - - if use doc; then - docinto html/ - dodoc -r html/. - fi - - pushd src/lib389 &>/dev/null || die - distutils-r1_src_install - popd &>/dev/null || die - - # wheel installs this in site-packages/usr.. - local misplaced_usr="${D}/usr/lib/${EPYTHON}/site-packages/usr" - mkdir -p "${ED}"/usr/libexec/dirsrv - mv "${misplaced_usr}/libexec/dirsrv/dscontainer" "${ED}"/usr/libexec/dirsrv - mv "${misplaced_usr}/sbin/openldap_to_ds" "${ED}"/usr/sbin - mv "${misplaced_usr}/sbin/dsconf" "${ED}"/usr/sbin - mv "${misplaced_usr}/sbin/dsctl" "${ED}"/usr/sbin - mv "${misplaced_usr}/sbin/dsidm" "${ED}"/usr/sbin - mv "${misplaced_usr}/sbin/dscreate" "${ED}"/usr/sbin - mv "${misplaced_usr}/share/man/man8/openldap_to_ds.8" "${ED}"/usr/share/man/man8 - mv "${misplaced_usr}/share/man/man8/dsconf.8" "${ED}"/usr/share/man/man8 - mv "${misplaced_usr}/share/man/man8/dsctl.8" "${ED}"/usr/share/man/man8 - mv "${misplaced_usr}/share/man/man8/dsidm.8" "${ED}"/usr/share/man/man8 - mv "${misplaced_usr}/share/man/man8/dscreate.8" "${ED}"/usr/share/man/man8 - rm -d "${misplaced_usr}"/share/man/man8 || die - rm -d "${misplaced_usr}"/share/man || die - rm -d "${misplaced_usr}"/libexec/dirsrv || die - rm -d "${misplaced_usr}"/{libexec,sbin,share} || die - rm -d "${misplaced_usr}" || die - - python_fix_shebang "${ED}" - python_optimize - - readme.gentoo_create_doc - - find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die -} - -pkg_postinst() { - tmpfiles_process 389-ds-base.conf - - readme.gentoo_print_elog -} 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 +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-r1.ebuild b/net-news/newsboat/newsboat-2.34-r1.ebuild new file mode 100644 index 000000000000..cec9141d479a --- /dev/null +++ b/net-news/newsboat/newsboat-2.34-r1.ebuild @@ -0,0 +1,213 @@ +# Copyright 2017-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.1.1 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + autocfg@1.1.0 + backtrace@0.3.69 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.4.1 + block@0.1.6 + bumpalo@3.14.0 + byteorder@1.4.3 + cc@1.0.83 + cfg-if@1.0.0 + chrono@0.4.31 + codespan-reporting@0.11.1 + core-foundation-sys@0.8.4 + curl-sys@0.4.70+curl-8.5.0 + cxx-build@1.0.111 + cxx@1.0.111 + cxxbridge-flags@1.0.111 + cxxbridge-macro@1.0.111 + errno-dragonfly@0.1.2 + errno@0.3.3 + fastrand@2.0.1 + fnv@1.0.7 + form_urlencoded@1.2.1 + getrandom@0.2.10 + gettext-rs@0.7.0 + gettext-sys@0.21.3 + gimli@0.28.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.57 + idna@0.5.0 + js-sys@0.3.64 + lazy_static@1.4.0 + lexopt@0.3.0 + libc@0.2.151 + libm@0.2.7 + libz-sys@1.1.12 + link-cplusplus@1.0.9 + linux-raw-sys@0.4.10 + locale_config@0.3.0 + log@0.4.20 + malloc_buf@0.0.6 + md5@0.7.0 + memchr@2.6.3 + minimal-lexical@0.2.1 + miniz_oxide@0.7.1 + natord@1.0.9 + nom@7.1.3 + num-traits@0.2.16 + objc-foundation@0.1.1 + objc@0.2.7 + objc_id@0.1.1 + object@0.32.1 + once_cell@1.18.0 + percent-encoding@2.3.1 + pkg-config@0.3.27 + ppv-lite86@0.2.17 + proc-macro2@1.0.67 + proptest@1.2.0 + quick-error@1.2.3 + quote@1.0.33 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_xorshift@0.3.0 + redox_syscall@0.4.1 + regex-automata@0.3.8 + regex-syntax@0.6.29 + regex-syntax@0.7.5 + regex@1.9.5 + rustc-demangle@0.1.23 + rustix@0.38.21 + rusty-fork@0.3.0 + scratch@1.0.7 + section_testing@0.0.5 + syn@2.0.37 + temp-dir@0.1.11 + tempfile@3.8.1 + termcolor@1.3.0 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + unarray@0.1.4 + unicode-bidi@0.3.13 + unicode-ident@1.0.12 + unicode-normalization@0.1.22 + unicode-width@0.1.11 + url@2.5.0 + vcpkg@0.2.15 + wait-timeout@0.2.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.87 + wasm-bindgen-macro-support@0.2.87 + wasm-bindgen-macro@0.2.87 + wasm-bindgen-shared@0.2.87 + wasm-bindgen@0.2.87 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.48.0 + windows-targets@0.48.5 + windows@0.48.0 + 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 + 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" +HOMEPAGE="https://newsboat.org/ https://github.com/newsboat/newsboat" +SRC_URI=" + https://newsboat.org/releases/${PV}/${P}.tar.xz + https://github.com/zlamas/newsboat-docs/archive/refs/tags/${PV}.tar.gz -> ${P}-docs.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0 Boost-1.0 CC-BY-4.0 MIT" +# Dependent crate licenses +LICENSE+=" Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" + +COMMON_DEPEND=" + >=dev-db/sqlite-3.5:3 + >=dev-libs/json-c-0.11:= + >=dev-libs/stfl-0.21 + >=net-misc/curl-7.32.0[ssl] + dev-libs/libxml2 + sys-libs/ncurses:=[unicode(+)] +" +# Depend on new enough OpenSSL/GnuTLS libs to avoid providing header files of +# curl's default SSL backend in DEPEND. SSL libs are only called through +# libcurl, so don't depend on any slot. +RDEPEND="${COMMON_DEPEND} + || ( + >=dev-libs/openssl-1.1.0:* + >=net-libs/gnutls-2.11.0:* + net-libs/mbedtls:* + net-libs/rustls-ffi:* + ) +" +DEPEND="${COMMON_DEPEND} + sys-libs/zlib +" +BDEPEND=" + app-alternatives/awk + sys-devel/gettext + virtual/pkgconfig +" + +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/" \ + -e "s#^doc: .*#doc: doc/example-config#" \ + Makefile || die + + # Avoid running `curl-config` which does not work when cross-compiling. + # Don't define the HAVE_{OPENSSL,GCRYPT} macros, since they only guard code + # for older lib versions. + sed -i -e "s/^check_ssl_implementation$//g" config.sh || die + + local docdir="${WORKDIR}/${PN}-docs-${PV}" + mkdir doc/xhtml || die + mv "${docdir}"/*.1 doc || die + mv "${docdir}"/*.html doc/xhtml || die +} + +src_configure() { + # bug #877657 + if tc-is-gcc ; then + filter-lto + fi + + # Set up CXXFLAGS_FOR_BUILD among other (standard) env vars. + tc-export_build_env AR {BUILD_,}CXX PKG_CONFIG RANLIB + export CXX_FOR_BUILD="${BUILD_CXX}" + emake config +} + +src_compile() { + default +} + +src_test() { + export TMPDIR="${T}" + default +} + +src_install() { + emake DESTDIR="${D}" prefix="${EPREFIX}/usr" docdir="${EPREFIX}/usr/share/doc/${PF}" install +} diff --git a/net-news/newsboat/newsboat-2.34.ebuild b/net-news/newsboat/newsboat-2.34.ebuild deleted file mode 100644 index 00ce79f68b8e..000000000000 --- a/net-news/newsboat/newsboat-2.34.ebuild +++ /dev/null @@ -1,212 +0,0 @@ -# Copyright 2017-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.1.1 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - autocfg@1.1.0 - backtrace@0.3.69 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.4.1 - block@0.1.6 - bumpalo@3.14.0 - byteorder@1.4.3 - cc@1.0.83 - cfg-if@1.0.0 - chrono@0.4.31 - codespan-reporting@0.11.1 - core-foundation-sys@0.8.4 - curl-sys@0.4.70+curl-8.5.0 - cxx-build@1.0.111 - cxx@1.0.111 - cxxbridge-flags@1.0.111 - cxxbridge-macro@1.0.111 - errno-dragonfly@0.1.2 - errno@0.3.3 - fastrand@2.0.1 - fnv@1.0.7 - form_urlencoded@1.2.1 - getrandom@0.2.10 - gettext-rs@0.7.0 - gettext-sys@0.21.3 - gimli@0.28.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.57 - idna@0.5.0 - js-sys@0.3.64 - lazy_static@1.4.0 - lexopt@0.3.0 - libc@0.2.151 - libm@0.2.7 - libz-sys@1.1.12 - link-cplusplus@1.0.9 - linux-raw-sys@0.4.10 - locale_config@0.3.0 - log@0.4.20 - malloc_buf@0.0.6 - md5@0.7.0 - memchr@2.6.3 - minimal-lexical@0.2.1 - miniz_oxide@0.7.1 - natord@1.0.9 - nom@7.1.3 - num-traits@0.2.16 - objc-foundation@0.1.1 - objc@0.2.7 - objc_id@0.1.1 - object@0.32.1 - once_cell@1.18.0 - percent-encoding@2.3.1 - pkg-config@0.3.27 - ppv-lite86@0.2.17 - proc-macro2@1.0.67 - proptest@1.2.0 - quick-error@1.2.3 - quote@1.0.33 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_xorshift@0.3.0 - redox_syscall@0.4.1 - regex-automata@0.3.8 - regex-syntax@0.6.29 - regex-syntax@0.7.5 - regex@1.9.5 - rustc-demangle@0.1.23 - rustix@0.38.21 - rusty-fork@0.3.0 - scratch@1.0.7 - section_testing@0.0.5 - syn@2.0.37 - temp-dir@0.1.11 - tempfile@3.8.1 - termcolor@1.3.0 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - unarray@0.1.4 - unicode-bidi@0.3.13 - unicode-ident@1.0.12 - unicode-normalization@0.1.22 - unicode-width@0.1.11 - url@2.5.0 - vcpkg@0.2.15 - wait-timeout@0.2.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.87 - wasm-bindgen-macro-support@0.2.87 - wasm-bindgen-macro@0.2.87 - wasm-bindgen-shared@0.2.87 - wasm-bindgen@0.2.87 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.48.0 - windows-targets@0.48.5 - windows@0.48.0 - 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 - xdg@2.5.2 -" - -inherit cargo flag-o-matic toolchain-funcs xdg - -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 - https://github.com/zlamas/newsboat-docs/archive/refs/tags/${PV}.tar.gz -> ${P}-docs.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0 Boost-1.0 CC-BY-4.0 MIT" -# Dependent crate licenses -LICENSE+=" Unicode-DFS-2016" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" - -COMMON_DEPEND=" - >=dev-db/sqlite-3.5:3 - >=dev-libs/json-c-0.11:= - >=dev-libs/stfl-0.21 - >=net-misc/curl-7.32.0[ssl] - dev-libs/libxml2 - sys-libs/ncurses:=[unicode(+)] -" -# Depend on new enough OpenSSL/GnuTLS libs to avoid providing header files of -# curl's default SSL backend in DEPEND. SSL libs are only called through -# libcurl, so don't depend on any slot. -RDEPEND="${COMMON_DEPEND} - || ( - >=dev-libs/openssl-1.1.0:* - >=net-libs/gnutls-2.11.0:* - net-libs/mbedtls:* - net-libs/rustls-ffi:* - ) -" -DEPEND="${COMMON_DEPEND} - sys-libs/zlib -" -BDEPEND=" - app-alternatives/awk - sys-devel/gettext - virtual/pkgconfig - >=virtual/rust-1.74.0 -" - -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/" \ - -e "s#^doc: .*#doc: doc/example-config#" \ - Makefile || die - - # Avoid running `curl-config` which does not work when cross-compiling. - # Don't define the HAVE_{OPENSSL,GCRYPT} macros, since they only guard code - # for older lib versions. - sed -i -e "s/^check_ssl_implementation$//g" config.sh || die - - local docdir="${WORKDIR}/${PN}-docs-${PV}" - mkdir doc/xhtml || die - mv "${docdir}"/*.1 doc || die - mv "${docdir}"/*.html doc/xhtml || die -} - -src_configure() { - # bug #877657 - if tc-is-gcc ; then - filter-lto - fi - - # Set up CXXFLAGS_FOR_BUILD among other (standard) env vars. - tc-export_build_env AR {BUILD_,}CXX PKG_CONFIG RANLIB - export CXX_FOR_BUILD="${BUILD_CXX}" - emake config -} - -src_compile() { - default -} - -src_test() { - export TMPDIR="${T}" - default -} - -src_install() { - emake DESTDIR="${D}" prefix="${EPREFIX}/usr" docdir="${EPREFIX}/usr/share/doc/${PF}" install -} diff --git a/net-p2p/arti/arti-1.2.6-r1.ebuild b/net-p2p/arti/arti-1.2.6-r1.ebuild new file mode 100644 index 000000000000..0504b0193b9b --- /dev/null +++ b/net-p2p/arti/arti-1.2.6-r1.ebuild @@ -0,0 +1,611 @@ +# Copyright 2022-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 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + amplify@4.6.0 + amplify_derive@4.0.0 + amplify_num@0.5.2 + amplify_syn@2.0.1 + 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.86 + approx@0.5.1 + arbitrary@1.3.2 + arrayvec@0.7.4 + ascii@1.1.0 + assert-impl@0.1.3 + async-broadcast@0.7.1 + async-channel@1.9.0 + async-channel@2.3.1 + async-compression@0.4.12 + async-ctrlc@1.2.0 + async-executor@1.13.0 + async-global-executor@2.4.1 + async-io@1.13.0 + async-io@2.3.3 + async-lock@2.8.0 + async-lock@3.4.0 + async-native-tls@0.5.0 + async-process@1.8.1 + async-signal@0.2.9 + async-std@1.12.0 + async-task@4.7.1 + async-trait@0.1.81 + async_executors@0.7.0 + asynchronous-codec@0.7.0 + atomic-waker@1.1.2 + atomic@0.5.3 + atomic@0.6.0 + autocfg@1.3.0 + automod@1.0.14 + axum-core@0.3.4 + axum@0.6.20 + backtrace@0.3.71 + base16ct@0.2.0 + base32@0.5.1 + base64@0.22.1 + base64ct@1.6.0 + bitflags@1.3.2 + bitflags@2.6.0 + bitvec@1.0.1 + blake2@0.10.6 + blanket@0.3.0 + block-buffer@0.10.4 + blocking@1.6.1 + bounded-vec-deque@0.1.1 + bumpalo@3.16.0 + by_address@1.2.1 + bytemuck@1.16.3 + byteorder@1.5.0 + bytes@1.7.0 + c_str_macro@1.0.3 + cc@1.0.93 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + chrono@0.4.38 + cipher@0.4.4 + clap@4.5.13 + clap_builder@4.5.13 + clap_derive@4.5.13 + clap_lex@0.7.2 + coarsetime@0.1.34 + colorchoice@1.0.2 + concurrent-queue@2.5.0 + const-oid@0.9.6 + content_inspector@0.2.4 + convert_case@0.4.0 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + cpufeatures@0.2.12 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + ctr@0.9.2 + ctrlc@3.4.4 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.3 + darling@0.14.4 + darling@0.20.10 + darling_core@0.14.4 + darling_core@0.20.10 + darling_macro@0.14.4 + darling_macro@0.20.10 + data-encoding@2.6.0 + der@0.7.9 + deranged@0.3.11 + derive-adhoc-macros@0.7.3 + derive-adhoc@0.7.3 + derive-deftly-macros@0.14.2 + derive-deftly@0.14.2 + derive_arbitrary@1.3.2 + derive_builder_core_fork_arti@0.11.2 + derive_builder_fork_arti@0.11.2 + derive_builder_macro_fork_arti@0.11.2 + derive_more@0.99.18 + digest@0.10.7 + directories@5.0.1 + dirs-sys@0.4.1 + dirs@5.0.1 + displaydoc@0.2.5 + downcast-rs@1.2.1 + dsa@0.6.3 + dunce@1.0.4 + dyn-clone@1.0.17 + dynasm@2.0.0 + dynasmrt@2.0.0 + ecdsa@0.16.9 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + educe@0.4.23 + either@1.13.0 + elliptic-curve@0.13.8 + enum-as-inner@0.6.0 + enum-ordinalize@3.1.15 + equivalent@1.0.1 + erased-serde@0.4.5 + errno@0.3.9 + event-listener-strategy@0.5.2 + event-listener@2.5.3 + event-listener@3.1.0 + event-listener@5.3.1 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fast-socks5@0.9.6 + fastrand@1.9.0 + fastrand@2.1.0 + ff@0.13.0 + fiat-crypto@0.2.9 + figment@0.10.19 + filetime@0.2.23 + fixed-capacity-vec@1.0.1 + flate2@1.0.30 + float-cmp@0.9.0 + float-ord@0.3.2 + float_eq@1.0.1 + fluid-let@1.0.0 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fslock-arti-fork@0.2.0 + fslock@0.2.1 + funty@2.0.0 + futures-await-test-macro@0.3.0 + futures-await-test@0.3.0 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-lite@1.13.0 + futures-lite@2.3.0 + futures-macro@0.3.30 + futures-rustls@0.26.0 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generational-arena@0.2.9 + generic-array@0.14.7 + getrandom@0.2.15 + gimli@0.28.1 + glob-match@0.2.1 + glob@0.3.1 + gloo-timers@0.2.6 + group@0.13.0 + growable-bloom-filter@2.1.0 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.9.1 + heck@0.4.1 + heck@0.5.0 + hermit-abi@0.3.9 + hermit-abi@0.4.0 + hex-literal@0.4.1 + hex@0.4.3 + hickory-proto@0.24.1 + hkdf@0.12.4 + hmac@0.12.1 + hostname-validator@1.1.1 + http-body-util@0.1.2 + http-body@0.4.6 + http-body@1.0.1 + http@0.2.12 + http@1.1.0 + httparse@1.9.4 + httpdate@1.0.3 + humantime-serde@1.1.1 + humantime@2.1.0 + hyper-util@0.1.6 + hyper@0.14.30 + hyper@1.4.1 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + idna@0.4.0 + idna@0.5.0 + indexmap@1.9.3 + indexmap@2.3.0 + inotify-sys@0.1.5 + inotify@0.9.6 + inout@0.1.3 + instant@0.1.13 + inventory@0.3.15 + io-extras@0.18.2 + io-lifetimes@1.0.11 + io-lifetimes@2.0.3 + ipnet@2.9.0 + is_terminal_polyfill@1.70.1 + itertools@0.11.0 + itertools@0.13.0 + itoa@1.0.11 + jobserver@0.1.32 + js-sys@0.3.69 + k12@0.3.0 + keccak@0.1.5 + kqueue-sys@1.0.4 + kqueue@1.0.8 + kv-log-macro@1.0.7 + lazy_static@1.5.0 + libc@0.2.155 + libm@0.2.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + linux-raw-sys@0.3.8 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + lzma-sys@0.1.20 + matchers@0.1.0 + matchit@0.7.3 + matrixmultiply@0.3.9 + memchr@2.7.4 + memmap2@0.5.10 + memmap2@0.9.4 + merlin@3.0.0 + mime@0.3.17 + miniz_oxide@0.7.4 + mio@0.8.11 + mio@1.0.1 + nalgebra-macros@0.2.2 + nalgebra@0.32.6 + native-tls@0.2.12 + nix@0.28.0 + normalize-line-endings@0.3.0 + notify@6.1.1 + nu-ansi-term@0.46.0 + num-bigint-dig@0.8.4 + num-bigint@0.4.6 + num-complex@0.4.6 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.45 + num-rational@0.4.2 + num-traits@0.2.19 + num_enum@0.7.3 + num_enum_derive@0.7.3 + object@0.32.2 + once_cell@1.19.0 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-src@300.3.1+3.3.1 + openssl-sys@0.9.103 + openssl@0.10.66 + option-ext@0.2.0 + ordered-float@2.10.1 + os_pipe@1.2.0 + overload@0.1.1 + p256@0.13.2 + p384@0.13.0 + p521@0.13.3 + parking@2.2.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + pem-rfc7468@0.7.0 + percent-encoding@2.3.1 + permutohedron@0.2.4 + phf@0.11.2 + phf_generator@0.11.2 + phf_macros@0.11.2 + phf_shared@0.11.2 + pico-args@0.5.0 + pin-project-internal@1.1.5 + pin-project-lite@0.2.14 + pin-project@1.1.5 + pin-utils@0.1.0 + piper@0.2.3 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + polling@2.8.0 + polling@3.7.2 + postage@0.5.0 + powerfmt@0.2.0 + ppv-lite86@0.2.18 + primeorder@0.13.6 + priority-queue@2.0.3 + proc-macro-crate@1.3.1 + proc-macro-crate@3.1.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.86 + pwd-grp@0.1.1 + quote@1.0.36 + radium@0.7.0 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rangemap@1.5.1 + rawpointer@0.2.1 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_syscall@0.5.3 + redox_users@0.4.5 + regex-automata@0.1.10 + regex-automata@0.4.7 + regex-syntax@0.6.29 + regex-syntax@0.8.4 + regex@1.10.5 + rfc6979@0.4.0 + ring@0.16.20 + ring@0.17.8 + rlimit@0.10.1 + rmp-serde@1.3.0 + rmp@0.8.14 + rsa@0.9.6 + rusqlite@0.31.0 + rustc-demangle@0.1.24 + rustc_version@0.4.0 + rustix@0.37.27 + rustix@0.38.34 + rustls-pki-types@1.7.0 + rustls-webpki@0.102.6 + rustls@0.23.12 + rustversion@1.0.17 + ryu@1.0.18 + safe_arch@0.7.2 + same-file@1.0.6 + sanitize-filename@0.5.0 + scc@2.1.6 + schannel@0.1.23 + scopeguard@1.2.0 + sdd@2.1.0 + sec1@0.7.3 + secmem-proc@0.3.3 + security-framework-sys@2.11.1 + security-framework@2.11.1 + semver@1.0.23 + serde-value@0.7.0 + serde@1.0.204 + serde_bytes@0.11.15 + serde_derive@1.0.204 + serde_ignored@0.1.10 + serde_json@1.0.121 + serde_path_to_error@0.1.16 + serde_repr@0.1.19 + serde_spanned@0.6.7 + serde_test@1.0.176 + serde_urlencoded@0.7.1 + serde_with@3.9.0 + serde_with_macros@3.9.0 + serial_test@3.1.1 + serial_test_derive@3.1.1 + sha1-asm@0.5.3 + sha1@0.10.6 + sha2@0.10.8 + sha3@0.10.8 + sharded-slab@0.1.7 + shellexpand@3.1.0 + shlex@1.3.0 + signal-hook-async-std@0.2.2 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + signature@2.2.0 + simba@0.8.1 + similar@2.6.0 + simple_asn1@0.6.2 + siphasher@0.3.11 + slab@0.4.9 + slotmap@1.0.7 + smallvec@1.13.2 + snapbox-macros@0.3.10 + snapbox@0.6.16 + socket2@0.4.10 + socket2@0.5.7 + socketpair@0.19.5 + spin@0.5.2 + spin@0.9.8 + spki@0.7.3 + ssh-cipher@0.2.0 + ssh-encoding@0.2.0 + ssh-key@0.6.6 + static_assertions@1.1.0 + statrs@0.17.1 + strsim@0.10.0 + strsim@0.11.1 + strum@0.25.0 + strum@0.26.3 + strum_macros@0.25.3 + strum_macros@0.26.4 + subtle@2.6.1 + syn@1.0.109 + syn@2.0.72 + sync_wrapper@0.1.2 + tap@1.0.1 + tempfile@3.10.1 + terminal_size@0.3.0 + thiserror-impl@1.0.63 + thiserror@1.0.63 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinystr@0.7.6 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tokio-macros@2.4.0 + tokio-native-tls@0.3.1 + tokio-socks@0.5.2 + tokio-stream@0.1.15 + tokio-util@0.7.11 + tokio@1.39.2 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.19.15 + toml_edit@0.21.1 + toml_edit@0.22.20 + tower-layer@0.3.2 + tower-service@0.3.2 + tower@0.4.13 + tracing-appender@0.2.3 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-journald@0.3.0 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing-test-macro@0.2.5 + tracing-test@0.2.5 + tracing@0.1.40 + try-lock@0.2.5 + trycmd@0.15.6 + typed-index-collections@3.1.0 + typeid@1.0.0 + typenum@1.17.0 + typetag-impl@0.2.17 + typetag@0.2.17 + uncased@0.9.10 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + untrusted@0.7.1 + untrusted@0.9.0 + url@2.5.2 + utf8parse@0.2.2 + uuid@1.10.0 + valuable@0.1.0 + value-bag@1.9.0 + vcpkg@0.2.15 + version_check@0.9.5 + visibility@0.1.0 + visible@0.0.1 + void@1.0.2 + wait-timeout@0.2.0 + waker-fn@1.2.0 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasix@0.12.21 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + weak-table@0.3.2 + web-sys@0.3.69 + wide@0.7.26 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + 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-targets@0.48.5 + windows-targets@0.52.6 + windows@0.52.0 + 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 + winnow@0.5.40 + winnow@0.6.18 + wyz@0.5.1 + x25519-dalek@2.0.1 + x509-signature@0.5.0 + xxhash-rust@0.8.12 + xz2@0.1.7 + zerocopy-derive@0.6.6 + zerocopy-derive@0.7.35 + zerocopy@0.6.6 + zerocopy@0.7.35 + zeroize@1.8.1 + zeroize_derive@1.4.2 + zstd-safe@7.2.0 + zstd-sys@2.0.12+zstd.1.5.6 + zstd@0.13.2 +" + +inherit cargo + +MY_P="${PN}-${PN}-v${PV}" + +DESCRIPTION="An implementation of Tor, in Rust." +HOMEPAGE="https://gitlab.torproject.org/tpo/core/arti/" + +if [[ "${PV}" == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.torproject.org/tpo/core/arti" +else + SRC_URI="https://gitlab.torproject.org/tpo/core/${PN}/-/archive/${PN}-v${PV}/${PN}-${PN}-v${PV}.tar.bz2 -> ${P}.tar.bz2 + ${CARGO_CRATE_URIS}" + KEYWORDS="~amd64" + S="${WORKDIR}/${MY_P}" +fi + +LICENSE="MIT Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-3.0 + Unicode-DFS-2016 Unlicense ZLIB +" +SLOT="0" + +DEPEND="app-arch/xz-utils + app-arch/zstd:= + dev-db/sqlite:3 + dev-libs/openssl:=" +RDEPEND="${DEPEND}" + +QA_FLAGS_IGNORED="usr/bin/arti" + +src_unpack() { + if [[ "${PV}" == *9999 ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + export ZSTD_SYS_USE_PKG_CONFIG=1 + for crate in crates/*; do + pushd "${crate}" || die + cargo_src_compile + popd >/dev/null || die + done +} + +src_install() { + pushd crates/arti >/dev/null || die + + cargo_src_install + newdoc src/arti-example-config.toml arti.toml + + popd >/dev/null || die + + dodoc -r doc/* +} diff --git a/net-p2p/arti/arti-1.2.6.ebuild b/net-p2p/arti/arti-1.2.6.ebuild deleted file mode 100644 index 0504b0193b9b..000000000000 --- a/net-p2p/arti/arti-1.2.6.ebuild +++ /dev/null @@ -1,611 +0,0 @@ -# Copyright 2022-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 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - amplify@4.6.0 - amplify_derive@4.0.0 - amplify_num@0.5.2 - amplify_syn@2.0.1 - 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.86 - approx@0.5.1 - arbitrary@1.3.2 - arrayvec@0.7.4 - ascii@1.1.0 - assert-impl@0.1.3 - async-broadcast@0.7.1 - async-channel@1.9.0 - async-channel@2.3.1 - async-compression@0.4.12 - async-ctrlc@1.2.0 - async-executor@1.13.0 - async-global-executor@2.4.1 - async-io@1.13.0 - async-io@2.3.3 - async-lock@2.8.0 - async-lock@3.4.0 - async-native-tls@0.5.0 - async-process@1.8.1 - async-signal@0.2.9 - async-std@1.12.0 - async-task@4.7.1 - async-trait@0.1.81 - async_executors@0.7.0 - asynchronous-codec@0.7.0 - atomic-waker@1.1.2 - atomic@0.5.3 - atomic@0.6.0 - autocfg@1.3.0 - automod@1.0.14 - axum-core@0.3.4 - axum@0.6.20 - backtrace@0.3.71 - base16ct@0.2.0 - base32@0.5.1 - base64@0.22.1 - base64ct@1.6.0 - bitflags@1.3.2 - bitflags@2.6.0 - bitvec@1.0.1 - blake2@0.10.6 - blanket@0.3.0 - block-buffer@0.10.4 - blocking@1.6.1 - bounded-vec-deque@0.1.1 - bumpalo@3.16.0 - by_address@1.2.1 - bytemuck@1.16.3 - byteorder@1.5.0 - bytes@1.7.0 - c_str_macro@1.0.3 - cc@1.0.93 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - chrono@0.4.38 - cipher@0.4.4 - clap@4.5.13 - clap_builder@4.5.13 - clap_derive@4.5.13 - clap_lex@0.7.2 - coarsetime@0.1.34 - colorchoice@1.0.2 - concurrent-queue@2.5.0 - const-oid@0.9.6 - content_inspector@0.2.4 - convert_case@0.4.0 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - cpufeatures@0.2.12 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crunchy@0.2.2 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - ctr@0.9.2 - ctrlc@3.4.4 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.3 - darling@0.14.4 - darling@0.20.10 - darling_core@0.14.4 - darling_core@0.20.10 - darling_macro@0.14.4 - darling_macro@0.20.10 - data-encoding@2.6.0 - der@0.7.9 - deranged@0.3.11 - derive-adhoc-macros@0.7.3 - derive-adhoc@0.7.3 - derive-deftly-macros@0.14.2 - derive-deftly@0.14.2 - derive_arbitrary@1.3.2 - derive_builder_core_fork_arti@0.11.2 - derive_builder_fork_arti@0.11.2 - derive_builder_macro_fork_arti@0.11.2 - derive_more@0.99.18 - digest@0.10.7 - directories@5.0.1 - dirs-sys@0.4.1 - dirs@5.0.1 - displaydoc@0.2.5 - downcast-rs@1.2.1 - dsa@0.6.3 - dunce@1.0.4 - dyn-clone@1.0.17 - dynasm@2.0.0 - dynasmrt@2.0.0 - ecdsa@0.16.9 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - educe@0.4.23 - either@1.13.0 - elliptic-curve@0.13.8 - enum-as-inner@0.6.0 - enum-ordinalize@3.1.15 - equivalent@1.0.1 - erased-serde@0.4.5 - errno@0.3.9 - event-listener-strategy@0.5.2 - event-listener@2.5.3 - event-listener@3.1.0 - event-listener@5.3.1 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fast-socks5@0.9.6 - fastrand@1.9.0 - fastrand@2.1.0 - ff@0.13.0 - fiat-crypto@0.2.9 - figment@0.10.19 - filetime@0.2.23 - fixed-capacity-vec@1.0.1 - flate2@1.0.30 - float-cmp@0.9.0 - float-ord@0.3.2 - float_eq@1.0.1 - fluid-let@1.0.0 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fslock-arti-fork@0.2.0 - fslock@0.2.1 - funty@2.0.0 - futures-await-test-macro@0.3.0 - futures-await-test@0.3.0 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-lite@1.13.0 - futures-lite@2.3.0 - futures-macro@0.3.30 - futures-rustls@0.26.0 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - generational-arena@0.2.9 - generic-array@0.14.7 - getrandom@0.2.15 - gimli@0.28.1 - glob-match@0.2.1 - glob@0.3.1 - gloo-timers@0.2.6 - group@0.13.0 - growable-bloom-filter@2.1.0 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashlink@0.9.1 - heck@0.4.1 - heck@0.5.0 - hermit-abi@0.3.9 - hermit-abi@0.4.0 - hex-literal@0.4.1 - hex@0.4.3 - hickory-proto@0.24.1 - hkdf@0.12.4 - hmac@0.12.1 - hostname-validator@1.1.1 - http-body-util@0.1.2 - http-body@0.4.6 - http-body@1.0.1 - http@0.2.12 - http@1.1.0 - httparse@1.9.4 - httpdate@1.0.3 - humantime-serde@1.1.1 - humantime@2.1.0 - hyper-util@0.1.6 - hyper@0.14.30 - hyper@1.4.1 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - idna@0.4.0 - idna@0.5.0 - indexmap@1.9.3 - indexmap@2.3.0 - inotify-sys@0.1.5 - inotify@0.9.6 - inout@0.1.3 - instant@0.1.13 - inventory@0.3.15 - io-extras@0.18.2 - io-lifetimes@1.0.11 - io-lifetimes@2.0.3 - ipnet@2.9.0 - is_terminal_polyfill@1.70.1 - itertools@0.11.0 - itertools@0.13.0 - itoa@1.0.11 - jobserver@0.1.32 - js-sys@0.3.69 - k12@0.3.0 - keccak@0.1.5 - kqueue-sys@1.0.4 - kqueue@1.0.8 - kv-log-macro@1.0.7 - lazy_static@1.5.0 - libc@0.2.155 - libm@0.2.8 - libredox@0.1.3 - libsqlite3-sys@0.28.0 - linux-raw-sys@0.3.8 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - lzma-sys@0.1.20 - matchers@0.1.0 - matchit@0.7.3 - matrixmultiply@0.3.9 - memchr@2.7.4 - memmap2@0.5.10 - memmap2@0.9.4 - merlin@3.0.0 - mime@0.3.17 - miniz_oxide@0.7.4 - mio@0.8.11 - mio@1.0.1 - nalgebra-macros@0.2.2 - nalgebra@0.32.6 - native-tls@0.2.12 - nix@0.28.0 - normalize-line-endings@0.3.0 - notify@6.1.1 - nu-ansi-term@0.46.0 - num-bigint-dig@0.8.4 - num-bigint@0.4.6 - num-complex@0.4.6 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.45 - num-rational@0.4.2 - num-traits@0.2.19 - num_enum@0.7.3 - num_enum_derive@0.7.3 - object@0.32.2 - once_cell@1.19.0 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-src@300.3.1+3.3.1 - openssl-sys@0.9.103 - openssl@0.10.66 - option-ext@0.2.0 - ordered-float@2.10.1 - os_pipe@1.2.0 - overload@0.1.1 - p256@0.13.2 - p384@0.13.0 - p521@0.13.3 - parking@2.2.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - paste@1.0.15 - pem-rfc7468@0.7.0 - percent-encoding@2.3.1 - permutohedron@0.2.4 - phf@0.11.2 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.11.2 - pico-args@0.5.0 - pin-project-internal@1.1.5 - pin-project-lite@0.2.14 - pin-project@1.1.5 - pin-utils@0.1.0 - piper@0.2.3 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - polling@2.8.0 - polling@3.7.2 - postage@0.5.0 - powerfmt@0.2.0 - ppv-lite86@0.2.18 - primeorder@0.13.6 - priority-queue@2.0.3 - proc-macro-crate@1.3.1 - proc-macro-crate@3.1.0 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.86 - pwd-grp@0.1.1 - quote@1.0.36 - radium@0.7.0 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rangemap@1.5.1 - rawpointer@0.2.1 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_syscall@0.5.3 - redox_users@0.4.5 - regex-automata@0.1.10 - regex-automata@0.4.7 - regex-syntax@0.6.29 - regex-syntax@0.8.4 - regex@1.10.5 - rfc6979@0.4.0 - ring@0.16.20 - ring@0.17.8 - rlimit@0.10.1 - rmp-serde@1.3.0 - rmp@0.8.14 - rsa@0.9.6 - rusqlite@0.31.0 - rustc-demangle@0.1.24 - rustc_version@0.4.0 - rustix@0.37.27 - rustix@0.38.34 - rustls-pki-types@1.7.0 - rustls-webpki@0.102.6 - rustls@0.23.12 - rustversion@1.0.17 - ryu@1.0.18 - safe_arch@0.7.2 - same-file@1.0.6 - sanitize-filename@0.5.0 - scc@2.1.6 - schannel@0.1.23 - scopeguard@1.2.0 - sdd@2.1.0 - sec1@0.7.3 - secmem-proc@0.3.3 - security-framework-sys@2.11.1 - security-framework@2.11.1 - semver@1.0.23 - serde-value@0.7.0 - serde@1.0.204 - serde_bytes@0.11.15 - serde_derive@1.0.204 - serde_ignored@0.1.10 - serde_json@1.0.121 - serde_path_to_error@0.1.16 - serde_repr@0.1.19 - serde_spanned@0.6.7 - serde_test@1.0.176 - serde_urlencoded@0.7.1 - serde_with@3.9.0 - serde_with_macros@3.9.0 - serial_test@3.1.1 - serial_test_derive@3.1.1 - sha1-asm@0.5.3 - sha1@0.10.6 - sha2@0.10.8 - sha3@0.10.8 - sharded-slab@0.1.7 - shellexpand@3.1.0 - shlex@1.3.0 - signal-hook-async-std@0.2.2 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - signature@2.2.0 - simba@0.8.1 - similar@2.6.0 - simple_asn1@0.6.2 - siphasher@0.3.11 - slab@0.4.9 - slotmap@1.0.7 - smallvec@1.13.2 - snapbox-macros@0.3.10 - snapbox@0.6.16 - socket2@0.4.10 - socket2@0.5.7 - socketpair@0.19.5 - spin@0.5.2 - spin@0.9.8 - spki@0.7.3 - ssh-cipher@0.2.0 - ssh-encoding@0.2.0 - ssh-key@0.6.6 - static_assertions@1.1.0 - statrs@0.17.1 - strsim@0.10.0 - strsim@0.11.1 - strum@0.25.0 - strum@0.26.3 - strum_macros@0.25.3 - strum_macros@0.26.4 - subtle@2.6.1 - syn@1.0.109 - syn@2.0.72 - sync_wrapper@0.1.2 - tap@1.0.1 - tempfile@3.10.1 - terminal_size@0.3.0 - thiserror-impl@1.0.63 - thiserror@1.0.63 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinystr@0.7.6 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - tokio-macros@2.4.0 - tokio-native-tls@0.3.1 - tokio-socks@0.5.2 - tokio-stream@0.1.15 - tokio-util@0.7.11 - tokio@1.39.2 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.19.15 - toml_edit@0.21.1 - toml_edit@0.22.20 - tower-layer@0.3.2 - tower-service@0.3.2 - tower@0.4.13 - tracing-appender@0.2.3 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-journald@0.3.0 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing-test-macro@0.2.5 - tracing-test@0.2.5 - tracing@0.1.40 - try-lock@0.2.5 - trycmd@0.15.6 - typed-index-collections@3.1.0 - typeid@1.0.0 - typenum@1.17.0 - typetag-impl@0.2.17 - typetag@0.2.17 - uncased@0.9.10 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - untrusted@0.7.1 - untrusted@0.9.0 - url@2.5.2 - utf8parse@0.2.2 - uuid@1.10.0 - valuable@0.1.0 - value-bag@1.9.0 - vcpkg@0.2.15 - version_check@0.9.5 - visibility@0.1.0 - visible@0.0.1 - void@1.0.2 - wait-timeout@0.2.0 - waker-fn@1.2.0 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasix@0.12.21 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - weak-table@0.3.2 - web-sys@0.3.69 - wide@0.7.26 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - 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-targets@0.48.5 - windows-targets@0.52.6 - windows@0.52.0 - 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 - winnow@0.5.40 - winnow@0.6.18 - wyz@0.5.1 - x25519-dalek@2.0.1 - x509-signature@0.5.0 - xxhash-rust@0.8.12 - xz2@0.1.7 - zerocopy-derive@0.6.6 - zerocopy-derive@0.7.35 - zerocopy@0.6.6 - zerocopy@0.7.35 - zeroize@1.8.1 - zeroize_derive@1.4.2 - zstd-safe@7.2.0 - zstd-sys@2.0.12+zstd.1.5.6 - zstd@0.13.2 -" - -inherit cargo - -MY_P="${PN}-${PN}-v${PV}" - -DESCRIPTION="An implementation of Tor, in Rust." -HOMEPAGE="https://gitlab.torproject.org/tpo/core/arti/" - -if [[ "${PV}" == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.torproject.org/tpo/core/arti" -else - SRC_URI="https://gitlab.torproject.org/tpo/core/${PN}/-/archive/${PN}-v${PV}/${PN}-${PN}-v${PV}.tar.bz2 -> ${P}.tar.bz2 - ${CARGO_CRATE_URIS}" - KEYWORDS="~amd64" - S="${WORKDIR}/${MY_P}" -fi - -LICENSE="MIT Apache-2.0" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-3.0 - Unicode-DFS-2016 Unlicense ZLIB -" -SLOT="0" - -DEPEND="app-arch/xz-utils - app-arch/zstd:= - dev-db/sqlite:3 - dev-libs/openssl:=" -RDEPEND="${DEPEND}" - -QA_FLAGS_IGNORED="usr/bin/arti" - -src_unpack() { - if [[ "${PV}" == *9999 ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_compile() { - export ZSTD_SYS_USE_PKG_CONFIG=1 - for crate in crates/*; do - pushd "${crate}" || die - cargo_src_compile - popd >/dev/null || die - done -} - -src_install() { - pushd crates/arti >/dev/null || die - - cargo_src_install - newdoc src/arti-example-config.toml arti.toml - - popd >/dev/null || die - - dodoc -r doc/* -} diff --git a/net-p2p/arti/arti-1.2.7-r1.ebuild b/net-p2p/arti/arti-1.2.7-r1.ebuild new file mode 100644 index 000000000000..8e9690f4332a --- /dev/null +++ b/net-p2p/arti/arti-1.2.7-r1.ebuild @@ -0,0 +1,609 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.22.0 + adler2@2.0.0 + adler@1.0.2 + aes@0.8.4 + ahash@0.8.11 + aho-corasick@1.1.3 + amplify@4.7.0 + amplify_derive@4.0.1 + amplify_num@0.5.3 + amplify_syn@2.0.1 + 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.86 + approx@0.5.1 + arbitrary@1.3.2 + arrayvec@0.7.6 + ascii@1.1.0 + assert-impl@0.1.3 + async-broadcast@0.7.1 + async-channel@1.9.0 + async-channel@2.3.1 + async-compression@0.4.12 + async-ctrlc@1.2.0 + async-executor@1.13.0 + async-global-executor@2.4.1 + async-io@1.13.0 + async-io@2.3.4 + async-lock@2.8.0 + async-lock@3.4.0 + async-native-tls@0.5.0 + async-process@1.8.1 + async-signal@0.2.10 + async-std@1.12.0 + async-task@4.7.1 + async-trait@0.1.82 + async_executors@0.7.0 + asynchronous-codec@0.7.0 + atomic-waker@1.1.2 + atomic@0.5.3 + atomic@0.6.0 + autocfg@1.3.0 + automod@1.0.14 + axum-core@0.3.4 + axum@0.6.20 + backtrace@0.3.73 + base16ct@0.2.0 + base32@0.5.1 + base64@0.22.1 + base64ct@1.6.0 + bitflags@1.3.2 + bitflags@2.6.0 + bitvec@1.0.1 + blake2@0.10.6 + blanket@0.3.0 + block-buffer@0.10.4 + blocking@1.6.1 + bounded-vec-deque@0.1.1 + bumpalo@3.16.0 + by_address@1.2.1 + bytemuck@1.17.1 + byteorder@1.5.0 + bytes@1.7.1 + c_str_macro@1.0.3 + cc@1.1.15 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + chrono@0.4.38 + cipher@0.4.4 + clap@4.5.16 + clap_builder@4.5.15 + clap_derive@4.5.13 + clap_lex@0.7.2 + coarsetime@0.1.34 + colorchoice@1.0.2 + concurrent-queue@2.5.0 + const-oid@0.9.6 + content_inspector@0.2.4 + convert_case@0.4.0 + core-foundation-sys@0.8.7 + core-foundation@0.9.4 + cpufeatures@0.2.13 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crunchy@0.2.2 + crypto-bigint@0.5.5 + crypto-common@0.1.6 + ctr@0.9.2 + ctrlc@3.4.5 + curve25519-dalek-derive@0.1.1 + curve25519-dalek@4.1.3 + darling@0.14.4 + darling@0.20.10 + darling_core@0.14.4 + darling_core@0.20.10 + darling_macro@0.14.4 + darling_macro@0.20.10 + data-encoding@2.6.0 + der@0.7.9 + deranged@0.3.11 + derive-adhoc-macros@0.7.3 + derive-adhoc@0.7.3 + derive-deftly-macros@0.14.2 + derive-deftly@0.14.2 + derive_arbitrary@1.3.2 + derive_builder_core_fork_arti@0.11.2 + derive_builder_fork_arti@0.11.2 + derive_builder_macro_fork_arti@0.11.2 + derive_more@0.99.18 + digest@0.10.7 + directories@5.0.1 + dirs-sys@0.4.1 + dirs@5.0.1 + displaydoc@0.2.5 + downcast-rs@1.2.1 + dsa@0.6.3 + dunce@1.0.5 + dyn-clone@1.0.17 + dynasm@2.0.0 + dynasmrt@2.0.0 + ecdsa@0.16.9 + ed25519-dalek@2.1.1 + ed25519@2.2.3 + educe@0.4.23 + either@1.13.0 + elliptic-curve@0.13.8 + enum-as-inner@0.6.0 + enum-ordinalize@3.1.15 + equivalent@1.0.1 + erased-serde@0.4.5 + errno@0.3.9 + event-listener-strategy@0.5.2 + event-listener@2.5.3 + event-listener@3.1.0 + event-listener@5.3.1 + fallible-iterator@0.3.0 + fallible-streaming-iterator@0.1.9 + fast-socks5@0.9.6 + fastrand@1.9.0 + fastrand@2.1.1 + ff@0.13.0 + fiat-crypto@0.2.9 + figment@0.10.19 + filetime@0.2.25 + fixed-capacity-vec@1.0.1 + flate2@1.0.33 + float-cmp@0.9.0 + float-ord@0.3.2 + float_eq@1.0.1 + fluid-let@1.0.0 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + fslock-arti-fork@0.2.0 + fslock@0.2.1 + funty@2.0.0 + futures-await-test-macro@0.3.0 + futures-await-test@0.3.0 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-lite@1.13.0 + futures-lite@2.3.0 + futures-macro@0.3.30 + futures-rustls@0.26.0 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generic-array@0.14.7 + getrandom@0.2.15 + gimli@0.29.0 + glob-match@0.2.1 + glob@0.3.1 + gloo-timers@0.2.6 + group@0.13.0 + growable-bloom-filter@2.1.0 + hashbrown@0.12.3 + hashbrown@0.14.5 + hashlink@0.9.1 + heck@0.4.1 + heck@0.5.0 + hermit-abi@0.3.9 + hermit-abi@0.4.0 + hex-literal@0.4.1 + hex@0.4.3 + hickory-proto@0.24.1 + hkdf@0.12.4 + hmac@0.12.1 + hostname-validator@1.1.1 + http-body-util@0.1.2 + http-body@0.4.6 + http-body@1.0.1 + http@0.2.12 + http@1.1.0 + httparse@1.9.4 + httpdate@1.0.3 + humantime-serde@1.1.1 + humantime@2.1.0 + hyper-util@0.1.7 + hyper@0.14.30 + hyper@1.4.1 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + idna@0.4.0 + idna@0.5.0 + indexmap@1.9.3 + indexmap@2.5.0 + inotify-sys@0.1.5 + inotify@0.9.6 + inout@0.1.3 + instant@0.1.13 + inventory@0.3.15 + io-extras@0.18.2 + io-lifetimes@1.0.11 + io-lifetimes@2.0.3 + ipnet@2.9.0 + is_terminal_polyfill@1.70.1 + itertools@0.11.0 + itertools@0.13.0 + itoa@1.0.11 + jobserver@0.1.32 + js-sys@0.3.70 + k12@0.3.0 + keccak@0.1.5 + kqueue-sys@1.0.4 + kqueue@1.0.8 + kv-log-macro@1.0.7 + lazy_static@1.5.0 + libc@0.2.158 + libm@0.2.8 + libredox@0.1.3 + libsqlite3-sys@0.28.0 + linux-raw-sys@0.3.8 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + lzma-sys@0.1.20 + matchers@0.1.0 + matchit@0.7.3 + matrixmultiply@0.3.9 + memchr@2.7.4 + memmap2@0.5.10 + memmap2@0.9.4 + merlin@3.0.0 + mime@0.3.17 + miniz_oxide@0.7.4 + miniz_oxide@0.8.0 + mio@0.8.11 + mio@1.0.2 + nalgebra-macros@0.2.2 + nalgebra@0.32.6 + native-tls@0.2.12 + nix@0.29.0 + normalize-line-endings@0.3.0 + notify@6.1.1 + nu-ansi-term@0.46.0 + num-bigint-dig@0.8.4 + num-bigint@0.4.6 + num-complex@0.4.6 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.45 + num-rational@0.4.2 + num-traits@0.2.19 + num_enum@0.7.3 + num_enum_derive@0.7.3 + object@0.36.4 + once_cell@1.19.0 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-src@300.3.1+3.3.1 + openssl-sys@0.9.103 + openssl@0.10.66 + option-ext@0.2.0 + ordered-float@2.10.1 + os_pipe@1.2.1 + overload@0.1.1 + p256@0.13.2 + p384@0.13.0 + p521@0.13.3 + parking@2.2.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + pem-rfc7468@0.7.0 + percent-encoding@2.3.1 + permutohedron@0.2.4 + phf@0.11.2 + phf_generator@0.11.2 + phf_macros@0.11.2 + phf_shared@0.11.2 + pico-args@0.5.0 + pin-project-internal@1.1.5 + pin-project-lite@0.2.14 + pin-project@1.1.5 + pin-utils@0.1.0 + piper@0.2.4 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + polling@2.8.0 + polling@3.7.3 + postage@0.5.0 + powerfmt@0.2.0 + ppv-lite86@0.2.20 + primeorder@0.13.6 + priority-queue@2.1.0 + proc-macro-crate@1.3.1 + proc-macro-crate@3.2.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.86 + pwd-grp@0.1.1 + quote@1.0.37 + radium@0.7.0 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rand_distr@0.4.3 + rangemap@1.5.1 + rawpointer@0.2.1 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.3 + redox_users@0.4.6 + regex-automata@0.1.10 + regex-automata@0.4.7 + regex-syntax@0.6.29 + regex-syntax@0.8.4 + regex@1.10.6 + rfc6979@0.4.0 + ring@0.16.20 + ring@0.17.8 + rlimit@0.10.2 + rmp-serde@1.3.0 + rmp@0.8.14 + rsa@0.9.6 + rusqlite@0.31.0 + rustc-demangle@0.1.24 + rustc_version@0.4.1 + rustix@0.37.27 + rustix@0.38.35 + rustls-pki-types@1.8.0 + rustls-webpki@0.102.7 + rustls@0.23.12 + rustversion@1.0.17 + ryu@1.0.18 + safe_arch@0.7.2 + same-file@1.0.6 + sanitize-filename@0.5.0 + scc@2.1.16 + schannel@0.1.23 + scopeguard@1.2.0 + sdd@3.0.2 + sec1@0.7.3 + secmem-proc@0.3.3 + security-framework-sys@2.11.1 + security-framework@2.11.1 + semver@1.0.23 + serde-value@0.7.0 + serde@1.0.209 + serde_bytes@0.11.15 + serde_derive@1.0.209 + serde_ignored@0.1.10 + serde_json@1.0.127 + serde_path_to_error@0.1.16 + serde_repr@0.1.19 + serde_spanned@0.6.7 + serde_test@1.0.177 + serde_urlencoded@0.7.1 + serde_with@3.9.0 + serde_with_macros@3.9.0 + serial_test@3.1.1 + serial_test_derive@3.1.1 + sha1-asm@0.5.3 + sha1@0.10.6 + sha2@0.10.8 + sha3@0.10.8 + sharded-slab@0.1.7 + shellexpand@3.1.0 + shlex@1.3.0 + signal-hook-async-std@0.2.2 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + signature@2.2.0 + simba@0.8.1 + similar@2.6.0 + simple_asn1@0.6.2 + siphasher@0.3.11 + slab@0.4.9 + slotmap@1.0.7 + smallvec@1.13.2 + snapbox-macros@0.3.10 + snapbox@0.6.17 + socket2@0.4.10 + socket2@0.5.7 + socketpair@0.19.5 + spin@0.5.2 + spin@0.9.8 + spki@0.7.3 + ssh-cipher@0.2.0 + ssh-encoding@0.2.0 + ssh-key@0.6.6 + static_assertions@1.1.0 + statrs@0.17.1 + strsim@0.10.0 + strsim@0.11.1 + strum@0.25.0 + strum@0.26.3 + strum_macros@0.25.3 + strum_macros@0.26.4 + subtle@2.6.1 + syn@1.0.109 + syn@2.0.77 + sync_wrapper@0.1.2 + tap@1.0.1 + tempfile@3.12.0 + terminal_size@0.3.0 + thiserror-impl@1.0.63 + thiserror@1.0.63 + thread_local@1.1.8 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tiny-keccak@2.0.2 + tinystr@0.7.6 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tokio-macros@2.4.0 + tokio-native-tls@0.3.1 + tokio-socks@0.5.2 + tokio-stream@0.1.15 + tokio-util@0.7.11 + tokio@1.40.0 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.19.15 + toml_edit@0.22.20 + tower-layer@0.3.3 + tower-service@0.3.3 + tower@0.4.13 + tracing-appender@0.2.3 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-journald@0.3.0 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing-test-macro@0.2.5 + tracing-test@0.2.5 + tracing@0.1.40 + try-lock@0.2.5 + trycmd@0.15.7 + typed-index-collections@3.1.0 + typeid@1.0.2 + typenum@1.17.0 + typetag-impl@0.2.18 + typetag@0.2.18 + uncased@0.9.10 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + untrusted@0.7.1 + untrusted@0.9.0 + url@2.5.2 + utf8parse@0.2.2 + uuid@1.10.0 + valuable@0.1.0 + value-bag@1.9.0 + vcpkg@0.2.15 + version_check@0.9.5 + visibility@0.1.1 + visible@0.0.1 + void@1.0.2 + wait-timeout@0.2.0 + waker-fn@1.2.0 + walkdir@2.5.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasix@0.12.21 + wasm-bindgen-backend@0.2.93 + wasm-bindgen-futures@0.4.43 + wasm-bindgen-macro-support@0.2.93 + wasm-bindgen-macro@0.2.93 + wasm-bindgen-shared@0.2.93 + wasm-bindgen@0.2.93 + weak-table@0.3.2 + web-sys@0.3.70 + wide@0.7.28 + 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@0.52.0 + 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 + winnow@0.5.40 + winnow@0.6.18 + wyz@0.5.1 + x25519-dalek@2.0.1 + x509-signature@0.5.0 + xxhash-rust@0.8.12 + xz2@0.1.7 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zeroize@1.8.1 + zeroize_derive@1.4.2 + zstd-safe@7.2.1 + zstd-sys@2.0.13+zstd.1.5.6 + zstd@0.13.2 +" + +inherit cargo + +MY_P="${PN}-${PN}-v${PV}" + +DESCRIPTION="An implementation of Tor, in Rust." +HOMEPAGE="https://gitlab.torproject.org/tpo/core/arti/" + +if [[ "${PV}" == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.torproject.org/tpo/core/arti" +else + SRC_URI="https://gitlab.torproject.org/tpo/core/${PN}/-/archive/${PN}-v${PV}/${PN}-${PN}-v${PV}.tar.bz2 -> ${P}.tar.bz2 + ${CARGO_CRATE_URIS}" + KEYWORDS="~amd64" + S="${WORKDIR}/${MY_P}" +fi + +LICENSE="MIT Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-3.0 + Unicode-DFS-2016 Unlicense ZLIB +" +SLOT="0" + +DEPEND="app-arch/xz-utils + app-arch/zstd:= + dev-db/sqlite:3 + dev-libs/openssl:=" +RDEPEND="${DEPEND}" + +QA_FLAGS_IGNORED="usr/bin/arti" + +src_unpack() { + if [[ "${PV}" == *9999 ]]; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + export ZSTD_SYS_USE_PKG_CONFIG=1 + for crate in crates/*; do + pushd "${crate}" || die + cargo_src_compile + popd >/dev/null || die + done +} + +src_install() { + pushd crates/arti >/dev/null || die + + cargo_src_install + newdoc src/arti-example-config.toml arti.toml + + popd >/dev/null || die + + dodoc -r doc/* +} diff --git a/net-p2p/arti/arti-1.2.7.ebuild b/net-p2p/arti/arti-1.2.7.ebuild deleted file mode 100644 index 8e9690f4332a..000000000000 --- a/net-p2p/arti/arti-1.2.7.ebuild +++ /dev/null @@ -1,609 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - addr2line@0.22.0 - adler2@2.0.0 - adler@1.0.2 - aes@0.8.4 - ahash@0.8.11 - aho-corasick@1.1.3 - amplify@4.7.0 - amplify_derive@4.0.1 - amplify_num@0.5.3 - amplify_syn@2.0.1 - 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.86 - approx@0.5.1 - arbitrary@1.3.2 - arrayvec@0.7.6 - ascii@1.1.0 - assert-impl@0.1.3 - async-broadcast@0.7.1 - async-channel@1.9.0 - async-channel@2.3.1 - async-compression@0.4.12 - async-ctrlc@1.2.0 - async-executor@1.13.0 - async-global-executor@2.4.1 - async-io@1.13.0 - async-io@2.3.4 - async-lock@2.8.0 - async-lock@3.4.0 - async-native-tls@0.5.0 - async-process@1.8.1 - async-signal@0.2.10 - async-std@1.12.0 - async-task@4.7.1 - async-trait@0.1.82 - async_executors@0.7.0 - asynchronous-codec@0.7.0 - atomic-waker@1.1.2 - atomic@0.5.3 - atomic@0.6.0 - autocfg@1.3.0 - automod@1.0.14 - axum-core@0.3.4 - axum@0.6.20 - backtrace@0.3.73 - base16ct@0.2.0 - base32@0.5.1 - base64@0.22.1 - base64ct@1.6.0 - bitflags@1.3.2 - bitflags@2.6.0 - bitvec@1.0.1 - blake2@0.10.6 - blanket@0.3.0 - block-buffer@0.10.4 - blocking@1.6.1 - bounded-vec-deque@0.1.1 - bumpalo@3.16.0 - by_address@1.2.1 - bytemuck@1.17.1 - byteorder@1.5.0 - bytes@1.7.1 - c_str_macro@1.0.3 - cc@1.1.15 - cfg-if@1.0.0 - cfg_aliases@0.2.1 - chrono@0.4.38 - cipher@0.4.4 - clap@4.5.16 - clap_builder@4.5.15 - clap_derive@4.5.13 - clap_lex@0.7.2 - coarsetime@0.1.34 - colorchoice@1.0.2 - concurrent-queue@2.5.0 - const-oid@0.9.6 - content_inspector@0.2.4 - convert_case@0.4.0 - core-foundation-sys@0.8.7 - core-foundation@0.9.4 - cpufeatures@0.2.13 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crunchy@0.2.2 - crypto-bigint@0.5.5 - crypto-common@0.1.6 - ctr@0.9.2 - ctrlc@3.4.5 - curve25519-dalek-derive@0.1.1 - curve25519-dalek@4.1.3 - darling@0.14.4 - darling@0.20.10 - darling_core@0.14.4 - darling_core@0.20.10 - darling_macro@0.14.4 - darling_macro@0.20.10 - data-encoding@2.6.0 - der@0.7.9 - deranged@0.3.11 - derive-adhoc-macros@0.7.3 - derive-adhoc@0.7.3 - derive-deftly-macros@0.14.2 - derive-deftly@0.14.2 - derive_arbitrary@1.3.2 - derive_builder_core_fork_arti@0.11.2 - derive_builder_fork_arti@0.11.2 - derive_builder_macro_fork_arti@0.11.2 - derive_more@0.99.18 - digest@0.10.7 - directories@5.0.1 - dirs-sys@0.4.1 - dirs@5.0.1 - displaydoc@0.2.5 - downcast-rs@1.2.1 - dsa@0.6.3 - dunce@1.0.5 - dyn-clone@1.0.17 - dynasm@2.0.0 - dynasmrt@2.0.0 - ecdsa@0.16.9 - ed25519-dalek@2.1.1 - ed25519@2.2.3 - educe@0.4.23 - either@1.13.0 - elliptic-curve@0.13.8 - enum-as-inner@0.6.0 - enum-ordinalize@3.1.15 - equivalent@1.0.1 - erased-serde@0.4.5 - errno@0.3.9 - event-listener-strategy@0.5.2 - event-listener@2.5.3 - event-listener@3.1.0 - event-listener@5.3.1 - fallible-iterator@0.3.0 - fallible-streaming-iterator@0.1.9 - fast-socks5@0.9.6 - fastrand@1.9.0 - fastrand@2.1.1 - ff@0.13.0 - fiat-crypto@0.2.9 - figment@0.10.19 - filetime@0.2.25 - fixed-capacity-vec@1.0.1 - flate2@1.0.33 - float-cmp@0.9.0 - float-ord@0.3.2 - float_eq@1.0.1 - fluid-let@1.0.0 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - fslock-arti-fork@0.2.0 - fslock@0.2.1 - funty@2.0.0 - futures-await-test-macro@0.3.0 - futures-await-test@0.3.0 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-lite@1.13.0 - futures-lite@2.3.0 - futures-macro@0.3.30 - futures-rustls@0.26.0 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - generic-array@0.14.7 - getrandom@0.2.15 - gimli@0.29.0 - glob-match@0.2.1 - glob@0.3.1 - gloo-timers@0.2.6 - group@0.13.0 - growable-bloom-filter@2.1.0 - hashbrown@0.12.3 - hashbrown@0.14.5 - hashlink@0.9.1 - heck@0.4.1 - heck@0.5.0 - hermit-abi@0.3.9 - hermit-abi@0.4.0 - hex-literal@0.4.1 - hex@0.4.3 - hickory-proto@0.24.1 - hkdf@0.12.4 - hmac@0.12.1 - hostname-validator@1.1.1 - http-body-util@0.1.2 - http-body@0.4.6 - http-body@1.0.1 - http@0.2.12 - http@1.1.0 - httparse@1.9.4 - httpdate@1.0.3 - humantime-serde@1.1.1 - humantime@2.1.0 - hyper-util@0.1.7 - hyper@0.14.30 - hyper@1.4.1 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - idna@0.4.0 - idna@0.5.0 - indexmap@1.9.3 - indexmap@2.5.0 - inotify-sys@0.1.5 - inotify@0.9.6 - inout@0.1.3 - instant@0.1.13 - inventory@0.3.15 - io-extras@0.18.2 - io-lifetimes@1.0.11 - io-lifetimes@2.0.3 - ipnet@2.9.0 - is_terminal_polyfill@1.70.1 - itertools@0.11.0 - itertools@0.13.0 - itoa@1.0.11 - jobserver@0.1.32 - js-sys@0.3.70 - k12@0.3.0 - keccak@0.1.5 - kqueue-sys@1.0.4 - kqueue@1.0.8 - kv-log-macro@1.0.7 - lazy_static@1.5.0 - libc@0.2.158 - libm@0.2.8 - libredox@0.1.3 - libsqlite3-sys@0.28.0 - linux-raw-sys@0.3.8 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - lzma-sys@0.1.20 - matchers@0.1.0 - matchit@0.7.3 - matrixmultiply@0.3.9 - memchr@2.7.4 - memmap2@0.5.10 - memmap2@0.9.4 - merlin@3.0.0 - mime@0.3.17 - miniz_oxide@0.7.4 - miniz_oxide@0.8.0 - mio@0.8.11 - mio@1.0.2 - nalgebra-macros@0.2.2 - nalgebra@0.32.6 - native-tls@0.2.12 - nix@0.29.0 - normalize-line-endings@0.3.0 - notify@6.1.1 - nu-ansi-term@0.46.0 - num-bigint-dig@0.8.4 - num-bigint@0.4.6 - num-complex@0.4.6 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.45 - num-rational@0.4.2 - num-traits@0.2.19 - num_enum@0.7.3 - num_enum_derive@0.7.3 - object@0.36.4 - once_cell@1.19.0 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-src@300.3.1+3.3.1 - openssl-sys@0.9.103 - openssl@0.10.66 - option-ext@0.2.0 - ordered-float@2.10.1 - os_pipe@1.2.1 - overload@0.1.1 - p256@0.13.2 - p384@0.13.0 - p521@0.13.3 - parking@2.2.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - paste@1.0.15 - pem-rfc7468@0.7.0 - percent-encoding@2.3.1 - permutohedron@0.2.4 - phf@0.11.2 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.11.2 - pico-args@0.5.0 - pin-project-internal@1.1.5 - pin-project-lite@0.2.14 - pin-project@1.1.5 - pin-utils@0.1.0 - piper@0.2.4 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - polling@2.8.0 - polling@3.7.3 - postage@0.5.0 - powerfmt@0.2.0 - ppv-lite86@0.2.20 - primeorder@0.13.6 - priority-queue@2.1.0 - proc-macro-crate@1.3.1 - proc-macro-crate@3.2.0 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.86 - pwd-grp@0.1.1 - quote@1.0.37 - radium@0.7.0 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rand_distr@0.4.3 - rangemap@1.5.1 - rawpointer@0.2.1 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.5.3 - redox_users@0.4.6 - regex-automata@0.1.10 - regex-automata@0.4.7 - regex-syntax@0.6.29 - regex-syntax@0.8.4 - regex@1.10.6 - rfc6979@0.4.0 - ring@0.16.20 - ring@0.17.8 - rlimit@0.10.2 - rmp-serde@1.3.0 - rmp@0.8.14 - rsa@0.9.6 - rusqlite@0.31.0 - rustc-demangle@0.1.24 - rustc_version@0.4.1 - rustix@0.37.27 - rustix@0.38.35 - rustls-pki-types@1.8.0 - rustls-webpki@0.102.7 - rustls@0.23.12 - rustversion@1.0.17 - ryu@1.0.18 - safe_arch@0.7.2 - same-file@1.0.6 - sanitize-filename@0.5.0 - scc@2.1.16 - schannel@0.1.23 - scopeguard@1.2.0 - sdd@3.0.2 - sec1@0.7.3 - secmem-proc@0.3.3 - security-framework-sys@2.11.1 - security-framework@2.11.1 - semver@1.0.23 - serde-value@0.7.0 - serde@1.0.209 - serde_bytes@0.11.15 - serde_derive@1.0.209 - serde_ignored@0.1.10 - serde_json@1.0.127 - serde_path_to_error@0.1.16 - serde_repr@0.1.19 - serde_spanned@0.6.7 - serde_test@1.0.177 - serde_urlencoded@0.7.1 - serde_with@3.9.0 - serde_with_macros@3.9.0 - serial_test@3.1.1 - serial_test_derive@3.1.1 - sha1-asm@0.5.3 - sha1@0.10.6 - sha2@0.10.8 - sha3@0.10.8 - sharded-slab@0.1.7 - shellexpand@3.1.0 - shlex@1.3.0 - signal-hook-async-std@0.2.2 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - signature@2.2.0 - simba@0.8.1 - similar@2.6.0 - simple_asn1@0.6.2 - siphasher@0.3.11 - slab@0.4.9 - slotmap@1.0.7 - smallvec@1.13.2 - snapbox-macros@0.3.10 - snapbox@0.6.17 - socket2@0.4.10 - socket2@0.5.7 - socketpair@0.19.5 - spin@0.5.2 - spin@0.9.8 - spki@0.7.3 - ssh-cipher@0.2.0 - ssh-encoding@0.2.0 - ssh-key@0.6.6 - static_assertions@1.1.0 - statrs@0.17.1 - strsim@0.10.0 - strsim@0.11.1 - strum@0.25.0 - strum@0.26.3 - strum_macros@0.25.3 - strum_macros@0.26.4 - subtle@2.6.1 - syn@1.0.109 - syn@2.0.77 - sync_wrapper@0.1.2 - tap@1.0.1 - tempfile@3.12.0 - terminal_size@0.3.0 - thiserror-impl@1.0.63 - thiserror@1.0.63 - thread_local@1.1.8 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tiny-keccak@2.0.2 - tinystr@0.7.6 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - tokio-macros@2.4.0 - tokio-native-tls@0.3.1 - tokio-socks@0.5.2 - tokio-stream@0.1.15 - tokio-util@0.7.11 - tokio@1.40.0 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.19.15 - toml_edit@0.22.20 - tower-layer@0.3.3 - tower-service@0.3.3 - tower@0.4.13 - tracing-appender@0.2.3 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-journald@0.3.0 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing-test-macro@0.2.5 - tracing-test@0.2.5 - tracing@0.1.40 - try-lock@0.2.5 - trycmd@0.15.7 - typed-index-collections@3.1.0 - typeid@1.0.2 - typenum@1.17.0 - typetag-impl@0.2.18 - typetag@0.2.18 - uncased@0.9.10 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - untrusted@0.7.1 - untrusted@0.9.0 - url@2.5.2 - utf8parse@0.2.2 - uuid@1.10.0 - valuable@0.1.0 - value-bag@1.9.0 - vcpkg@0.2.15 - version_check@0.9.5 - visibility@0.1.1 - visible@0.0.1 - void@1.0.2 - wait-timeout@0.2.0 - waker-fn@1.2.0 - walkdir@2.5.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasix@0.12.21 - wasm-bindgen-backend@0.2.93 - wasm-bindgen-futures@0.4.43 - wasm-bindgen-macro-support@0.2.93 - wasm-bindgen-macro@0.2.93 - wasm-bindgen-shared@0.2.93 - wasm-bindgen@0.2.93 - weak-table@0.3.2 - web-sys@0.3.70 - wide@0.7.28 - 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@0.52.0 - 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 - winnow@0.5.40 - winnow@0.6.18 - wyz@0.5.1 - x25519-dalek@2.0.1 - x509-signature@0.5.0 - xxhash-rust@0.8.12 - xz2@0.1.7 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zeroize@1.8.1 - zeroize_derive@1.4.2 - zstd-safe@7.2.1 - zstd-sys@2.0.13+zstd.1.5.6 - zstd@0.13.2 -" - -inherit cargo - -MY_P="${PN}-${PN}-v${PV}" - -DESCRIPTION="An implementation of Tor, in Rust." -HOMEPAGE="https://gitlab.torproject.org/tpo/core/arti/" - -if [[ "${PV}" == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.torproject.org/tpo/core/arti" -else - SRC_URI="https://gitlab.torproject.org/tpo/core/${PN}/-/archive/${PN}-v${PV}/${PN}-${PN}-v${PV}.tar.bz2 -> ${P}.tar.bz2 - ${CARGO_CRATE_URIS}" - KEYWORDS="~amd64" - S="${WORKDIR}/${MY_P}" -fi - -LICENSE="MIT Apache-2.0" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 Unicode-3.0 - Unicode-DFS-2016 Unlicense ZLIB -" -SLOT="0" - -DEPEND="app-arch/xz-utils - app-arch/zstd:= - dev-db/sqlite:3 - dev-libs/openssl:=" -RDEPEND="${DEPEND}" - -QA_FLAGS_IGNORED="usr/bin/arti" - -src_unpack() { - if [[ "${PV}" == *9999 ]]; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_compile() { - export ZSTD_SYS_USE_PKG_CONFIG=1 - for crate in crates/*; do - pushd "${crate}" || die - cargo_src_compile - popd >/dev/null || die - done -} - -src_install() { - pushd crates/arti >/dev/null || die - - cargo_src_install - newdoc src/arti-example-config.toml arti.toml - - popd >/dev/null || die - - dodoc -r doc/* -} diff --git a/net-vpn/vpncloud/vpncloud-2.3.0-r1.ebuild b/net-vpn/vpncloud/vpncloud-2.3.0-r1.ebuild deleted file mode 100644 index 63d0bc271fcb..000000000000 --- a/net-vpn/vpncloud/vpncloud-2.3.0-r1.ebuild +++ /dev/null @@ -1,183 +0,0 @@ -# Copyright 2017-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Auto-Generated by cargo-ebuild 0.3.1 - -EAPI=8 - -CRATES=" - ansi_term@0.12.1 - attohttpc@0.16.3 - atty@0.2.14 - autocfg@1.0.1 - base64@0.13.0 - bitflags@1.3.2 - block-buffer@0.9.0 - boxfnonce@0.1.1 - bstr@0.2.17 - bumpalo@3.8.0 - byteorder@1.4.3 - bytes@1.1.0 - 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 - console@0.15.0 - cpufeatures@0.2.1 - criterion@0.3.5 - criterion-plot@0.4.4 - crossbeam-channel@0.5.1 - crossbeam-deque@0.8.1 - crossbeam-epoch@0.9.5 - crossbeam-utils@0.8.5 - csv@1.1.6 - csv-core@0.1.10 - daemonize@0.4.1 - dialoguer@0.9.0 - digest@0.9.0 - either@1.6.1 - encode_unicode@0.3.6 - fnv@1.0.7 - form_urlencoded@1.0.1 - generic-array@0.14.4 - getrandom@0.2.3 - half@1.8.2 - hashbrown@0.11.2 - heck@0.3.3 - hermit-abi@0.1.19 - http@0.2.5 - httparse@1.5.1 - iai@0.1.1 - idna@0.2.3 - igd@0.12.0 - indexmap@1.7.0 - 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 - linked-hash-map@0.5.4 - log@0.4.14 - matches@0.1.9 - memchr@2.4.1 - memoffset@0.6.5 - nix@0.14.1 - nix@0.23.1 - num-integer@0.1.44 - num-traits@0.2.14 - num_cpus@1.13.1 - once_cell@1.9.0 - oorandom@11.1.3 - opaque-debug@0.3.0 - percent-encoding@2.1.0 - plotters@0.3.1 - plotters-backend@0.3.2 - plotters-svg@0.3.1 - ppv-lite86@0.2.15 - privdrop@0.5.1 - proc-macro-error@1.0.4 - proc-macro-error-attr@1.0.4 - proc-macro2@1.0.34 - quote@1.0.10 - rand@0.8.4 - rand_chacha@0.3.1 - rand_core@0.6.3 - rand_hc@0.3.1 - 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 - remove_dir_all@0.5.3 - ring@0.16.20 - 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.132 - serde_cbor@0.11.2 - serde_derive@1.0.132 - serde_json@1.0.73 - serde_yaml@0.8.23 - sha-1@0.9.8 - signal@0.7.0 - smallvec@1.7.0 - spin@0.5.2 - strsim@0.8.0 - structopt@0.3.25 - structopt-derive@0.4.18 - syn@1.0.83 - tempfile@3.2.0 - terminal_size@0.1.17 - textwrap@0.11.0 - thiserror@1.0.30 - thiserror-impl@1.0.30 - tinytemplate@1.2.1 - tinyvec@1.5.1 - tinyvec_macros@0.1.0 - tungstenite@0.16.0 - typenum@1.14.0 - unicode-bidi@0.3.7 - unicode-normalization@0.1.19 - unicode-segmentation@1.8.0 - unicode-width@0.1.9 - unicode-xid@0.2.2 - untrusted@0.7.1 - url@2.2.2 - utf-8@0.7.6 - vec_map@0.8.2 - version_check@0.9.3 - void@1.0.2 - walkdir@2.3.2 - wasi@0.10.2+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 - wildmatch@1.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 - xml-rs@0.8.4 - xmltree@0.10.3 - yaml-rust@0.4.5 - zeroize@1.4.3 -" - -inherit cargo systemd - -DESCRIPTION="High performance peer-to-peer mesh VPN" -HOMEPAGE="https://vpncloud.ddswd.de/" -SRC_URI="https://github.com/dswd/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" -LICENSE="GPL-3+ ISC MIT MPL-2.0 openssl || ( Apache-2.0 Boost-1.0 ) || ( Apache-2.0 MIT ) || ( Apache-2.0 MIT ZLIB ) || ( MIT Unlicense )" -SLOT="0" -KEYWORDS="~amd64" -IUSE="man" -RESTRICT="mirror" - -DEPEND="man? ( dev-ruby/asciidoctor )" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_install() { - cargo_src_install - keepdir /etc/vpncloud - insinto /etc/vpncloud - doins assets/example.net.disabled - systemd_dounit assets/${PN}{-wsproxy,@}.service assets/${PN}.target - - einstalldocs - if use man; then - gunzip target/vpncloud.1.gz || die - doman target/vpncloud.1 - fi -} diff --git a/net-vpn/vpncloud/vpncloud-2.3.0-r2.ebuild b/net-vpn/vpncloud/vpncloud-2.3.0-r2.ebuild new file mode 100644 index 000000000000..63d0bc271fcb --- /dev/null +++ b/net-vpn/vpncloud/vpncloud-2.3.0-r2.ebuild @@ -0,0 +1,183 @@ +# Copyright 2017-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Auto-Generated by cargo-ebuild 0.3.1 + +EAPI=8 + +CRATES=" + ansi_term@0.12.1 + attohttpc@0.16.3 + atty@0.2.14 + autocfg@1.0.1 + base64@0.13.0 + bitflags@1.3.2 + block-buffer@0.9.0 + boxfnonce@0.1.1 + bstr@0.2.17 + bumpalo@3.8.0 + byteorder@1.4.3 + bytes@1.1.0 + 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 + console@0.15.0 + cpufeatures@0.2.1 + criterion@0.3.5 + criterion-plot@0.4.4 + crossbeam-channel@0.5.1 + crossbeam-deque@0.8.1 + crossbeam-epoch@0.9.5 + crossbeam-utils@0.8.5 + csv@1.1.6 + csv-core@0.1.10 + daemonize@0.4.1 + dialoguer@0.9.0 + digest@0.9.0 + either@1.6.1 + encode_unicode@0.3.6 + fnv@1.0.7 + form_urlencoded@1.0.1 + generic-array@0.14.4 + getrandom@0.2.3 + half@1.8.2 + hashbrown@0.11.2 + heck@0.3.3 + hermit-abi@0.1.19 + http@0.2.5 + httparse@1.5.1 + iai@0.1.1 + idna@0.2.3 + igd@0.12.0 + indexmap@1.7.0 + 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 + linked-hash-map@0.5.4 + log@0.4.14 + matches@0.1.9 + memchr@2.4.1 + memoffset@0.6.5 + nix@0.14.1 + nix@0.23.1 + num-integer@0.1.44 + num-traits@0.2.14 + num_cpus@1.13.1 + once_cell@1.9.0 + oorandom@11.1.3 + opaque-debug@0.3.0 + percent-encoding@2.1.0 + plotters@0.3.1 + plotters-backend@0.3.2 + plotters-svg@0.3.1 + ppv-lite86@0.2.15 + privdrop@0.5.1 + proc-macro-error@1.0.4 + proc-macro-error-attr@1.0.4 + proc-macro2@1.0.34 + quote@1.0.10 + rand@0.8.4 + rand_chacha@0.3.1 + rand_core@0.6.3 + rand_hc@0.3.1 + 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 + remove_dir_all@0.5.3 + ring@0.16.20 + 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.132 + serde_cbor@0.11.2 + serde_derive@1.0.132 + serde_json@1.0.73 + serde_yaml@0.8.23 + sha-1@0.9.8 + signal@0.7.0 + smallvec@1.7.0 + spin@0.5.2 + strsim@0.8.0 + structopt@0.3.25 + structopt-derive@0.4.18 + syn@1.0.83 + tempfile@3.2.0 + terminal_size@0.1.17 + textwrap@0.11.0 + thiserror@1.0.30 + thiserror-impl@1.0.30 + tinytemplate@1.2.1 + tinyvec@1.5.1 + tinyvec_macros@0.1.0 + tungstenite@0.16.0 + typenum@1.14.0 + unicode-bidi@0.3.7 + unicode-normalization@0.1.19 + unicode-segmentation@1.8.0 + unicode-width@0.1.9 + unicode-xid@0.2.2 + untrusted@0.7.1 + url@2.2.2 + utf-8@0.7.6 + vec_map@0.8.2 + version_check@0.9.3 + void@1.0.2 + walkdir@2.3.2 + wasi@0.10.2+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 + wildmatch@1.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 + xml-rs@0.8.4 + xmltree@0.10.3 + yaml-rust@0.4.5 + zeroize@1.4.3 +" + +inherit cargo systemd + +DESCRIPTION="High performance peer-to-peer mesh VPN" +HOMEPAGE="https://vpncloud.ddswd.de/" +SRC_URI="https://github.com/dswd/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" +LICENSE="GPL-3+ ISC MIT MPL-2.0 openssl || ( Apache-2.0 Boost-1.0 ) || ( Apache-2.0 MIT ) || ( Apache-2.0 MIT ZLIB ) || ( MIT Unlicense )" +SLOT="0" +KEYWORDS="~amd64" +IUSE="man" +RESTRICT="mirror" + +DEPEND="man? ( dev-ruby/asciidoctor )" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_install() { + cargo_src_install + keepdir /etc/vpncloud + insinto /etc/vpncloud + doins assets/example.net.disabled + systemd_dounit assets/${PN}{-wsproxy,@}.service assets/${PN}.target + + einstalldocs + if use man; then + gunzip target/vpncloud.1.gz || die + doman target/vpncloud.1 + fi +} 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 (2020-11-10) -# virtual/rust has no ${arch} keyword +# Rust has no ${arch} keyword dev-vcs/mercurial rust # Joonas Niilola (2020-10-02) @@ -253,7 +253,7 @@ media-libs/gd avif net-libs/webkit-gtk avif # Mart Raudsepp (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 (2018-10-12) 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-r1.ebuild b/sci-libs/safetensors/safetensors-0.4.3-r1.ebuild new file mode 100644 index 000000000000..fd009b581914 --- /dev/null +++ b/sci-libs/safetensors/safetensors-0.4.3-r1.ebuild @@ -0,0 +1,106 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 + +CRATES=" + autocfg@1.2.0 + bitflags@1.3.2 + cfg-if@1.0.0 + heck@0.4.1 + indoc@2.0.5 + itoa@1.0.11 + libc@0.2.153 + lock_api@0.4.11 + memmap2@0.9.4 + memoffset@0.9.1 + once_cell@1.19.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + portable-atomic@1.6.0 + proc-macro2@1.0.80 + pyo3-build-config@0.21.1 + pyo3-ffi@0.21.1 + pyo3-macros-backend@0.21.1 + pyo3-macros@0.21.1 + pyo3@0.21.1 + quote@1.0.36 + redox_syscall@0.4.1 + ryu@1.0.17 + scopeguard@1.2.0 + serde@1.0.197 + serde_derive@1.0.197 + serde_json@1.0.115 + smallvec@1.13.2 + syn@2.0.59 + target-lexicon@0.12.14 + unicode-ident@1.0.12 + unindent@0.2.3 + 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 +" + +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..12} ) + +inherit distutils-r1 cargo + +DESCRIPTION="Simple, safe way to store and distribute tensors" +HOMEPAGE=" + https://pypi.org/project/safetensors/ + https://huggingface.co/ +" +SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +S="${WORKDIR}"/${P}/bindings/python + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/lib/.*" +RESTRICT="test" #depends on single pkg ( pytorch ) + +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] + test? ( + dev-python/h5py[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + rm tests/test_{tf,paddle,flax}_comparison.py || die + rm benches/test_{pt,tf,paddle,flax}.py || die +} + +src_configure() { + cargo_src_configure + distutils-r1_src_configure +} + +python_compile() { + cargo_src_compile + distutils-r1_python_compile +} + +src_compile() { + distutils-r1_src_compile +} + +src_install() { + distutils-r1_src_install +} diff --git a/sci-libs/safetensors/safetensors-0.4.3.ebuild b/sci-libs/safetensors/safetensors-0.4.3.ebuild deleted file mode 100644 index fd009b581914..000000000000 --- a/sci-libs/safetensors/safetensors-0.4.3.ebuild +++ /dev/null @@ -1,106 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 - -CRATES=" - autocfg@1.2.0 - bitflags@1.3.2 - cfg-if@1.0.0 - heck@0.4.1 - indoc@2.0.5 - itoa@1.0.11 - libc@0.2.153 - lock_api@0.4.11 - memmap2@0.9.4 - memoffset@0.9.1 - once_cell@1.19.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - portable-atomic@1.6.0 - proc-macro2@1.0.80 - pyo3-build-config@0.21.1 - pyo3-ffi@0.21.1 - pyo3-macros-backend@0.21.1 - pyo3-macros@0.21.1 - pyo3@0.21.1 - quote@1.0.36 - redox_syscall@0.4.1 - ryu@1.0.17 - scopeguard@1.2.0 - serde@1.0.197 - serde_derive@1.0.197 - serde_json@1.0.115 - smallvec@1.13.2 - syn@2.0.59 - target-lexicon@0.12.14 - unicode-ident@1.0.12 - unindent@0.2.3 - 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 -" - -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 cargo - -DESCRIPTION="Simple, safe way to store and distribute tensors" -HOMEPAGE=" - https://pypi.org/project/safetensors/ - https://huggingface.co/ -" -SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}"/${P}/bindings/python - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" - -QA_FLAGS_IGNORED="usr/lib/.*" -RESTRICT="test" #depends on single pkg ( pytorch ) - -BDEPEND=" - dev-python/setuptools-rust[${PYTHON_USEDEP}] - test? ( - dev-python/h5py[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - rm tests/test_{tf,paddle,flax}_comparison.py || die - rm benches/test_{pt,tf,paddle,flax}.py || die -} - -src_configure() { - cargo_src_configure - distutils-r1_src_configure -} - -python_compile() { - cargo_src_compile - distutils-r1_python_compile -} - -src_compile() { - distutils-r1_src_compile -} - -src_install() { - distutils-r1_src_install -} diff --git a/sci-libs/safetensors/safetensors-0.4.5-r1.ebuild b/sci-libs/safetensors/safetensors-0.4.5-r1.ebuild new file mode 100644 index 000000000000..637f93e00be0 --- /dev/null +++ b/sci-libs/safetensors/safetensors-0.4.5-r1.ebuild @@ -0,0 +1,107 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_EXT=1 + +CRATES=" + autocfg@1.3.0 + bitflags@1.3.2 + cfg-if@1.0.0 + heck@0.5.0 + indoc@2.0.5 + itoa@1.0.11 + libc@0.2.155 + lock_api@0.4.11 + memchr@2.7.4 + memmap2@0.9.4 + memoffset@0.9.1 + once_cell@1.19.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + portable-atomic@1.7.0 + proc-macro2@1.0.86 + pyo3-build-config@0.22.2 + pyo3-ffi@0.22.2 + pyo3-macros-backend@0.22.2 + pyo3-macros@0.22.2 + pyo3@0.22.2 + quote@1.0.36 + redox_syscall@0.4.1 + ryu@1.0.18 + scopeguard@1.2.0 + serde@1.0.204 + serde_derive@1.0.204 + serde_json@1.0.122 + smallvec@1.13.2 + syn@2.0.72 + target-lexicon@0.12.16 + unicode-ident@1.0.12 + unindent@0.2.3 + 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 +" + +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..12} ) + +inherit distutils-r1 cargo + +DESCRIPTION="Simple, safe way to store and distribute tensors" +HOMEPAGE=" + https://pypi.org/project/safetensors/ + https://huggingface.co/ +" +SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +S="${WORKDIR}"/${P}/bindings/python + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/lib/.*" +RESTRICT="test" #depends on single pkg ( pytorch ) + +BDEPEND=" + dev-python/setuptools-rust[${PYTHON_USEDEP}] + test? ( + dev-python/h5py[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +src_prepare() { + distutils-r1_src_prepare + rm tests/test_{tf,paddle,flax}_comparison.py || die + rm benches/test_{pt,tf,paddle,flax}.py || die +} + +src_configure() { + cargo_src_configure + distutils-r1_src_configure +} + +python_compile() { + cargo_src_compile + distutils-r1_python_compile +} + +src_compile() { + distutils-r1_src_compile +} + +src_install() { + distutils-r1_src_install +} diff --git a/sci-libs/safetensors/safetensors-0.4.5.ebuild b/sci-libs/safetensors/safetensors-0.4.5.ebuild deleted file mode 100644 index 637f93e00be0..000000000000 --- a/sci-libs/safetensors/safetensors-0.4.5.ebuild +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_EXT=1 - -CRATES=" - autocfg@1.3.0 - bitflags@1.3.2 - cfg-if@1.0.0 - heck@0.5.0 - indoc@2.0.5 - itoa@1.0.11 - libc@0.2.155 - lock_api@0.4.11 - memchr@2.7.4 - memmap2@0.9.4 - memoffset@0.9.1 - once_cell@1.19.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - portable-atomic@1.7.0 - proc-macro2@1.0.86 - pyo3-build-config@0.22.2 - pyo3-ffi@0.22.2 - pyo3-macros-backend@0.22.2 - pyo3-macros@0.22.2 - pyo3@0.22.2 - quote@1.0.36 - redox_syscall@0.4.1 - ryu@1.0.18 - scopeguard@1.2.0 - serde@1.0.204 - serde_derive@1.0.204 - serde_json@1.0.122 - smallvec@1.13.2 - syn@2.0.72 - target-lexicon@0.12.16 - unicode-ident@1.0.12 - unindent@0.2.3 - 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 -" - -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..12} ) - -inherit distutils-r1 cargo - -DESCRIPTION="Simple, safe way to store and distribute tensors" -HOMEPAGE=" - https://pypi.org/project/safetensors/ - https://huggingface.co/ -" -SRC_URI="https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}"/${P}/bindings/python - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64" - -QA_FLAGS_IGNORED="usr/lib/.*" -RESTRICT="test" #depends on single pkg ( pytorch ) - -BDEPEND=" - dev-python/setuptools-rust[${PYTHON_USEDEP}] - test? ( - dev-python/h5py[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -src_prepare() { - distutils-r1_src_prepare - rm tests/test_{tf,paddle,flax}_comparison.py || die - rm benches/test_{pt,tf,paddle,flax}.py || die -} - -src_configure() { - cargo_src_configure - distutils-r1_src_configure -} - -python_compile() { - cargo_src_compile - distutils-r1_python_compile -} - -src_compile() { - distutils-r1_src_compile -} - -src_install() { - distutils-r1_src_install -} diff --git a/sci-libs/tokenizers/tokenizers-0.20.1-r1.ebuild b/sci-libs/tokenizers/tokenizers-0.20.1-r1.ebuild new file mode 100644 index 000000000000..e5255c274cb5 --- /dev/null +++ b/sci-libs/tokenizers/tokenizers-0.20.1-r1.ebuild @@ -0,0 +1,381 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +DISTUTILS_USE_PEP517=maturin +PYTHON_COMPAT=( python3_{10..12} ) +DISTUTILS_EXT=1 +DISTUTILS_SINGLE_IMPL=1 + +CRATES=" + adler2@2.0.0 + aho-corasick@1.1.3 + anes@0.1.6 + anstream@0.6.15 + anstyle-parse@0.2.5 + anstyle-query@1.1.1 + anstyle-wincon@3.0.4 + anstyle@1.0.8 + assert_approx_eq@1.1.0 + autocfg@1.4.0 + autocfg@1.3.0 + base64@0.13.1 + base64@0.22.1 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.6.0 + bumpalo@3.16.0 + byteorder@1.5.0 + cast@0.3.0 + cc@1.1.22 + cfg-if@1.0.0 + ciborium-io@0.2.2 + ciborium-ll@0.2.2 + ciborium@0.2.2 + clap@4.5.19 + clap_builder@4.5.19 + clap_lex@0.7.2 + colorchoice@1.0.2 + console@0.15.8 + core-foundation-sys@0.8.7 + core-foundation@0.9.4 + crc32fast@1.4.2 + criterion-plot@0.5.0 + criterion@0.5.1 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crunchy@0.2.2 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + derive_builder@0.20.1 + derive_builder_core@0.20.1 + derive_builder_macro@0.20.1 + derive_builder@0.20.0 + derive_builder_core@0.20.0 + derive_builder_macro@0.20.0 + dirs-sys@0.4.1 + dirs@5.0.1 + either@1.13.0 + encode_unicode@0.3.6 + env_filter@0.1.2 + env_logger@0.11.5 + errno@0.3.9 + esaxx-rs@0.1.10 + fancy-regex@0.13.0 + fastrand@2.1.1 + fastrand@2.1.0 + flate2@1.0.34 + fnv@1.0.7 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + form_urlencoded@1.2.1 + getrandom@0.2.15 + half@2.4.1 + hermit-abi@0.4.0 + hf-hub@0.3.2 + heck@0.4.1 + humantime@2.1.0 + ident_case@1.0.1 + idna@0.5.0 + indicatif@0.17.8 + indoc@2.0.5 + instant@0.1.13 + is-terminal@0.4.13 + is_terminal_polyfill@1.70.1 + itertools@0.10.5 + itertools@0.11.0 + itertools@0.12.1 + itoa@1.0.11 + js-sys@0.3.70 + lazy_static@1.5.0 + libc@0.2.155 + libc@0.2.159 + libredox@0.1.3 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + macro_rules_attribute-proc_macro@0.2.0 + macro_rules_attribute@0.2.0 + matrixmultiply@0.3.9 + memchr@2.7.4 + memoffset@0.9.1 + minimal-lexical@0.2.1 + miniz_oxide@0.8.0 + monostate-impl@0.1.13 + monostate@0.1.13 + native-tls@0.2.12 + ndarray@0.15.6 + nom@7.1.3 + nu-ansi-term@0.46.0 + num-complex@0.4.6 + num-integer@0.1.46 + num-traits@0.2.19 + number_prefix@0.4.0 + numpy@0.21.0 + once_cell@1.20.1 + onig@6.4.0 + onig_sys@69.8.1 + oorandom@11.1.4 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-sys@0.9.103 + openssl@0.10.66 + option-ext@0.2.0 + overload@0.1.1 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pkg-config@0.3.30 + portable-atomic@1.7.0 + pkg-config@0.3.31 + plotters-backend@0.3.7 + plotters-svg@0.3.7 + plotters@0.3.7 + portable-atomic@1.9.0 + ppv-lite86@0.2.20 + proc-macro2@1.0.86 + pyo3-build-config@0.21.2 + pyo3-ffi@0.21.2 + pyo3-macros-backend@0.21.2 + pyo3-macros@0.21.2 + pyo3@0.21.2 + quote@1.0.36 + quote@1.0.37 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rawpointer@0.2.1 + rayon-cond@0.3.0 + rayon-core@1.12.1 + rayon@1.10.0 + redox_users@0.4.6 + regex-automata@0.4.8 + regex-syntax@0.8.5 + redox_syscall@0.5.7 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.6 + regex@1.11.0 + ring@0.17.8 + rustc-hash@1.1.0 + rustix@0.38.34 + rustix@0.38.37 + rustls-pki-types@1.9.0 + rustls-webpki@0.102.8 + rustls@0.23.14 + ryu@1.0.18 + same-file@1.0.6 + schannel@0.1.24 + security-framework-sys@2.12.0 + security-framework@2.11.1 + scopeguard@1.2.0 + serde@1.0.205 + serde@1.0.210 + serde_derive@1.0.205 + serde_derive@1.0.210 + serde_json@1.0.122 + serde_json@1.0.128 + sharded-slab@0.1.7 + shlex@1.3.0 + smallvec@1.13.2 + spin@0.9.8 + spm_precompiled@0.1.4 + strsim@0.11.1 + subtle@2.6.1 + syn@2.0.72 + syn@2.0.79 + target-lexicon@0.12.16 + tempfile@3.12.0 + tempfile@3.13.0 + thiserror-impl@1.0.63 + thiserror-impl@1.0.64 + thiserror@1.0.63 + thiserror@1.0.64 + thread_local@1.1.8 + tinytemplate@1.2.1 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-log@0.2.0 + tracing-subscriber@0.3.18 + tracing@0.1.40 + unicode-bidi@0.3.17 + unicode-ident@1.0.12 + unicode-ident@1.0.13 + unicode-normalization-alignments@0.1.12 + unicode-normalization@0.1.24 + unicode-segmentation@1.11.0 + unicode-segmentation@1.12.0 + unicode-width@0.1.13 + unicode-width@0.1.14 + unicode_categories@0.1.1 + unindent@0.2.3 + untrusted@0.9.0 + ureq@2.10.1 + url@2.5.2 + utf8parse@0.2.2 + valuable@0.1.0 + vcpkg@0.2.15 + walkdir@2.5.0 + 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 + web-sys@0.3.70 + webpki-roots@0.26.6 + 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-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 + zeroize@1.8.1 +" + +inherit cargo distutils-r1 + +DESCRIPTION="Implementation of today's most used tokenizers" +HOMEPAGE="https://github.com/huggingface/tokenizers" +SRC_URI=" + https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0 + Unicode-DFS-2016 +" +SLOT="0" +KEYWORDS="~amd64" + +BDEPEND=" + test? ( sci-libs/datasets[${PYTHON_SINGLE_USEDEP}] ) + $(python_gen_cond_dep ' + dev-python/setuptools-rust[${PYTHON_USEDEP}] + ') +" + +distutils_enable_tests pytest + +QA_FLAGS_IGNORED=".*/site-packages/tokenizers/.*so" + +src_unpack() { + cargo_src_unpack +} + +pkg_setup() { + python-single-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + cd bindings/python + eapply "${FILESDIR}"/${PN}-0.15.2-test.patch + distutils-r1_src_prepare +} + +src_configure() { + cd tokenizers + cargo_src_configure + cd ../bindings/python + distutils-r1_src_configure +} + +src_compile() { + cd tokenizers + cargo_src_compile + cd ../bindings/python + distutils-r1_src_compile +} + +src_test() { + cd tokenizers + # Tests do not work + #cargo_src_test + cd ../bindings/python + local EPYTEST_DESELECT=( + "tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_formats" + "tests/bindings/test_encoding.py::TestEncoding::test_sequence_ids" + "tests/bindings/test_encoding.py::TestEncoding::test_n_sequences" + "tests/bindings/test_encoding.py::TestEncoding::test_word_to_tokens" + "tests/bindings/test_encoding.py::TestEncoding::test_word_to_chars" + "tests/bindings/test_encoding.py::TestEncoding::test_token_to_sequence" + "tests/bindings/test_encoding.py::TestEncoding::test_token_to_chars" + "tests/bindings/test_encoding.py::TestEncoding::test_token_to_word" + "tests/bindings/test_encoding.py::TestEncoding::test_char_to_token" + "tests/bindings/test_encoding.py::TestEncoding::test_char_to_word" + "tests/bindings/test_encoding.py::TestEncoding::test_truncation" + "tests/bindings/test_encoding.py::TestEncoding::test_invalid_truncate_direction" + "tests/bindings/test_models.py::TestBPE::test_instantiate" + "tests/bindings/test_models.py::TestWordLevel::test_instantiate" + "tests/bindings/test_models.py::TestWordPiece::test_instantiate" + "tests/bindings/test_processors.py::TestByteLevelProcessing::test_processing" + "tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_add_special_tokens" + "tests/bindings/test_tokenizer.py::TestTokenizer::test_from_pretrained" + "tests/bindings/test_tokenizer.py::TestTokenizer::test_from_pretrained_revision" + "tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_special_tokens" + "tests/bindings/test_tokenizer.py::TestTokenizer::test_splitting" + "tests/bindings/test_trainers.py::TestUnigram::test_continuing_prefix_trainer_mistmatch" + "tests/bindings/test_trainers.py::TestUnigram::test_train" + "tests/documentation/test_pipeline.py::TestPipeline::test_pipeline" + "tests/documentation/test_pipeline.py::TestPipeline::test_bert_example" + "tests/documentation/test_quicktour.py::TestQuicktour::test_quicktour" + "tests/documentation/test_tutorial_train_from_iterators.py::TestTrainFromIterators::test_datasets" + "tests/documentation/test_tutorial_train_from_iterators.py::TestTrainFromIterators::test_gzip" + "tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_basic_encode" + "tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_multiprocessing_with_parallelism" + "tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_basic_encode" + "tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_add_prefix_space" + "tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_lowerspace" + "tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_multiprocessing_with_parallelism" + "tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_basic_encode" + "tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_lowercase" + "tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_decoding" + "tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_multiprocessing_with_parallelism" + "tests/test_serialization.py::TestSerialization::test_full_serialization_albert" + "tests/test_serialization.py::TestSerialization::test_str_big" + ) + local -x EPYTEST_IGNORE=(benches/) + distutils-r1_src_test +} + +src_install() { + cd tokenizers + cd ../bindings/python + distutils-r1_src_install +} diff --git a/sci-libs/tokenizers/tokenizers-0.20.1.ebuild b/sci-libs/tokenizers/tokenizers-0.20.1.ebuild deleted file mode 100644 index f5e839834cd8..000000000000 --- a/sci-libs/tokenizers/tokenizers-0.20.1.ebuild +++ /dev/null @@ -1,376 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -DISTUTILS_USE_PEP517=maturin -PYTHON_COMPAT=( python3_{10..12} ) -DISTUTILS_EXT=1 -DISTUTILS_SINGLE_IMPL=1 - -CRATES=" - adler2@2.0.0 - aho-corasick@1.1.3 - anes@0.1.6 - anstream@0.6.15 - anstyle-parse@0.2.5 - anstyle-query@1.1.1 - anstyle-wincon@3.0.4 - anstyle@1.0.8 - assert_approx_eq@1.1.0 - autocfg@1.4.0 - autocfg@1.3.0 - base64@0.13.1 - base64@0.22.1 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.6.0 - bumpalo@3.16.0 - byteorder@1.5.0 - cast@0.3.0 - cc@1.1.22 - cfg-if@1.0.0 - ciborium-io@0.2.2 - ciborium-ll@0.2.2 - ciborium@0.2.2 - clap@4.5.19 - clap_builder@4.5.19 - clap_lex@0.7.2 - colorchoice@1.0.2 - console@0.15.8 - core-foundation-sys@0.8.7 - core-foundation@0.9.4 - crc32fast@1.4.2 - criterion-plot@0.5.0 - criterion@0.5.1 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.20 - crunchy@0.2.2 - darling@0.20.10 - darling_core@0.20.10 - darling_macro@0.20.10 - derive_builder@0.20.1 - derive_builder_core@0.20.1 - derive_builder_macro@0.20.1 - derive_builder@0.20.0 - derive_builder_core@0.20.0 - derive_builder_macro@0.20.0 - dirs-sys@0.4.1 - dirs@5.0.1 - either@1.13.0 - encode_unicode@0.3.6 - env_filter@0.1.2 - env_logger@0.11.5 - errno@0.3.9 - esaxx-rs@0.1.10 - fancy-regex@0.13.0 - fastrand@2.1.1 - fastrand@2.1.0 - flate2@1.0.34 - fnv@1.0.7 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - form_urlencoded@1.2.1 - getrandom@0.2.15 - half@2.4.1 - hermit-abi@0.4.0 - hf-hub@0.3.2 - heck@0.4.1 - humantime@2.1.0 - ident_case@1.0.1 - idna@0.5.0 - indicatif@0.17.8 - indoc@2.0.5 - instant@0.1.13 - is-terminal@0.4.13 - is_terminal_polyfill@1.70.1 - itertools@0.10.5 - itertools@0.11.0 - itertools@0.12.1 - itoa@1.0.11 - js-sys@0.3.70 - lazy_static@1.5.0 - libc@0.2.155 - libc@0.2.159 - libredox@0.1.3 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - macro_rules_attribute-proc_macro@0.2.0 - macro_rules_attribute@0.2.0 - matrixmultiply@0.3.9 - memchr@2.7.4 - memoffset@0.9.1 - minimal-lexical@0.2.1 - miniz_oxide@0.8.0 - monostate-impl@0.1.13 - monostate@0.1.13 - native-tls@0.2.12 - ndarray@0.15.6 - nom@7.1.3 - nu-ansi-term@0.46.0 - num-complex@0.4.6 - num-integer@0.1.46 - num-traits@0.2.19 - number_prefix@0.4.0 - numpy@0.21.0 - once_cell@1.20.1 - onig@6.4.0 - onig_sys@69.8.1 - oorandom@11.1.4 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-sys@0.9.103 - openssl@0.10.66 - option-ext@0.2.0 - overload@0.1.1 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - paste@1.0.15 - percent-encoding@2.3.1 - pin-project-lite@0.2.14 - pkg-config@0.3.30 - portable-atomic@1.7.0 - pkg-config@0.3.31 - plotters-backend@0.3.7 - plotters-svg@0.3.7 - plotters@0.3.7 - portable-atomic@1.9.0 - ppv-lite86@0.2.20 - proc-macro2@1.0.86 - pyo3-build-config@0.21.2 - pyo3-ffi@0.21.2 - pyo3-macros-backend@0.21.2 - pyo3-macros@0.21.2 - pyo3@0.21.2 - quote@1.0.36 - quote@1.0.37 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rawpointer@0.2.1 - rayon-cond@0.3.0 - rayon-core@1.12.1 - rayon@1.10.0 - redox_users@0.4.6 - regex-automata@0.4.8 - regex-syntax@0.8.5 - redox_syscall@0.5.7 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.6 - regex@1.11.0 - ring@0.17.8 - rustc-hash@1.1.0 - rustix@0.38.34 - rustix@0.38.37 - rustls-pki-types@1.9.0 - rustls-webpki@0.102.8 - rustls@0.23.14 - ryu@1.0.18 - same-file@1.0.6 - schannel@0.1.24 - security-framework-sys@2.12.0 - security-framework@2.11.1 - scopeguard@1.2.0 - serde@1.0.205 - serde@1.0.210 - serde_derive@1.0.205 - serde_derive@1.0.210 - serde_json@1.0.122 - serde_json@1.0.128 - sharded-slab@0.1.7 - shlex@1.3.0 - smallvec@1.13.2 - spin@0.9.8 - spm_precompiled@0.1.4 - strsim@0.11.1 - subtle@2.6.1 - syn@2.0.72 - syn@2.0.79 - target-lexicon@0.12.16 - tempfile@3.12.0 - tempfile@3.13.0 - thiserror-impl@1.0.63 - thiserror-impl@1.0.64 - thiserror@1.0.63 - thiserror@1.0.64 - thread_local@1.1.8 - tinytemplate@1.2.1 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-log@0.2.0 - tracing-subscriber@0.3.18 - tracing@0.1.40 - unicode-bidi@0.3.17 - unicode-ident@1.0.12 - unicode-ident@1.0.13 - unicode-normalization-alignments@0.1.12 - unicode-normalization@0.1.24 - unicode-segmentation@1.11.0 - unicode-segmentation@1.12.0 - unicode-width@0.1.13 - unicode-width@0.1.14 - unicode_categories@0.1.1 - unindent@0.2.3 - untrusted@0.9.0 - ureq@2.10.1 - url@2.5.2 - utf8parse@0.2.2 - valuable@0.1.0 - vcpkg@0.2.15 - walkdir@2.5.0 - 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 - web-sys@0.3.70 - webpki-roots@0.26.6 - 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-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 - zeroize@1.8.1 -" - -inherit cargo distutils-r1 - -DESCRIPTION="Implementation of today's most used tokenizers" -HOMEPAGE="https://github.com/huggingface/tokenizers" -SRC_URI=" - https://github.com/huggingface/${PN}/archive/refs/tags/v${PV}.tar.gz - -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT MPL-2.0 - Unicode-DFS-2016 -" -SLOT="0" -KEYWORDS="~amd64" - -BDEPEND=" - test? ( sci-libs/datasets[${PYTHON_SINGLE_USEDEP}] ) - $(python_gen_cond_dep ' - dev-python/setuptools-rust[${PYTHON_USEDEP}] - ') -" - -distutils_enable_tests pytest - -QA_FLAGS_IGNORED=".*/site-packages/tokenizers/.*so" - -src_unpack() { - cargo_src_unpack -} - -src_prepare() { - default - cd bindings/python - eapply "${FILESDIR}"/${PN}-0.15.2-test.patch - distutils-r1_src_prepare -} - -src_configure() { - cd tokenizers - cargo_src_configure - cd ../bindings/python - distutils-r1_src_configure -} - -src_compile() { - cd tokenizers - cargo_src_compile - cd ../bindings/python - distutils-r1_src_compile -} - -src_test() { - cd tokenizers - # Tests do not work - #cargo_src_test - cd ../bindings/python - local EPYTEST_DESELECT=( - "tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_formats" - "tests/bindings/test_encoding.py::TestEncoding::test_sequence_ids" - "tests/bindings/test_encoding.py::TestEncoding::test_n_sequences" - "tests/bindings/test_encoding.py::TestEncoding::test_word_to_tokens" - "tests/bindings/test_encoding.py::TestEncoding::test_word_to_chars" - "tests/bindings/test_encoding.py::TestEncoding::test_token_to_sequence" - "tests/bindings/test_encoding.py::TestEncoding::test_token_to_chars" - "tests/bindings/test_encoding.py::TestEncoding::test_token_to_word" - "tests/bindings/test_encoding.py::TestEncoding::test_char_to_token" - "tests/bindings/test_encoding.py::TestEncoding::test_char_to_word" - "tests/bindings/test_encoding.py::TestEncoding::test_truncation" - "tests/bindings/test_encoding.py::TestEncoding::test_invalid_truncate_direction" - "tests/bindings/test_models.py::TestBPE::test_instantiate" - "tests/bindings/test_models.py::TestWordLevel::test_instantiate" - "tests/bindings/test_models.py::TestWordPiece::test_instantiate" - "tests/bindings/test_processors.py::TestByteLevelProcessing::test_processing" - "tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_add_special_tokens" - "tests/bindings/test_tokenizer.py::TestTokenizer::test_from_pretrained" - "tests/bindings/test_tokenizer.py::TestTokenizer::test_from_pretrained_revision" - "tests/bindings/test_tokenizer.py::TestTokenizer::test_encode_special_tokens" - "tests/bindings/test_tokenizer.py::TestTokenizer::test_splitting" - "tests/bindings/test_trainers.py::TestUnigram::test_continuing_prefix_trainer_mistmatch" - "tests/bindings/test_trainers.py::TestUnigram::test_train" - "tests/documentation/test_pipeline.py::TestPipeline::test_pipeline" - "tests/documentation/test_pipeline.py::TestPipeline::test_bert_example" - "tests/documentation/test_quicktour.py::TestQuicktour::test_quicktour" - "tests/documentation/test_tutorial_train_from_iterators.py::TestTrainFromIterators::test_datasets" - "tests/documentation/test_tutorial_train_from_iterators.py::TestTrainFromIterators::test_gzip" - "tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_basic_encode" - "tests/implementations/test_bert_wordpiece.py::TestBertWordPieceTokenizer::test_multiprocessing_with_parallelism" - "tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_basic_encode" - "tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_add_prefix_space" - "tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_lowerspace" - "tests/implementations/test_byte_level_bpe.py::TestByteLevelBPE::test_multiprocessing_with_parallelism" - "tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_basic_encode" - "tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_lowercase" - "tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_decoding" - "tests/implementations/test_char_bpe.py::TestCharBPETokenizer::test_multiprocessing_with_parallelism" - "tests/test_serialization.py::TestSerialization::test_full_serialization_albert" - "tests/test_serialization.py::TestSerialization::test_str_big" - ) - local -x EPYTEST_IGNORE=(benches/) - distutils-r1_src_test -} - -src_install() { - cd tokenizers - cd ../bindings/python - distutils-r1_src_install -} diff --git a/sys-apps/amdgpu_top/amdgpu_top-0.7.0-r1.ebuild b/sys-apps/amdgpu_top/amdgpu_top-0.7.0-r1.ebuild new file mode 100644 index 000000000000..a034f5667aa6 --- /dev/null +++ b/sys-apps/amdgpu_top/amdgpu_top-0.7.0-r1.ebuild @@ -0,0 +1,429 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.12.1 + +EAPI=8 + +CRATES=" + ab_glyph@0.2.23 + ab_glyph_rasterizer@0.1.8 + accesskit@0.12.2 + adler@1.0.2 + ahash@0.8.7 + aho-corasick@1.1.2 + android-activity@0.5.2 + android-properties@0.2.2 + anyhow@1.0.79 + arboard@3.3.0 + arc-swap@1.6.0 + as-raw-xcb-connection@1.0.1 + atomic-waker@1.1.2 + autocfg@1.1.0 + base64@0.21.7 + bitflags@1.3.2 + bitflags@2.4.2 + block-buffer@0.10.4 + block-sys@0.2.1 + block2@0.3.0 + block@0.1.6 + bstr@1.9.0 + btoi@0.4.3 + bumpalo@3.14.0 + bytemuck@1.14.1 + bytemuck_derive@1.5.0 + byteorder@1.5.0 + bytes@1.5.0 + calloop-wayland-source@0.2.0 + calloop@0.12.4 + cc@1.0.83 + cesu8@1.1.0 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cgl@0.3.2 + clipboard-win@4.5.0 + clru@0.6.1 + cocoa-foundation@0.1.2 + cocoa@0.25.0 + color_quant@1.1.0 + combine@4.6.6 + concurrent-queue@2.4.0 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + core-graphics-types@0.1.3 + core-graphics@0.23.1 + cpufeatures@0.2.12 + crc32fast@1.3.2 + crossbeam-channel@0.5.11 + crossbeam-utils@0.8.19 + crossterm@0.25.0 + crossterm_winapi@0.9.1 + crypto-common@0.1.6 + cursive@0.20.0 + cursive_core@0.3.7 + cursor-icon@1.1.0 + darling@0.20.5 + darling_core@0.20.5 + darling_macro@0.20.5 + dashmap@5.5.3 + deranged@0.3.11 + digest@0.10.7 + directories-next@2.0.0 + dirs-sys-next@0.1.2 + dispatch@0.2.0 + displaydoc@0.2.4 + dlib@0.5.2 + downcast-rs@1.2.0 + dunce@1.0.4 + ecolor@0.25.0 + eframe@0.25.0 + egui-winit@0.25.0 + egui@0.25.0 + egui_glow@0.25.0 + egui_plot@0.25.0 + emath@0.25.0 + enum-map-derive@0.17.0 + enum-map@2.7.3 + enumn@0.1.13 + enumset@1.1.3 + enumset_derive@0.8.1 + epaint@0.25.0 + equivalent@1.0.1 + errno@0.3.8 + error-code@2.3.1 + faster-hex@0.9.0 + fastrand@2.0.1 + fdeflate@0.3.4 + find-crate@0.6.3 + flate2@1.0.28 + fluent-bundle@0.15.2 + fluent-langneg@0.13.0 + fluent-syntax@0.11.0 + fluent@0.16.0 + fnv@1.0.7 + foreign-types-macros@0.2.3 + foreign-types-shared@0.3.1 + foreign-types@0.5.0 + form_urlencoded@1.2.1 + generic-array@0.14.7 + gethostname@0.3.0 + gethostname@0.4.3 + getrandom@0.2.12 + gix-actor@0.28.1 + gix-chunk@0.4.7 + gix-commitgraph@0.22.1 + gix-config-value@0.14.4 + gix-config@0.31.0 + gix-date@0.8.3 + gix-diff@0.37.0 + gix-discover@0.26.0 + gix-features@0.36.1 + gix-fs@0.8.1 + gix-glob@0.14.1 + gix-hash@0.13.3 + gix-hashtable@0.4.1 + gix-lock@11.0.1 + gix-macros@0.1.3 + gix-object@0.38.0 + gix-odb@0.54.0 + gix-pack@0.44.0 + gix-path@0.10.5 + gix-quote@0.4.10 + gix-ref@0.38.0 + gix-refspec@0.19.0 + gix-revision@0.23.0 + gix-revwalk@0.9.0 + gix-sec@0.10.4 + gix-tempfile@11.0.1 + gix-trace@0.1.7 + gix-traverse@0.34.0 + gix-url@0.25.2 + gix-utils@0.1.9 + gix-validate@0.8.3 + gix@0.55.2 + gl_generator@0.14.0 + glow@0.13.1 + glutin-winit@0.4.2 + glutin@0.31.2 + glutin_egl_sys@0.6.0 + glutin_glx_sys@0.5.0 + glutin_wgl_sys@0.5.0 + hashbrown@0.14.3 + home@0.5.9 + i18n-config@0.4.6 + i18n-embed-fl@0.7.0 + i18n-embed-impl@0.8.3 + i18n-embed@0.14.1 + icrate@0.0.4 + ident_case@1.0.1 + idna@0.5.0 + image@0.24.8 + indexmap@2.2.2 + intl-memoizer@0.5.1 + intl_pluralrules@7.0.2 + itoa@1.0.10 + jni-sys@0.3.0 + jni@0.21.1 + jobserver@0.1.27 + js-sys@0.3.67 + khronos_api@3.1.0 + lazy_static@1.4.0 + libc@0.2.153 + libloading@0.8.1 + libredox@0.0.1 + libredox@0.0.2 + linux-raw-sys@0.4.13 + locale_config@0.3.0 + lock_api@0.4.11 + log@0.4.20 + malloc_buf@0.0.6 + memchr@2.7.1 + memmap2@0.7.1 + memmap2@0.9.4 + memoffset@0.7.1 + miniz_oxide@0.7.2 + mio@0.8.10 + ndk-context@0.1.1 + ndk-sys@0.5.0+25.2.9519653 + ndk@0.8.0 + nix@0.26.4 + nohash-hasher@0.2.0 + num-complex@0.4.4 + num-conv@0.1.0 + num-integer@0.1.45 + num-iter@0.1.43 + num-rational@0.4.1 + num-traits@0.2.17 + num@0.4.1 + num_enum@0.7.2 + num_enum_derive@0.7.2 + num_threads@0.1.6 + objc-foundation@0.1.1 + objc-sys@0.3.2 + objc2-encode@3.0.0 + objc2@0.4.1 + objc@0.2.7 + objc_id@0.1.1 + once_cell@1.19.0 + orbclient@0.3.47 + owned_ttf_parser@0.20.0 + owning_ref@0.4.1 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + percent-encoding@2.3.1 + pin-project-lite@0.2.13 + pkg-config@0.3.29 + png@0.17.11 + polling@3.3.2 + powerfmt@0.2.0 + proc-macro-crate@3.1.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.78 + prodash@26.2.2 + quick-xml@0.31.0 + quote@1.0.35 + raw-window-handle@0.5.2 + redox_syscall@0.3.5 + redox_syscall@0.4.1 + redox_users@0.4.4 + regex-automata@0.4.5 + regex-syntax@0.8.2 + regex@1.10.3 + ron@0.8.1 + rust-embed-impl@8.2.0 + rust-embed-utils@8.2.0 + rust-embed@8.2.0 + rustc-hash@1.1.0 + rustix@0.38.31 + ryu@1.0.16 + same-file@1.0.6 + scoped-tls@1.0.1 + scopeguard@1.2.0 + self_cell@0.10.3 + self_cell@1.0.3 + serde@1.0.196 + serde_derive@1.0.196 + serde_json@1.0.113 + serde_spanned@0.6.5 + sha1_smol@1.0.0 + sha2@0.10.8 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.1 + signal-hook@0.3.17 + simd-adler32@0.3.7 + slab@0.4.9 + slotmap@1.0.7 + smallvec@1.13.1 + smithay-client-toolkit@0.18.0 + smithay-clipboard@0.7.0 + smol_str@0.2.1 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + str-buf@1.0.6 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.48 + tempfile@3.9.0 + thiserror-impl@1.0.56 + thiserror@1.0.56 + time-core@0.1.2 + time-macros@0.2.17 + time@0.3.34 + tinystr@0.7.5 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + toml@0.5.11 + toml@0.8.9 + toml_datetime@0.6.5 + toml_edit@0.21.1 + tracing-core@0.1.32 + tracing@0.1.40 + ttf-parser@0.20.0 + type-map@0.4.0 + typenum@1.17.0 + unic-langid-impl@0.9.4 + unic-langid@0.9.4 + unicode-bidi@0.3.15 + unicode-bom@2.0.3 + unicode-ident@1.0.12 + unicode-normalization@0.1.22 + unicode-segmentation@1.10.1 + unicode-width@0.1.11 + url@2.5.0 + version_check@0.9.4 + walkdir@2.4.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.90 + wasm-bindgen-futures@0.4.40 + wasm-bindgen-macro-support@0.2.90 + wasm-bindgen-macro@0.2.90 + wasm-bindgen-shared@0.2.90 + wasm-bindgen@0.2.90 + wayland-backend@0.3.3 + wayland-client@0.31.2 + wayland-csd-frame@0.3.0 + wayland-cursor@0.31.1 + wayland-protocols-plasma@0.2.0 + wayland-protocols-wlr@0.2.0 + wayland-protocols@0.31.2 + wayland-scanner@0.31.1 + wayland-sys@0.31.1 + web-sys@0.3.67 + web-time@0.2.4 + webbrowser@0.8.12 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-wsapoll@0.1.1 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows-targets@0.52.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.0 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.0 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.0 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.0 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.0 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.0 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.0 + winit@0.29.10 + winnow@0.5.37 + x11-dl@2.21.0 + x11rb-protocol@0.12.0 + x11rb-protocol@0.13.0 + x11rb@0.12.0 + x11rb@0.13.0 + xcursor@0.3.5 + xi-unicode@0.3.0 + xkbcommon-dl@0.4.1 + xkeysym@0.2.0 + xml-rs@0.8.19 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 +" + +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." +HOMEPAGE="https://github.com/Umio-Yasuno/amdgpu_top" +SRC_URI=" + https://github.com/Umio-Yasuno/amdgpu_top/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 ISC MIT OFL-1.1 Unicode-DFS-2016 ZLIB +" +# tinystr +LICENSE+=" + Apache-2.0 MIT +" + +SLOT="0" +KEYWORDS="~amd64" + +IUSE="man" + +BDEPEND=" + man? ( + || ( + app-text/lowdown + virtual/pandoc + ) + ) +" + +QA_PRESTRIPPED="/usr/bin/amdgpu_top" + +DOCS=( + README.md +) + +src_compile() { + cargo_src_compile + + if use man; then + local docgen=lowdown + + # prefer pandoc if it's installed + has_version virtual/pandoc && docgen=pandoc + + "${docgen}" docs/man.${PN}.md -s -t man -o docs/${PN}.1 \ + || die "failed to generate man page with ${docgen}" + fi +} + +src_install() { + cargo_src_install + + use man && doman docs/${PN}.1 + domenu assets/*.desktop + dodoc "${DOCS[@]}" docs/* +} diff --git a/sys-apps/amdgpu_top/amdgpu_top-0.7.0.ebuild b/sys-apps/amdgpu_top/amdgpu_top-0.7.0.ebuild deleted file mode 100644 index 1387d046786c..000000000000 --- a/sys-apps/amdgpu_top/amdgpu_top-0.7.0.ebuild +++ /dev/null @@ -1,426 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.12.1 - -EAPI=8 - -CRATES=" - ab_glyph@0.2.23 - ab_glyph_rasterizer@0.1.8 - accesskit@0.12.2 - adler@1.0.2 - ahash@0.8.7 - aho-corasick@1.1.2 - android-activity@0.5.2 - android-properties@0.2.2 - anyhow@1.0.79 - arboard@3.3.0 - arc-swap@1.6.0 - as-raw-xcb-connection@1.0.1 - atomic-waker@1.1.2 - autocfg@1.1.0 - base64@0.21.7 - bitflags@1.3.2 - bitflags@2.4.2 - block-buffer@0.10.4 - block-sys@0.2.1 - block2@0.3.0 - block@0.1.6 - bstr@1.9.0 - btoi@0.4.3 - bumpalo@3.14.0 - bytemuck@1.14.1 - bytemuck_derive@1.5.0 - byteorder@1.5.0 - bytes@1.5.0 - calloop-wayland-source@0.2.0 - calloop@0.12.4 - cc@1.0.83 - cesu8@1.1.0 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - cgl@0.3.2 - clipboard-win@4.5.0 - clru@0.6.1 - cocoa-foundation@0.1.2 - cocoa@0.25.0 - color_quant@1.1.0 - combine@4.6.6 - concurrent-queue@2.4.0 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - core-graphics-types@0.1.3 - core-graphics@0.23.1 - cpufeatures@0.2.12 - crc32fast@1.3.2 - crossbeam-channel@0.5.11 - crossbeam-utils@0.8.19 - crossterm@0.25.0 - crossterm_winapi@0.9.1 - crypto-common@0.1.6 - cursive@0.20.0 - cursive_core@0.3.7 - cursor-icon@1.1.0 - darling@0.20.5 - darling_core@0.20.5 - darling_macro@0.20.5 - dashmap@5.5.3 - deranged@0.3.11 - digest@0.10.7 - directories-next@2.0.0 - dirs-sys-next@0.1.2 - dispatch@0.2.0 - displaydoc@0.2.4 - dlib@0.5.2 - downcast-rs@1.2.0 - dunce@1.0.4 - ecolor@0.25.0 - eframe@0.25.0 - egui-winit@0.25.0 - egui@0.25.0 - egui_glow@0.25.0 - egui_plot@0.25.0 - emath@0.25.0 - enum-map-derive@0.17.0 - enum-map@2.7.3 - enumn@0.1.13 - enumset@1.1.3 - enumset_derive@0.8.1 - epaint@0.25.0 - equivalent@1.0.1 - errno@0.3.8 - error-code@2.3.1 - faster-hex@0.9.0 - fastrand@2.0.1 - fdeflate@0.3.4 - find-crate@0.6.3 - flate2@1.0.28 - fluent-bundle@0.15.2 - fluent-langneg@0.13.0 - fluent-syntax@0.11.0 - fluent@0.16.0 - fnv@1.0.7 - foreign-types-macros@0.2.3 - foreign-types-shared@0.3.1 - foreign-types@0.5.0 - form_urlencoded@1.2.1 - generic-array@0.14.7 - gethostname@0.3.0 - gethostname@0.4.3 - getrandom@0.2.12 - gix-actor@0.28.1 - gix-chunk@0.4.7 - gix-commitgraph@0.22.1 - gix-config-value@0.14.4 - gix-config@0.31.0 - gix-date@0.8.3 - gix-diff@0.37.0 - gix-discover@0.26.0 - gix-features@0.36.1 - gix-fs@0.8.1 - gix-glob@0.14.1 - gix-hash@0.13.3 - gix-hashtable@0.4.1 - gix-lock@11.0.1 - gix-macros@0.1.3 - gix-object@0.38.0 - gix-odb@0.54.0 - gix-pack@0.44.0 - gix-path@0.10.5 - gix-quote@0.4.10 - gix-ref@0.38.0 - gix-refspec@0.19.0 - gix-revision@0.23.0 - gix-revwalk@0.9.0 - gix-sec@0.10.4 - gix-tempfile@11.0.1 - gix-trace@0.1.7 - gix-traverse@0.34.0 - gix-url@0.25.2 - gix-utils@0.1.9 - gix-validate@0.8.3 - gix@0.55.2 - gl_generator@0.14.0 - glow@0.13.1 - glutin-winit@0.4.2 - glutin@0.31.2 - glutin_egl_sys@0.6.0 - glutin_glx_sys@0.5.0 - glutin_wgl_sys@0.5.0 - hashbrown@0.14.3 - home@0.5.9 - i18n-config@0.4.6 - i18n-embed-fl@0.7.0 - i18n-embed-impl@0.8.3 - i18n-embed@0.14.1 - icrate@0.0.4 - ident_case@1.0.1 - idna@0.5.0 - image@0.24.8 - indexmap@2.2.2 - intl-memoizer@0.5.1 - intl_pluralrules@7.0.2 - itoa@1.0.10 - jni-sys@0.3.0 - jni@0.21.1 - jobserver@0.1.27 - js-sys@0.3.67 - khronos_api@3.1.0 - lazy_static@1.4.0 - libc@0.2.153 - libloading@0.8.1 - libredox@0.0.1 - libredox@0.0.2 - linux-raw-sys@0.4.13 - locale_config@0.3.0 - lock_api@0.4.11 - log@0.4.20 - malloc_buf@0.0.6 - memchr@2.7.1 - memmap2@0.7.1 - memmap2@0.9.4 - memoffset@0.7.1 - miniz_oxide@0.7.2 - mio@0.8.10 - ndk-context@0.1.1 - ndk-sys@0.5.0+25.2.9519653 - ndk@0.8.0 - nix@0.26.4 - nohash-hasher@0.2.0 - num-complex@0.4.4 - num-conv@0.1.0 - num-integer@0.1.45 - num-iter@0.1.43 - num-rational@0.4.1 - num-traits@0.2.17 - num@0.4.1 - num_enum@0.7.2 - num_enum_derive@0.7.2 - num_threads@0.1.6 - objc-foundation@0.1.1 - objc-sys@0.3.2 - objc2-encode@3.0.0 - objc2@0.4.1 - objc@0.2.7 - objc_id@0.1.1 - once_cell@1.19.0 - orbclient@0.3.47 - owned_ttf_parser@0.20.0 - owning_ref@0.4.1 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - percent-encoding@2.3.1 - pin-project-lite@0.2.13 - pkg-config@0.3.29 - png@0.17.11 - polling@3.3.2 - powerfmt@0.2.0 - proc-macro-crate@3.1.0 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.78 - prodash@26.2.2 - quick-xml@0.31.0 - quote@1.0.35 - raw-window-handle@0.5.2 - redox_syscall@0.3.5 - redox_syscall@0.4.1 - redox_users@0.4.4 - regex-automata@0.4.5 - regex-syntax@0.8.2 - regex@1.10.3 - ron@0.8.1 - rust-embed-impl@8.2.0 - rust-embed-utils@8.2.0 - rust-embed@8.2.0 - rustc-hash@1.1.0 - rustix@0.38.31 - ryu@1.0.16 - same-file@1.0.6 - scoped-tls@1.0.1 - scopeguard@1.2.0 - self_cell@0.10.3 - self_cell@1.0.3 - serde@1.0.196 - serde_derive@1.0.196 - serde_json@1.0.113 - serde_spanned@0.6.5 - sha1_smol@1.0.0 - sha2@0.10.8 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.1 - signal-hook@0.3.17 - simd-adler32@0.3.7 - slab@0.4.9 - slotmap@1.0.7 - smallvec@1.13.1 - smithay-client-toolkit@0.18.0 - smithay-clipboard@0.7.0 - smol_str@0.2.1 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - str-buf@1.0.6 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.48 - tempfile@3.9.0 - thiserror-impl@1.0.56 - thiserror@1.0.56 - time-core@0.1.2 - time-macros@0.2.17 - time@0.3.34 - tinystr@0.7.5 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - toml@0.5.11 - toml@0.8.9 - toml_datetime@0.6.5 - toml_edit@0.21.1 - tracing-core@0.1.32 - tracing@0.1.40 - ttf-parser@0.20.0 - type-map@0.4.0 - typenum@1.17.0 - unic-langid-impl@0.9.4 - unic-langid@0.9.4 - unicode-bidi@0.3.15 - unicode-bom@2.0.3 - unicode-ident@1.0.12 - unicode-normalization@0.1.22 - unicode-segmentation@1.10.1 - unicode-width@0.1.11 - url@2.5.0 - version_check@0.9.4 - walkdir@2.4.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.90 - wasm-bindgen-futures@0.4.40 - wasm-bindgen-macro-support@0.2.90 - wasm-bindgen-macro@0.2.90 - wasm-bindgen-shared@0.2.90 - wasm-bindgen@0.2.90 - wayland-backend@0.3.3 - wayland-client@0.31.2 - wayland-csd-frame@0.3.0 - wayland-cursor@0.31.1 - wayland-protocols-plasma@0.2.0 - wayland-protocols-wlr@0.2.0 - wayland-protocols@0.31.2 - wayland-scanner@0.31.1 - wayland-sys@0.31.1 - web-sys@0.3.67 - web-time@0.2.4 - webbrowser@0.8.12 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - winapi-wsapoll@0.1.1 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows-targets@0.52.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.0 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.0 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.0 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.0 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.0 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.0 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.0 - winit@0.29.10 - winnow@0.5.37 - x11-dl@2.21.0 - x11rb-protocol@0.12.0 - x11rb-protocol@0.13.0 - x11rb@0.12.0 - x11rb@0.13.0 - xcursor@0.3.5 - xi-unicode@0.3.0 - xkbcommon-dl@0.4.1 - xkeysym@0.2.0 - xml-rs@0.8.19 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 -" - -declare -A GIT_CRATES=( - [libdrm_amdgpu_sys]='https://github.com/Umio-Yasuno/libdrm-amdgpu-sys-rs;6852a973c639385988ce0454b59dddcf40ebcd2f;libdrm-amdgpu-sys-rs-%commit%' -) - -inherit desktop cargo - -DESCRIPTION="Tool to displays AMDGPU usage." -HOMEPAGE="https://github.com/Umio-Yasuno/amdgpu_top" -SRC_URI=" - https://github.com/Umio-Yasuno/amdgpu_top/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 ISC MIT OFL-1.1 Unicode-DFS-2016 ZLIB -" -# tinystr -LICENSE+=" - Apache-2.0 MIT -" - -SLOT="0" -KEYWORDS="~amd64" - -IUSE="man" - -BDEPEND=" - man? ( - || ( - app-text/lowdown - virtual/pandoc - ) - ) -" - -QA_PRESTRIPPED="/usr/bin/amdgpu_top" - -DOCS=( - README.md -) - -src_compile() { - cargo_src_compile - - if use man; then - local docgen=lowdown - - # prefer pandoc if it's installed - has_version virtual/pandoc && docgen=pandoc - - "${docgen}" docs/man.${PN}.md -s -t man -o docs/${PN}.1 \ - || die "failed to generate man page with ${docgen}" - fi -} - -src_install() { - cargo_src_install - - use man && doman docs/${PN}.1 - domenu assets/*.desktop - dodoc "${DOCS[@]}" docs/* -} diff --git a/sys-apps/amdgpu_top/amdgpu_top-0.9.1-r1.ebuild b/sys-apps/amdgpu_top/amdgpu_top-0.9.1-r1.ebuild new file mode 100644 index 000000000000..c8949104ff02 --- /dev/null +++ b/sys-apps/amdgpu_top/amdgpu_top-0.9.1-r1.ebuild @@ -0,0 +1,469 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + ab_glyph@0.2.28 + ab_glyph_rasterizer@0.1.8 + accesskit@0.12.3 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + android-activity@0.5.2 + android-properties@0.2.2 + android_system_properties@0.1.5 + anyhow@1.0.86 + arboard@3.4.0 + arc-swap@1.7.1 + arrayvec@0.7.4 + as-raw-xcb-connection@1.0.1 + ash@0.37.3+1.3.251 + atomic-waker@1.1.2 + autocfg@1.3.0 + base64@0.21.7 + basic-toml@0.1.9 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + block-sys@0.2.1 + block2@0.3.0 + block2@0.5.1 + block@0.1.6 + bstr@1.10.0 + bumpalo@3.16.0 + bytemuck@1.16.3 + bytemuck_derive@1.7.0 + byteorder-lite@0.1.0 + bytes@1.7.1 + calloop-wayland-source@0.2.0 + calloop-wayland-source@0.3.0 + calloop@0.12.4 + calloop@0.13.0 + cc@1.1.10 + cesu8@1.1.0 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cgl@0.3.2 + clipboard-win@5.4.0 + clru@0.6.2 + codespan-reporting@0.11.1 + com@0.6.0 + com_macros@0.6.0 + com_macros_support@0.6.0 + combine@4.6.7 + concurrent-queue@2.5.0 + core-foundation-sys@0.8.7 + core-foundation@0.9.4 + core-graphics-types@0.1.3 + core-graphics@0.23.2 + cpufeatures@0.2.13 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-utils@0.8.20 + crossterm@0.25.0 + crossterm_winapi@0.9.1 + crypto-common@0.1.6 + cursive@0.20.0 + cursive_core@0.3.7 + cursor-icon@1.1.0 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + dashmap@5.5.3 + deranged@0.3.11 + digest@0.10.7 + directories@5.0.1 + dirs-sys@0.4.1 + dispatch@0.2.0 + displaydoc@0.2.5 + dlib@0.5.2 + document-features@0.2.10 + downcast-rs@1.2.1 + dunce@1.0.5 + ecolor@0.28.1 + eframe@0.28.1 + egui-wgpu@0.28.1 + egui-winit@0.28.1 + egui@0.28.1 + egui_glow@0.28.1 + egui_plot@0.28.1 + emath@0.28.1 + enum-map-derive@0.17.0 + enum-map@2.7.3 + enumn@0.1.14 + enumset@1.1.5 + enumset_derive@0.10.0 + epaint@0.28.1 + equivalent@1.0.1 + errno@0.3.9 + error-code@3.2.0 + faster-hex@0.9.0 + fastrand@2.1.0 + fdeflate@0.3.4 + find-crate@0.6.3 + flate2@1.0.31 + fluent-bundle@0.15.3 + fluent-langneg@0.13.0 + fluent-syntax@0.11.1 + fluent@0.16.1 + fnv@1.0.7 + foreign-types-macros@0.2.3 + foreign-types-shared@0.3.1 + foreign-types@0.5.0 + form_urlencoded@1.2.1 + generic-array@0.14.7 + gethostname@0.4.3 + getrandom@0.2.15 + gix-actor@0.31.5 + gix-chunk@0.4.8 + gix-commitgraph@0.24.3 + gix-config-value@0.14.7 + gix-config@0.38.0 + gix-date@0.8.7 + gix-diff@0.44.1 + gix-discover@0.33.0 + gix-features@0.38.2 + gix-fs@0.11.2 + gix-glob@0.16.4 + gix-hash@0.14.2 + gix-hashtable@0.5.2 + gix-lock@14.0.0 + gix-macros@0.1.5 + gix-object@0.42.3 + gix-odb@0.61.1 + gix-pack@0.51.1 + gix-path@0.10.9 + gix-quote@0.4.12 + gix-ref@0.45.0 + gix-refspec@0.23.1 + gix-revision@0.27.2 + gix-revwalk@0.13.2 + gix-sec@0.10.7 + gix-tempfile@14.0.1 + gix-trace@0.1.9 + gix-traverse@0.39.2 + gix-url@0.27.4 + gix-utils@0.1.12 + gix-validate@0.8.5 + gix@0.64.0 + gl_generator@0.14.0 + glow@0.13.1 + glutin-winit@0.4.2 + glutin@0.31.3 + glutin_egl_sys@0.6.0 + glutin_glx_sys@0.5.0 + glutin_wgl_sys@0.5.0 + gpu-alloc-types@0.3.0 + gpu-alloc@0.6.0 + gpu-allocator@0.25.0 + gpu-descriptor-types@0.2.0 + gpu-descriptor@0.3.0 + hashbrown@0.14.5 + hassle-rs@0.11.0 + hermit-abi@0.4.0 + hexf-parse@0.2.1 + home@0.5.9 + i18n-config@0.4.7 + i18n-embed-fl@0.7.0 + i18n-embed-impl@0.8.3 + i18n-embed@0.14.1 + icrate@0.0.4 + ident_case@1.0.1 + idna@0.5.0 + image@0.25.2 + indexmap@2.4.0 + intl-memoizer@0.5.2 + intl_pluralrules@7.0.2 + itoa@1.0.11 + jni-sys@0.3.0 + jni@0.21.1 + jobserver@0.1.32 + js-sys@0.3.70 + khronos-egl@6.0.0 + khronos_api@3.1.0 + lazy_static@1.5.0 + libc@0.2.155 + libloading@0.7.4 + libloading@0.8.5 + libredox@0.0.2 + libredox@0.1.3 + linux-raw-sys@0.4.14 + litrs@0.4.1 + locale_config@0.3.0 + lock_api@0.4.12 + log@0.4.22 + malloc_buf@0.0.6 + memchr@2.7.4 + memmap2@0.9.4 + memoffset@0.9.1 + metal@0.28.0 + miniz_oxide@0.7.4 + mio@0.8.11 + naga@0.20.0 + ndk-context@0.1.1 + ndk-sys@0.5.0+25.2.9519653 + ndk@0.8.0 + nohash-hasher@0.2.0 + num-complex@0.4.6 + num-conv@0.1.0 + num-integer@0.1.46 + num-iter@0.1.45 + num-rational@0.4.2 + num-traits@0.2.19 + num@0.4.3 + num_enum@0.7.3 + num_enum_derive@0.7.3 + num_threads@0.1.7 + objc-foundation@0.1.1 + objc-sys@0.3.5 + objc2-app-kit@0.2.2 + objc2-core-data@0.2.2 + objc2-core-image@0.2.2 + objc2-encode@3.0.0 + objc2-encode@4.0.3 + objc2-foundation@0.2.2 + objc2-metal@0.2.2 + objc2-quartz-core@0.2.2 + objc2@0.4.1 + objc2@0.5.2 + objc@0.2.7 + objc_id@0.1.1 + once_cell@1.19.0 + option-ext@0.2.0 + orbclient@0.3.47 + owned_ttf_parser@0.24.0 + owning_ref@0.4.1 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + percent-encoding@2.3.1 + pin-project-lite@0.2.14 + pkg-config@0.3.30 + png@0.17.13 + polling@3.7.3 + powerfmt@0.2.0 + presser@0.3.1 + proc-macro-crate@3.1.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.86 + prodash@28.0.0 + profiling@1.0.15 + quick-xml@0.34.0 + quote@1.0.36 + raw-window-handle@0.5.2 + raw-window-handle@0.6.2 + redox_syscall@0.3.5 + redox_syscall@0.4.1 + redox_syscall@0.5.3 + redox_users@0.4.5 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.6 + renderdoc-sys@1.1.0 + ron@0.8.1 + rust-embed-impl@8.5.0 + rust-embed-utils@8.5.0 + rust-embed@8.5.0 + rustc-hash@1.1.0 + rustix@0.38.34 + ryu@1.0.18 + same-file@1.0.6 + scoped-tls@1.0.1 + scopeguard@1.2.0 + self_cell@0.10.3 + self_cell@1.0.4 + serde@1.0.207 + serde_derive@1.0.207 + serde_json@1.0.124 + sha1_smol@1.0.1 + sha2@0.10.8 + signal-hook-mio@0.2.4 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + simd-adler32@0.3.7 + slab@0.4.9 + slotmap@1.0.7 + smallvec@1.13.2 + smithay-client-toolkit@0.18.1 + smithay-client-toolkit@0.19.2 + smithay-clipboard@0.7.2 + smol_str@0.2.2 + spirv@0.3.0+sdk-1.3.268.0 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.74 + tempfile@3.12.0 + termcolor@1.4.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tinystr@0.7.6 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + toml@0.5.11 + toml_datetime@0.6.8 + toml_edit@0.21.1 + tracing-core@0.1.32 + tracing@0.1.40 + ttf-parser@0.24.1 + type-map@0.5.0 + typenum@1.17.0 + unic-langid-impl@0.9.5 + unic-langid@0.9.5 + unicode-bidi@0.3.15 + unicode-bom@2.0.3 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-segmentation@1.11.0 + unicode-width@0.1.13 + unicode-xid@0.2.4 + url@2.5.2 + version_check@0.9.5 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.93 + wasm-bindgen-futures@0.4.43 + wasm-bindgen-macro-support@0.2.93 + wasm-bindgen-macro@0.2.93 + wasm-bindgen-shared@0.2.93 + wasm-bindgen@0.2.93 + wayland-backend@0.3.6 + wayland-client@0.31.5 + wayland-csd-frame@0.3.0 + wayland-cursor@0.31.5 + wayland-protocols-plasma@0.2.0 + wayland-protocols-wlr@0.2.0 + wayland-protocols-wlr@0.3.3 + wayland-protocols@0.31.2 + wayland-protocols@0.32.3 + wayland-scanner@0.31.4 + wayland-sys@0.31.4 + web-sys@0.3.70 + web-time@0.2.4 + webbrowser@1.0.1 + wgpu-core@0.21.1 + wgpu-hal@0.21.1 + wgpu-types@0.20.0 + wgpu@0.20.1 + widestring@1.1.0 + 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.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows@0.52.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winit@0.29.15 + winnow@0.5.40 + winnow@0.6.18 + x11-dl@2.21.0 + x11rb-protocol@0.13.1 + x11rb@0.13.1 + xcursor@0.3.8 + xi-unicode@0.3.0 + xkbcommon-dl@0.4.2 + xkeysym@0.2.1 + xml-rs@0.8.21 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +declare -A GIT_CRATES=( + [libdrm_amdgpu_sys]='https://github.com/Umio-Yasuno/libdrm-amdgpu-sys-rs;b981299647a56ab8397b36a040f5a82943906a18;libdrm-amdgpu-sys-rs-%commit%' +) + +inherit desktop cargo + +DESCRIPTION="Tool to displays AMDGPU usage." +HOMEPAGE="https://github.com/Umio-Yasuno/amdgpu_top" +SRC_URI=" + https://github.com/Umio-Yasuno/amdgpu_top/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 OFL-1.1 Unicode-3.0 + Unicode-DFS-2016 ZLIB +" +SLOT="0" +KEYWORDS="~amd64" + +IUSE="man" + +BDEPEND=" + man? ( + || ( + app-text/lowdown + virtual/pandoc + ) + ) +" + +QA_PRESTRIPPED="/usr/bin/amdgpu_top" + +DOCS=( + README.md +) + +src_compile() { + cargo_src_compile + + if use man; then + local docgen=lowdown + + # prefer pandoc if it's installed + has_version virtual/pandoc && docgen=pandoc + + "${docgen}" docs/man.${PN}.md -s -t man -o docs/${PN}.1 \ + || die "failed to generate man page with ${docgen}" + fi +} + +src_install() { + cargo_src_install + + use man && doman docs/${PN}.1 + domenu assets/*.desktop + dodoc "${DOCS[@]}" docs/* +} diff --git a/sys-apps/amdgpu_top/amdgpu_top-0.9.1.ebuild b/sys-apps/amdgpu_top/amdgpu_top-0.9.1.ebuild deleted file mode 100644 index c8949104ff02..000000000000 --- a/sys-apps/amdgpu_top/amdgpu_top-0.9.1.ebuild +++ /dev/null @@ -1,469 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - ab_glyph@0.2.28 - ab_glyph_rasterizer@0.1.8 - accesskit@0.12.3 - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - android-activity@0.5.2 - android-properties@0.2.2 - android_system_properties@0.1.5 - anyhow@1.0.86 - arboard@3.4.0 - arc-swap@1.7.1 - arrayvec@0.7.4 - as-raw-xcb-connection@1.0.1 - ash@0.37.3+1.3.251 - atomic-waker@1.1.2 - autocfg@1.3.0 - base64@0.21.7 - basic-toml@0.1.9 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - block-sys@0.2.1 - block2@0.3.0 - block2@0.5.1 - block@0.1.6 - bstr@1.10.0 - bumpalo@3.16.0 - bytemuck@1.16.3 - bytemuck_derive@1.7.0 - byteorder-lite@0.1.0 - bytes@1.7.1 - calloop-wayland-source@0.2.0 - calloop-wayland-source@0.3.0 - calloop@0.12.4 - calloop@0.13.0 - cc@1.1.10 - cesu8@1.1.0 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - cgl@0.3.2 - clipboard-win@5.4.0 - clru@0.6.2 - codespan-reporting@0.11.1 - com@0.6.0 - com_macros@0.6.0 - com_macros_support@0.6.0 - combine@4.6.7 - concurrent-queue@2.5.0 - core-foundation-sys@0.8.7 - core-foundation@0.9.4 - core-graphics-types@0.1.3 - core-graphics@0.23.2 - cpufeatures@0.2.13 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-utils@0.8.20 - crossterm@0.25.0 - crossterm_winapi@0.9.1 - crypto-common@0.1.6 - cursive@0.20.0 - cursive_core@0.3.7 - cursor-icon@1.1.0 - darling@0.20.10 - darling_core@0.20.10 - darling_macro@0.20.10 - dashmap@5.5.3 - deranged@0.3.11 - digest@0.10.7 - directories@5.0.1 - dirs-sys@0.4.1 - dispatch@0.2.0 - displaydoc@0.2.5 - dlib@0.5.2 - document-features@0.2.10 - downcast-rs@1.2.1 - dunce@1.0.5 - ecolor@0.28.1 - eframe@0.28.1 - egui-wgpu@0.28.1 - egui-winit@0.28.1 - egui@0.28.1 - egui_glow@0.28.1 - egui_plot@0.28.1 - emath@0.28.1 - enum-map-derive@0.17.0 - enum-map@2.7.3 - enumn@0.1.14 - enumset@1.1.5 - enumset_derive@0.10.0 - epaint@0.28.1 - equivalent@1.0.1 - errno@0.3.9 - error-code@3.2.0 - faster-hex@0.9.0 - fastrand@2.1.0 - fdeflate@0.3.4 - find-crate@0.6.3 - flate2@1.0.31 - fluent-bundle@0.15.3 - fluent-langneg@0.13.0 - fluent-syntax@0.11.1 - fluent@0.16.1 - fnv@1.0.7 - foreign-types-macros@0.2.3 - foreign-types-shared@0.3.1 - foreign-types@0.5.0 - form_urlencoded@1.2.1 - generic-array@0.14.7 - gethostname@0.4.3 - getrandom@0.2.15 - gix-actor@0.31.5 - gix-chunk@0.4.8 - gix-commitgraph@0.24.3 - gix-config-value@0.14.7 - gix-config@0.38.0 - gix-date@0.8.7 - gix-diff@0.44.1 - gix-discover@0.33.0 - gix-features@0.38.2 - gix-fs@0.11.2 - gix-glob@0.16.4 - gix-hash@0.14.2 - gix-hashtable@0.5.2 - gix-lock@14.0.0 - gix-macros@0.1.5 - gix-object@0.42.3 - gix-odb@0.61.1 - gix-pack@0.51.1 - gix-path@0.10.9 - gix-quote@0.4.12 - gix-ref@0.45.0 - gix-refspec@0.23.1 - gix-revision@0.27.2 - gix-revwalk@0.13.2 - gix-sec@0.10.7 - gix-tempfile@14.0.1 - gix-trace@0.1.9 - gix-traverse@0.39.2 - gix-url@0.27.4 - gix-utils@0.1.12 - gix-validate@0.8.5 - gix@0.64.0 - gl_generator@0.14.0 - glow@0.13.1 - glutin-winit@0.4.2 - glutin@0.31.3 - glutin_egl_sys@0.6.0 - glutin_glx_sys@0.5.0 - glutin_wgl_sys@0.5.0 - gpu-alloc-types@0.3.0 - gpu-alloc@0.6.0 - gpu-allocator@0.25.0 - gpu-descriptor-types@0.2.0 - gpu-descriptor@0.3.0 - hashbrown@0.14.5 - hassle-rs@0.11.0 - hermit-abi@0.4.0 - hexf-parse@0.2.1 - home@0.5.9 - i18n-config@0.4.7 - i18n-embed-fl@0.7.0 - i18n-embed-impl@0.8.3 - i18n-embed@0.14.1 - icrate@0.0.4 - ident_case@1.0.1 - idna@0.5.0 - image@0.25.2 - indexmap@2.4.0 - intl-memoizer@0.5.2 - intl_pluralrules@7.0.2 - itoa@1.0.11 - jni-sys@0.3.0 - jni@0.21.1 - jobserver@0.1.32 - js-sys@0.3.70 - khronos-egl@6.0.0 - khronos_api@3.1.0 - lazy_static@1.5.0 - libc@0.2.155 - libloading@0.7.4 - libloading@0.8.5 - libredox@0.0.2 - libredox@0.1.3 - linux-raw-sys@0.4.14 - litrs@0.4.1 - locale_config@0.3.0 - lock_api@0.4.12 - log@0.4.22 - malloc_buf@0.0.6 - memchr@2.7.4 - memmap2@0.9.4 - memoffset@0.9.1 - metal@0.28.0 - miniz_oxide@0.7.4 - mio@0.8.11 - naga@0.20.0 - ndk-context@0.1.1 - ndk-sys@0.5.0+25.2.9519653 - ndk@0.8.0 - nohash-hasher@0.2.0 - num-complex@0.4.6 - num-conv@0.1.0 - num-integer@0.1.46 - num-iter@0.1.45 - num-rational@0.4.2 - num-traits@0.2.19 - num@0.4.3 - num_enum@0.7.3 - num_enum_derive@0.7.3 - num_threads@0.1.7 - objc-foundation@0.1.1 - objc-sys@0.3.5 - objc2-app-kit@0.2.2 - objc2-core-data@0.2.2 - objc2-core-image@0.2.2 - objc2-encode@3.0.0 - objc2-encode@4.0.3 - objc2-foundation@0.2.2 - objc2-metal@0.2.2 - objc2-quartz-core@0.2.2 - objc2@0.4.1 - objc2@0.5.2 - objc@0.2.7 - objc_id@0.1.1 - once_cell@1.19.0 - option-ext@0.2.0 - orbclient@0.3.47 - owned_ttf_parser@0.24.0 - owning_ref@0.4.1 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - paste@1.0.15 - percent-encoding@2.3.1 - pin-project-lite@0.2.14 - pkg-config@0.3.30 - png@0.17.13 - polling@3.7.3 - powerfmt@0.2.0 - presser@0.3.1 - proc-macro-crate@3.1.0 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.86 - prodash@28.0.0 - profiling@1.0.15 - quick-xml@0.34.0 - quote@1.0.36 - raw-window-handle@0.5.2 - raw-window-handle@0.6.2 - redox_syscall@0.3.5 - redox_syscall@0.4.1 - redox_syscall@0.5.3 - redox_users@0.4.5 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.6 - renderdoc-sys@1.1.0 - ron@0.8.1 - rust-embed-impl@8.5.0 - rust-embed-utils@8.5.0 - rust-embed@8.5.0 - rustc-hash@1.1.0 - rustix@0.38.34 - ryu@1.0.18 - same-file@1.0.6 - scoped-tls@1.0.1 - scopeguard@1.2.0 - self_cell@0.10.3 - self_cell@1.0.4 - serde@1.0.207 - serde_derive@1.0.207 - serde_json@1.0.124 - sha1_smol@1.0.1 - sha2@0.10.8 - signal-hook-mio@0.2.4 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - simd-adler32@0.3.7 - slab@0.4.9 - slotmap@1.0.7 - smallvec@1.13.2 - smithay-client-toolkit@0.18.1 - smithay-client-toolkit@0.19.2 - smithay-clipboard@0.7.2 - smol_str@0.2.2 - spirv@0.3.0+sdk-1.3.268.0 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.74 - tempfile@3.12.0 - termcolor@1.4.1 - thiserror-impl@1.0.63 - thiserror@1.0.63 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tinystr@0.7.6 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - toml@0.5.11 - toml_datetime@0.6.8 - toml_edit@0.21.1 - tracing-core@0.1.32 - tracing@0.1.40 - ttf-parser@0.24.1 - type-map@0.5.0 - typenum@1.17.0 - unic-langid-impl@0.9.5 - unic-langid@0.9.5 - unicode-bidi@0.3.15 - unicode-bom@2.0.3 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-segmentation@1.11.0 - unicode-width@0.1.13 - unicode-xid@0.2.4 - url@2.5.2 - version_check@0.9.5 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.93 - wasm-bindgen-futures@0.4.43 - wasm-bindgen-macro-support@0.2.93 - wasm-bindgen-macro@0.2.93 - wasm-bindgen-shared@0.2.93 - wasm-bindgen@0.2.93 - wayland-backend@0.3.6 - wayland-client@0.31.5 - wayland-csd-frame@0.3.0 - wayland-cursor@0.31.5 - wayland-protocols-plasma@0.2.0 - wayland-protocols-wlr@0.2.0 - wayland-protocols-wlr@0.3.3 - wayland-protocols@0.31.2 - wayland-protocols@0.32.3 - wayland-scanner@0.31.4 - wayland-sys@0.31.4 - web-sys@0.3.70 - web-time@0.2.4 - webbrowser@1.0.1 - wgpu-core@0.21.1 - wgpu-hal@0.21.1 - wgpu-types@0.20.0 - wgpu@0.20.1 - widestring@1.1.0 - 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.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-sys@0.59.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows-targets@0.52.6 - windows@0.52.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.6 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.6 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.6 - windows_i686_gnullvm@0.52.6 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.6 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.6 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.6 - winit@0.29.15 - winnow@0.5.40 - winnow@0.6.18 - x11-dl@2.21.0 - x11rb-protocol@0.13.1 - x11rb@0.13.1 - xcursor@0.3.8 - xi-unicode@0.3.0 - xkbcommon-dl@0.4.2 - xkeysym@0.2.1 - xml-rs@0.8.21 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -declare -A GIT_CRATES=( - [libdrm_amdgpu_sys]='https://github.com/Umio-Yasuno/libdrm-amdgpu-sys-rs;b981299647a56ab8397b36a040f5a82943906a18;libdrm-amdgpu-sys-rs-%commit%' -) - -inherit desktop cargo - -DESCRIPTION="Tool to displays AMDGPU usage." -HOMEPAGE="https://github.com/Umio-Yasuno/amdgpu_top" -SRC_URI=" - https://github.com/Umio-Yasuno/amdgpu_top/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 OFL-1.1 Unicode-3.0 - Unicode-DFS-2016 ZLIB -" -SLOT="0" -KEYWORDS="~amd64" - -IUSE="man" - -BDEPEND=" - man? ( - || ( - app-text/lowdown - virtual/pandoc - ) - ) -" - -QA_PRESTRIPPED="/usr/bin/amdgpu_top" - -DOCS=( - README.md -) - -src_compile() { - cargo_src_compile - - if use man; then - local docgen=lowdown - - # prefer pandoc if it's installed - has_version virtual/pandoc && docgen=pandoc - - "${docgen}" docs/man.${PN}.md -s -t man -o docs/${PN}.1 \ - || die "failed to generate man page with ${docgen}" - fi -} - -src_install() { - cargo_src_install - - use man && doman docs/${PN}.1 - domenu assets/*.desktop - dodoc "${DOCS[@]}" docs/* -} diff --git a/sys-apps/asahi-bless/asahi-bless-0.3.0-r1.ebuild b/sys-apps/asahi-bless/asahi-bless-0.3.0-r1.ebuild new file mode 100644 index 000000000000..c9a4d40bfb75 --- /dev/null +++ b/sys-apps/asahi-bless/asahi-bless-0.3.0-r1.ebuild @@ -0,0 +1,103 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler32@1.2.0 + ahash@0.7.6 + anstream@0.6.4 + anstyle-parse@0.2.3 + anstyle-query@1.0.1 + anstyle-wincon@3.0.2 + anstyle@1.0.4 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.3.3 + cfg-if@1.0.0 + clap@3.2.25 + clap@4.4.11 + clap_builder@4.4.11 + clap_derive@4.4.7 + clap_lex@0.2.4 + clap_lex@0.6.0 + colorchoice@1.0.0 + crc-catalog@2.2.0 + crc32fast@1.3.2 + crc@3.0.1 + dlv-list@0.3.0 + getrandom@0.2.10 + gpt@3.1.0 + hashbrown@0.12.3 + heck@0.4.1 + hermit-abi@0.1.19 + indexmap@1.9.3 + libc@0.2.147 + log@0.4.19 + memoffset@0.7.1 + nix@0.26.2 + once_cell@1.18.0 + ordered-multimap@0.4.3 + os_str_bytes@6.5.1 + pin-utils@0.1.0 + proc-macro2@1.0.70 + quote@1.0.33 + rust-ini@0.18.0 + static_assertions@1.1.0 + strsim@0.10.0 + syn@2.0.39 + termcolor@1.2.0 + textwrap@0.16.0 + unicode-ident@1.0.12 + utf8parse@0.2.1 + uuid@1.4.0 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + 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 + windows-sys@0.52.0 + windows-targets@0.52.0 + windows_aarch64_gnullvm@0.52.0 + windows_aarch64_msvc@0.52.0 + windows_i686_gnu@0.52.0 + windows_i686_msvc@0.52.0 + windows_x86_64_gnu@0.52.0 + windows_x86_64_gnullvm@0.52.0 + windows_x86_64_msvc@0.52.0 +" + +inherit cargo linux-info + +# Releases are not tagged +COMMIT="36302336f7e07080e289baccda8d07c7c1a9d00d" +MY_P="asahi-nvram-${COMMIT}" +DESCRIPTION="CLI boot disk selector for Apple Silicon Macs" +HOMEPAGE="https://github.com/WhatAmISupposedToPutHere/asahi-nvram" + +SRC_URI=" + ${CARGO_CRATE_URIS} + https://github.com/WhatAmISupposedToPutHere/asahi-nvram/archive/${COMMIT}.tar.gz -> ${P}.tar.gz +" +S="${WORKDIR}/${MY_P}/asahi-bless" + +LICENSE="MIT" +# Dependent crate licenses +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/sys-apps/asahi-bless/asahi-bless-0.3.0.ebuild b/sys-apps/asahi-bless/asahi-bless-0.3.0.ebuild deleted file mode 100644 index 7cb997d40f69..000000000000 --- a/sys-apps/asahi-bless/asahi-bless-0.3.0.ebuild +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler32@1.2.0 - ahash@0.7.6 - anstream@0.6.4 - anstyle-parse@0.2.3 - anstyle-query@1.0.1 - anstyle-wincon@3.0.2 - anstyle@1.0.4 - atty@0.2.14 - autocfg@1.1.0 - bitflags@1.3.2 - bitflags@2.3.3 - cfg-if@1.0.0 - clap@3.2.25 - clap@4.4.11 - clap_builder@4.4.11 - clap_derive@4.4.7 - clap_lex@0.2.4 - clap_lex@0.6.0 - colorchoice@1.0.0 - crc-catalog@2.2.0 - crc32fast@1.3.2 - crc@3.0.1 - dlv-list@0.3.0 - getrandom@0.2.10 - gpt@3.1.0 - hashbrown@0.12.3 - heck@0.4.1 - hermit-abi@0.1.19 - indexmap@1.9.3 - libc@0.2.147 - log@0.4.19 - memoffset@0.7.1 - nix@0.26.2 - once_cell@1.18.0 - ordered-multimap@0.4.3 - os_str_bytes@6.5.1 - pin-utils@0.1.0 - proc-macro2@1.0.70 - quote@1.0.33 - rust-ini@0.18.0 - static_assertions@1.1.0 - strsim@0.10.0 - syn@2.0.39 - termcolor@1.2.0 - textwrap@0.16.0 - unicode-ident@1.0.12 - utf8parse@0.2.1 - uuid@1.4.0 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - 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 - windows-sys@0.52.0 - windows-targets@0.52.0 - windows_aarch64_gnullvm@0.52.0 - windows_aarch64_msvc@0.52.0 - windows_i686_gnu@0.52.0 - windows_i686_msvc@0.52.0 - windows_x86_64_gnu@0.52.0 - windows_x86_64_gnullvm@0.52.0 - windows_x86_64_msvc@0.52.0 -" - -inherit cargo linux-info - -# Releases are not tagged -COMMIT="36302336f7e07080e289baccda8d07c7c1a9d00d" -MY_P="asahi-nvram-${COMMIT}" -DESCRIPTION="CLI boot disk selector for Apple Silicon Macs" -HOMEPAGE="https://github.com/WhatAmISupposedToPutHere/asahi-nvram" - -SRC_URI=" - ${CARGO_CRATE_URIS} - https://github.com/WhatAmISupposedToPutHere/asahi-nvram/archive/${COMMIT}.tar.gz -> ${P}.tar.gz -" -S="${WORKDIR}/${MY_P}/asahi-bless" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" MIT Unicode-DFS-2016 ZLIB" -SLOT="0" -KEYWORDS="~arm64" - -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/sys-apps/asahi-nvram/asahi-nvram-0.2.1-r1.ebuild b/sys-apps/asahi-nvram/asahi-nvram-0.2.1-r1.ebuild new file mode 100644 index 000000000000..e901a4943328 --- /dev/null +++ b/sys-apps/asahi-nvram/asahi-nvram-0.2.1-r1.ebuild @@ -0,0 +1,103 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler32@1.2.0 + ahash@0.7.6 + anstream@0.6.4 + anstyle-parse@0.2.3 + anstyle-query@1.0.1 + anstyle-wincon@3.0.2 + anstyle@1.0.4 + atty@0.2.14 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.3.3 + cfg-if@1.0.0 + clap@3.2.25 + clap@4.4.11 + clap_builder@4.4.11 + clap_derive@4.4.7 + clap_lex@0.2.4 + clap_lex@0.6.0 + colorchoice@1.0.0 + crc-catalog@2.2.0 + crc32fast@1.3.2 + crc@3.0.1 + dlv-list@0.3.0 + getrandom@0.2.10 + gpt@3.1.0 + hashbrown@0.12.3 + heck@0.4.1 + hermit-abi@0.1.19 + indexmap@1.9.3 + libc@0.2.147 + log@0.4.19 + memoffset@0.7.1 + nix@0.26.2 + once_cell@1.18.0 + ordered-multimap@0.4.3 + os_str_bytes@6.5.1 + pin-utils@0.1.0 + proc-macro2@1.0.70 + quote@1.0.33 + rust-ini@0.18.0 + static_assertions@1.1.0 + strsim@0.10.0 + syn@2.0.39 + termcolor@1.2.0 + textwrap@0.16.0 + unicode-ident@1.0.12 + utf8parse@0.2.1 + uuid@1.4.0 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + 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 + windows-sys@0.52.0 + windows-targets@0.52.0 + windows_aarch64_gnullvm@0.52.0 + windows_aarch64_msvc@0.52.0 + windows_i686_gnu@0.52.0 + windows_i686_msvc@0.52.0 + windows_x86_64_gnu@0.52.0 + windows_x86_64_gnullvm@0.52.0 + windows_x86_64_msvc@0.52.0 +" + +inherit cargo linux-info + +# Releases are not tagged +COMMIT="6764bf5fbe6371a70604cc58aaa6d6b4473b3adf" +MY_P="asahi-nvram-${COMMIT}" +DESCRIPTION="Tool to read and write nvram variables on ARM Macs" +HOMEPAGE="https://github.com/WhatAmISupposedToPutHere/asahi-nvram" + +SRC_URI=" + ${CARGO_CRATE_URIS} + https://github.com/WhatAmISupposedToPutHere/asahi-nvram/archive/${COMMIT}.tar.gz -> ${P}.tar.gz +" +S="${WORKDIR}/${MY_P}/asahi-nvram" + +LICENSE="MIT" +# Dependent crate licenses +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/sys-apps/asahi-nvram/asahi-nvram-0.2.1.ebuild b/sys-apps/asahi-nvram/asahi-nvram-0.2.1.ebuild deleted file mode 100644 index 99e80c6bc1bd..000000000000 --- a/sys-apps/asahi-nvram/asahi-nvram-0.2.1.ebuild +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler32@1.2.0 - ahash@0.7.6 - anstream@0.6.4 - anstyle-parse@0.2.3 - anstyle-query@1.0.1 - anstyle-wincon@3.0.2 - anstyle@1.0.4 - atty@0.2.14 - autocfg@1.1.0 - bitflags@1.3.2 - bitflags@2.3.3 - cfg-if@1.0.0 - clap@3.2.25 - clap@4.4.11 - clap_builder@4.4.11 - clap_derive@4.4.7 - clap_lex@0.2.4 - clap_lex@0.6.0 - colorchoice@1.0.0 - crc-catalog@2.2.0 - crc32fast@1.3.2 - crc@3.0.1 - dlv-list@0.3.0 - getrandom@0.2.10 - gpt@3.1.0 - hashbrown@0.12.3 - heck@0.4.1 - hermit-abi@0.1.19 - indexmap@1.9.3 - libc@0.2.147 - log@0.4.19 - memoffset@0.7.1 - nix@0.26.2 - once_cell@1.18.0 - ordered-multimap@0.4.3 - os_str_bytes@6.5.1 - pin-utils@0.1.0 - proc-macro2@1.0.70 - quote@1.0.33 - rust-ini@0.18.0 - static_assertions@1.1.0 - strsim@0.10.0 - syn@2.0.39 - termcolor@1.2.0 - textwrap@0.16.0 - unicode-ident@1.0.12 - utf8parse@0.2.1 - uuid@1.4.0 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - 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 - windows-sys@0.52.0 - windows-targets@0.52.0 - windows_aarch64_gnullvm@0.52.0 - windows_aarch64_msvc@0.52.0 - windows_i686_gnu@0.52.0 - windows_i686_msvc@0.52.0 - windows_x86_64_gnu@0.52.0 - windows_x86_64_gnullvm@0.52.0 - windows_x86_64_msvc@0.52.0 -" - -inherit cargo linux-info - -# Releases are not tagged -COMMIT="6764bf5fbe6371a70604cc58aaa6d6b4473b3adf" -MY_P="asahi-nvram-${COMMIT}" -DESCRIPTION="Tool to read and write nvram variables on ARM Macs" -HOMEPAGE="https://github.com/WhatAmISupposedToPutHere/asahi-nvram" - -SRC_URI=" - ${CARGO_CRATE_URIS} - https://github.com/WhatAmISupposedToPutHere/asahi-nvram/archive/${COMMIT}.tar.gz -> ${P}.tar.gz -" -S="${WORKDIR}/${MY_P}/asahi-nvram" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" MIT Unicode-DFS-2016 ZLIB" -SLOT="0" -KEYWORDS="~arm64" - -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/sys-apps/asahi-startup-disk/asahi-startup-disk-0.1.3-r1.ebuild b/sys-apps/asahi-startup-disk/asahi-startup-disk-0.1.3-r1.ebuild new file mode 100644 index 000000000000..021770dd5ac2 --- /dev/null +++ b/sys-apps/asahi-startup-disk/asahi-startup-disk-0.1.3-r1.ebuild @@ -0,0 +1,134 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler32@1.2.0 + anyhow@1.0.75 + apple-nvram@0.2.1 + asahi-bless@0.2.1 + autocfg@1.1.0 + bitflags@1.3.2 + bitflags@2.4.1 + cairo-rs@0.18.3 + cairo-sys-rs@0.18.2 + cfg-expr@0.15.5 + cfg-if@1.0.0 + crc-catalog@2.4.0 + crc32fast@1.3.2 + crc@3.0.1 + equivalent@1.0.1 + field-offset@0.3.6 + futures-channel@0.3.29 + futures-core@0.3.29 + futures-executor@0.3.29 + futures-io@0.3.29 + futures-macro@0.3.29 + futures-task@0.3.29 + futures-util@0.3.29 + gdk-pixbuf-sys@0.18.0 + gdk-pixbuf@0.18.3 + gdk4-sys@0.7.2 + gdk4@0.7.3 + getrandom@0.2.11 + gio-sys@0.18.1 + gio@0.18.4 + glib-build-tools@0.18.0 + glib-macros@0.18.3 + glib-sys@0.18.1 + glib@0.18.4 + gobject-sys@0.18.0 + gpt@3.1.0 + graphene-rs@0.18.1 + graphene-sys@0.18.1 + gsk4-sys@0.7.3 + gsk4@0.7.3 + gtk4-macros@0.7.2 + gtk4-sys@0.7.3 + gtk4@0.7.3 + hashbrown@0.14.3 + heck@0.4.1 + indexmap@2.1.0 + libadwaita-sys@0.5.3 + libadwaita@0.5.3 + libc@0.2.151 + log@0.4.20 + memchr@2.6.4 + memoffset@0.7.1 + memoffset@0.9.0 + nix@0.26.4 + once_cell@1.19.0 + pango-sys@0.18.0 + pango@0.18.3 + pin-project-lite@0.2.13 + pin-utils@0.1.0 + pkg-config@0.3.27 + ppv-lite86@0.2.17 + proc-macro-crate@1.3.1 + proc-macro-crate@2.0.1 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.70 + quote@1.0.33 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rustc_version@0.4.0 + semver@1.0.20 + serde@1.0.193 + serde_derive@1.0.193 + serde_spanned@0.6.4 + slab@0.4.9 + smallvec@1.11.2 + sudo@0.6.0 + syn@1.0.109 + syn@2.0.41 + system-deps@6.2.0 + target-lexicon@0.12.12 + thiserror-impl@1.0.50 + thiserror@1.0.50 + toml@0.8.2 + toml_datetime@0.6.3 + toml_edit@0.19.15 + toml_edit@0.20.2 + unicode-ident@1.0.12 + uuid@1.6.1 + version-compare@0.1.1 + version_check@0.9.4 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + winnow@0.5.28 +" + +inherit cargo xdg + +DESCRIPTION="Interface to choose the startup volume on Apple Silicon systems" +HOMEPAGE="https://gitlab.gnome.org/davide125/startup-disk" +SRC_URI=" + ${CARGO_CRATE_URIS} + https://gitlab.gnome.org/davide125/startup-disk/-/archive/${PV}/startup-disk-${PV}.tar.gz -> ${P}.tar.gz +" +S="${WORKDIR}/startup-disk-${PV}" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 ZLIB" +SLOT="0" +KEYWORDS="~arm64" + +RDEPEND=" + >=dev-libs/glib-2.78.3 + >=x11-libs/cairo-1.18.0 + >=gui-libs/libadwaita-1.4.2 + gui-libs/gtk:4[X] +" +DEPEND=" + ${RDEPEND} +" + +src_install() { + emake DESTDIR="${D}" install-bin install-data +} 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.ebuild deleted file mode 100644 index 021770dd5ac2..000000000000 --- a/sys-apps/asahi-startup-disk/asahi-startup-disk-0.1.3.ebuild +++ /dev/null @@ -1,134 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler32@1.2.0 - anyhow@1.0.75 - apple-nvram@0.2.1 - asahi-bless@0.2.1 - autocfg@1.1.0 - bitflags@1.3.2 - bitflags@2.4.1 - cairo-rs@0.18.3 - cairo-sys-rs@0.18.2 - cfg-expr@0.15.5 - cfg-if@1.0.0 - crc-catalog@2.4.0 - crc32fast@1.3.2 - crc@3.0.1 - equivalent@1.0.1 - field-offset@0.3.6 - futures-channel@0.3.29 - futures-core@0.3.29 - futures-executor@0.3.29 - futures-io@0.3.29 - futures-macro@0.3.29 - futures-task@0.3.29 - futures-util@0.3.29 - gdk-pixbuf-sys@0.18.0 - gdk-pixbuf@0.18.3 - gdk4-sys@0.7.2 - gdk4@0.7.3 - getrandom@0.2.11 - gio-sys@0.18.1 - gio@0.18.4 - glib-build-tools@0.18.0 - glib-macros@0.18.3 - glib-sys@0.18.1 - glib@0.18.4 - gobject-sys@0.18.0 - gpt@3.1.0 - graphene-rs@0.18.1 - graphene-sys@0.18.1 - gsk4-sys@0.7.3 - gsk4@0.7.3 - gtk4-macros@0.7.2 - gtk4-sys@0.7.3 - gtk4@0.7.3 - hashbrown@0.14.3 - heck@0.4.1 - indexmap@2.1.0 - libadwaita-sys@0.5.3 - libadwaita@0.5.3 - libc@0.2.151 - log@0.4.20 - memchr@2.6.4 - memoffset@0.7.1 - memoffset@0.9.0 - nix@0.26.4 - once_cell@1.19.0 - pango-sys@0.18.0 - pango@0.18.3 - pin-project-lite@0.2.13 - pin-utils@0.1.0 - pkg-config@0.3.27 - ppv-lite86@0.2.17 - proc-macro-crate@1.3.1 - proc-macro-crate@2.0.1 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.70 - quote@1.0.33 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rustc_version@0.4.0 - semver@1.0.20 - serde@1.0.193 - serde_derive@1.0.193 - serde_spanned@0.6.4 - slab@0.4.9 - smallvec@1.11.2 - sudo@0.6.0 - syn@1.0.109 - syn@2.0.41 - system-deps@6.2.0 - target-lexicon@0.12.12 - thiserror-impl@1.0.50 - thiserror@1.0.50 - toml@0.8.2 - toml_datetime@0.6.3 - toml_edit@0.19.15 - toml_edit@0.20.2 - unicode-ident@1.0.12 - uuid@1.6.1 - version-compare@0.1.1 - version_check@0.9.4 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - winnow@0.5.28 -" - -inherit cargo xdg - -DESCRIPTION="Interface to choose the startup volume on Apple Silicon systems" -HOMEPAGE="https://gitlab.gnome.org/davide125/startup-disk" -SRC_URI=" - ${CARGO_CRATE_URIS} - https://gitlab.gnome.org/davide125/startup-disk/-/archive/${PV}/startup-disk-${PV}.tar.gz -> ${P}.tar.gz -" -S="${WORKDIR}/startup-disk-${PV}" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016 ZLIB" -SLOT="0" -KEYWORDS="~arm64" - -RDEPEND=" - >=dev-libs/glib-2.78.3 - >=x11-libs/cairo-1.18.0 - >=gui-libs/libadwaita-1.4.2 - gui-libs/gtk:4[X] -" -DEPEND=" - ${RDEPEND} -" - -src_install() { - emake DESTDIR="${D}" install-bin install-data -} diff --git a/sys-apps/bat/bat-0.23.0-r1.ebuild b/sys-apps/bat/bat-0.23.0-r1.ebuild deleted file mode 100644 index 0a4601f4acbf..000000000000 --- a/sys-apps/bat/bat-0.23.0-r1.ebuild +++ /dev/null @@ -1,229 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler@1.0.2 - aho-corasick@0.7.19 - ansi_colours@1.2.1 - assert_cmd@2.0.8 - atty@0.2.14 - autocfg@1.1.0 - base64@0.13.0 - bincode@1.3.3 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bstr@1.1.0 - bugreport@0.5.0 - bytemuck@1.12.1 - bytesize@1.1.0 - cc@1.0.73 - cfg-if@1.0.0 - clap@4.1.8 - clap_lex@0.3.2 - clircle@0.3.0 - console@0.15.5 - content_inspector@0.2.4 - crc32fast@1.3.2 - difflib@0.4.0 - dirs-sys@0.4.0 - dirs@5.0.0 - dissimilar@1.0.5 - doc-comment@0.3.3 - either@1.8.0 - encode_unicode@0.3.6 - encoding-index-japanese@1.20141219.5 - encoding-index-korean@1.20141219.5 - encoding-index-simpchinese@1.20141219.5 - encoding-index-singlebyte@1.20141219.5 - encoding-index-tradchinese@1.20141219.5 - encoding@0.2.33 - encoding_index_tests@0.1.4 - errno-dragonfly@0.1.2 - errno@0.2.8 - expect-test@1.4.0 - fancy-regex@0.7.1 - fastrand@1.8.0 - flate2@1.0.25 - float-cmp@0.9.0 - fnv@1.0.7 - form_urlencoded@1.1.0 - getrandom@0.2.7 - git-version-macro@0.3.5 - git-version@0.3.5 - git2@0.16.1 - glob@0.3.0 - globset@0.4.10 - grep-cli@0.1.7 - hashbrown@0.12.3 - hermit-abi@0.1.19 - hermit-abi@0.3.1 - idna@0.3.0 - indexmap@1.9.1 - instant@0.1.12 - io-lifetimes@1.0.5 - is-terminal@0.4.4 - itertools@0.10.5 - itoa@1.0.3 - jobserver@0.1.25 - lazy_static@1.4.0 - libc@0.2.137 - libgit2-sys@0.14.2+1.5.1 - libz-sys@1.1.8 - line-wrap@0.1.1 - linked-hash-map@0.5.6 - linux-raw-sys@0.1.4 - lock_api@0.4.9 - log@0.4.17 - memchr@2.5.0 - miniz_oxide@0.6.2 - nix@0.26.2 - normalize-line-endings@0.3.0 - nu-ansi-term@0.47.0 - num-traits@0.2.15 - num_threads@0.1.6 - once_cell@1.17.0 - onig@6.4.0 - onig_sys@69.8.1 - os_str_bytes@6.3.0 - parking_lot@0.11.2 - parking_lot_core@0.8.5 - path_abs@0.5.1 - percent-encoding@2.2.0 - pkg-config@0.3.25 - plist@1.3.1 - predicates-core@1.0.3 - predicates-tree@1.0.5 - predicates@2.1.5 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro-hack@0.5.19 - proc-macro2@1.0.46 - quote@1.0.21 - redox_syscall@0.2.16 - redox_users@0.4.3 - regex-automata@0.1.10 - regex-syntax@0.6.27 - regex@1.7.0 - remove_dir_all@0.5.3 - rgb@0.8.34 - rustix@0.36.8 - rustversion@1.0.9 - ryu@1.0.11 - safemem@0.3.3 - same-file@1.0.6 - scopeguard@1.1.0 - semver@1.0.16 - serde@1.0.152 - serde_derive@1.0.152 - serde_json@1.0.85 - serde_yaml@0.8.26 - serial_test@0.6.0 - serial_test_derive@0.6.0 - shell-escape@0.1.5 - shell-words@1.1.0 - smallvec@1.10.0 - static_assertions@1.1.0 - std_prelude@0.2.12 - strsim@0.10.0 - syn@1.0.104 - syntect@5.0.0 - sys-info@0.9.1 - tempfile@3.3.0 - termcolor@1.1.3 - terminal_size@0.2.5 - termtree@0.2.4 - thiserror-impl@1.0.38 - thiserror@1.0.38 - time@0.3.14 - 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 - version_check@0.9.4 - wait-timeout@0.2.0 - walkdir@2.3.2 - wasi@0.11.0+wasi-snapshot-preview1 - wild@2.1.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 - 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 - xml-rs@0.8.4 - yaml-rust@0.4.5 -" - -inherit cargo shell-completion - -DESCRIPTION="cat(1) clone with syntax highlighting and Git integration" -HOMEPAGE="https://github.com/sharkdp/bat" -SRC_URI=" - https://github.com/sharkdp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="|| ( MIT Apache-2.0 )" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD-2 BSD CC0-1.0 LGPL-3+ MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ppc64 ~riscv ~x86" - -BDEPEND="virtual/pkgconfig" -DEPEND=" - >=dev-libs/libgit2-1.1.0:=[threads] - dev-libs/oniguruma:= - sys-libs/zlib -" -# >app-backup/bacula-9.2[qt5] has file collisions, #686118 -RDEPEND="${DEPEND} - !>app-backup/bacula-9.2[qt5] -" - -DOCS=( README.md CHANGELOG.md doc/alternatives.md ) - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_configure() { - export RUSTONIG_SYSTEM_LIBONIG=1 - export LIBGIT2_SYS_USE_PKG_CONFIG=1 - export PKG_CONFIG_ALLOW_CROSS=1 - sed -i -e 's/strip = true/strip = false/g' Cargo.toml || die -} - -src_test() { - # Set COLUMNS for deterministic help output, #913364 - local -x COLUMNS=100 - - cargo_src_test -} - -src_install() { - cargo_src_install - - einstalldocs - - local build_dir=( "$(cargo_target_dir)"/build/${PN}-*/out ) - cd "${build_dir[0]}" || die "Cannot change directory to ${PN} build" - - doman assets/manual/bat.1 - - newbashcomp assets/completions/${PN}.bash ${PN} - newzshcomp assets/completions/${PN}.zsh _${PN} - dofishcomp assets/completions/${PN}.fish -} diff --git a/sys-apps/bat/bat-0.23.0-r2.ebuild b/sys-apps/bat/bat-0.23.0-r2.ebuild new file mode 100644 index 000000000000..0a4601f4acbf --- /dev/null +++ b/sys-apps/bat/bat-0.23.0-r2.ebuild @@ -0,0 +1,229 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler@1.0.2 + aho-corasick@0.7.19 + ansi_colours@1.2.1 + assert_cmd@2.0.8 + atty@0.2.14 + autocfg@1.1.0 + base64@0.13.0 + bincode@1.3.3 + bit-set@0.5.3 + bit-vec@0.6.3 + bitflags@1.3.2 + bstr@1.1.0 + bugreport@0.5.0 + bytemuck@1.12.1 + bytesize@1.1.0 + cc@1.0.73 + cfg-if@1.0.0 + clap@4.1.8 + clap_lex@0.3.2 + clircle@0.3.0 + console@0.15.5 + content_inspector@0.2.4 + crc32fast@1.3.2 + difflib@0.4.0 + dirs-sys@0.4.0 + dirs@5.0.0 + dissimilar@1.0.5 + doc-comment@0.3.3 + either@1.8.0 + encode_unicode@0.3.6 + encoding-index-japanese@1.20141219.5 + encoding-index-korean@1.20141219.5 + encoding-index-simpchinese@1.20141219.5 + encoding-index-singlebyte@1.20141219.5 + encoding-index-tradchinese@1.20141219.5 + encoding@0.2.33 + encoding_index_tests@0.1.4 + errno-dragonfly@0.1.2 + errno@0.2.8 + expect-test@1.4.0 + fancy-regex@0.7.1 + fastrand@1.8.0 + flate2@1.0.25 + float-cmp@0.9.0 + fnv@1.0.7 + form_urlencoded@1.1.0 + getrandom@0.2.7 + git-version-macro@0.3.5 + git-version@0.3.5 + git2@0.16.1 + glob@0.3.0 + globset@0.4.10 + grep-cli@0.1.7 + hashbrown@0.12.3 + hermit-abi@0.1.19 + hermit-abi@0.3.1 + idna@0.3.0 + indexmap@1.9.1 + instant@0.1.12 + io-lifetimes@1.0.5 + is-terminal@0.4.4 + itertools@0.10.5 + itoa@1.0.3 + jobserver@0.1.25 + lazy_static@1.4.0 + libc@0.2.137 + libgit2-sys@0.14.2+1.5.1 + libz-sys@1.1.8 + line-wrap@0.1.1 + linked-hash-map@0.5.6 + linux-raw-sys@0.1.4 + lock_api@0.4.9 + log@0.4.17 + memchr@2.5.0 + miniz_oxide@0.6.2 + nix@0.26.2 + normalize-line-endings@0.3.0 + nu-ansi-term@0.47.0 + num-traits@0.2.15 + num_threads@0.1.6 + once_cell@1.17.0 + onig@6.4.0 + onig_sys@69.8.1 + os_str_bytes@6.3.0 + parking_lot@0.11.2 + parking_lot_core@0.8.5 + path_abs@0.5.1 + percent-encoding@2.2.0 + pkg-config@0.3.25 + plist@1.3.1 + predicates-core@1.0.3 + predicates-tree@1.0.5 + predicates@2.1.5 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro-hack@0.5.19 + proc-macro2@1.0.46 + quote@1.0.21 + redox_syscall@0.2.16 + redox_users@0.4.3 + regex-automata@0.1.10 + regex-syntax@0.6.27 + regex@1.7.0 + remove_dir_all@0.5.3 + rgb@0.8.34 + rustix@0.36.8 + rustversion@1.0.9 + ryu@1.0.11 + safemem@0.3.3 + same-file@1.0.6 + scopeguard@1.1.0 + semver@1.0.16 + serde@1.0.152 + serde_derive@1.0.152 + serde_json@1.0.85 + serde_yaml@0.8.26 + serial_test@0.6.0 + serial_test_derive@0.6.0 + shell-escape@0.1.5 + shell-words@1.1.0 + smallvec@1.10.0 + static_assertions@1.1.0 + std_prelude@0.2.12 + strsim@0.10.0 + syn@1.0.104 + syntect@5.0.0 + sys-info@0.9.1 + tempfile@3.3.0 + termcolor@1.1.3 + terminal_size@0.2.5 + termtree@0.2.4 + thiserror-impl@1.0.38 + thiserror@1.0.38 + time@0.3.14 + 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 + version_check@0.9.4 + wait-timeout@0.2.0 + walkdir@2.3.2 + wasi@0.11.0+wasi-snapshot-preview1 + wild@2.1.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 + 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 + xml-rs@0.8.4 + yaml-rust@0.4.5 +" + +inherit cargo shell-completion + +DESCRIPTION="cat(1) clone with syntax highlighting and Git integration" +HOMEPAGE="https://github.com/sharkdp/bat" +SRC_URI=" + https://github.com/sharkdp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="|| ( MIT Apache-2.0 )" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD-2 BSD CC0-1.0 LGPL-3+ MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="amd64 ~arm ~arm64 ppc64 ~riscv ~x86" + +BDEPEND="virtual/pkgconfig" +DEPEND=" + >=dev-libs/libgit2-1.1.0:=[threads] + dev-libs/oniguruma:= + sys-libs/zlib +" +# >app-backup/bacula-9.2[qt5] has file collisions, #686118 +RDEPEND="${DEPEND} + !>app-backup/bacula-9.2[qt5] +" + +DOCS=( README.md CHANGELOG.md doc/alternatives.md ) + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_configure() { + export RUSTONIG_SYSTEM_LIBONIG=1 + export LIBGIT2_SYS_USE_PKG_CONFIG=1 + export PKG_CONFIG_ALLOW_CROSS=1 + sed -i -e 's/strip = true/strip = false/g' Cargo.toml || die +} + +src_test() { + # Set COLUMNS for deterministic help output, #913364 + local -x COLUMNS=100 + + cargo_src_test +} + +src_install() { + cargo_src_install + + einstalldocs + + local build_dir=( "$(cargo_target_dir)"/build/${PN}-*/out ) + cd "${build_dir[0]}" || die "Cannot change directory to ${PN} build" + + doman assets/manual/bat.1 + + newbashcomp assets/completions/${PN}.bash ${PN} + newzshcomp assets/completions/${PN}.zsh _${PN} + dofishcomp assets/completions/${PN}.fish +} diff --git a/sys-apps/bat/bat-0.24.0-r1.ebuild b/sys-apps/bat/bat-0.24.0-r1.ebuild deleted file mode 100644 index 19f0e337f7a3..000000000000 --- a/sys-apps/bat/bat-0.24.0-r1.ebuild +++ /dev/null @@ -1,258 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler@1.0.2 - aho-corasick@0.7.19 - aho-corasick@1.0.1 - ansi_colours@1.2.1 - anstream@0.6.4 - anstyle-parse@0.2.0 - anstyle-query@1.0.0 - anstyle-wincon@3.0.1 - anstyle@0.3.5 - anstyle@1.0.0 - assert_cmd@2.0.10 - autocfg@1.1.0 - base64@0.21.0 - bincode@1.3.3 - bit-set@0.5.3 - bit-vec@0.6.3 - bitflags@1.3.2 - bitflags@2.4.0 - bstr@1.6.0 - bugreport@0.5.0 - bytemuck@1.12.1 - bytesize@1.3.0 - cc@1.0.73 - cfg-if@1.0.0 - clap@4.4.6 - clap_builder@4.4.6 - clap_lex@0.5.0 - clircle@0.4.0 - colorchoice@1.0.0 - console@0.15.5 - content_inspector@0.2.4 - crc32fast@1.3.2 - dashmap@5.4.0 - difflib@0.4.0 - dissimilar@1.0.5 - doc-comment@0.3.3 - dunce@1.0.3 - either@1.8.0 - encode_unicode@0.3.6 - encoding_rs@0.8.33 - equivalent@1.0.1 - errno-dragonfly@0.1.2 - errno@0.3.3 - etcetera@0.8.0 - expect-test@1.4.1 - fancy-regex@0.7.1 - fastrand@2.0.0 - flate2@1.0.27 - float-cmp@0.9.0 - fnv@1.0.7 - form_urlencoded@1.1.0 - fsio@0.4.0 - getrandom@0.2.7 - git-version-macro@0.3.5 - git-version@0.3.5 - git2@0.18.0 - glob@0.3.0 - globset@0.4.10 - grep-cli@0.1.9 - hashbrown@0.12.3 - hashbrown@0.14.1 - home@0.5.5 - idna@0.3.0 - indexmap@1.9.1 - indexmap@2.0.2 - itertools@0.10.5 - itoa@1.0.3 - jobserver@0.1.25 - lazy_static@1.4.0 - libc@0.2.147 - libgit2-sys@0.16.1+1.7.1 - libz-sys@1.1.8 - line-wrap@0.1.1 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.5 - lock_api@0.4.9 - log@0.4.17 - memchr@2.5.0 - miniz_oxide@0.7.1 - nix@0.26.2 - normalize-line-endings@0.3.0 - nu-ansi-term@0.49.0 - num-traits@0.2.15 - num_threads@0.1.6 - once_cell@1.18.0 - onig@6.4.0 - onig_sys@69.8.1 - os_str_bytes@6.4.1 - parking_lot@0.12.1 - parking_lot_core@0.9.7 - path_abs@0.5.1 - percent-encoding@2.2.0 - pkg-config@0.3.25 - plist@1.4.3 - ppv-lite86@0.2.17 - predicates-core@1.0.6 - predicates-tree@1.0.5 - predicates@3.0.3 - proc-macro-hack@0.5.19 - proc-macro2@1.0.66 - quick-xml@0.28.1 - quote@1.0.26 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redox_syscall@0.2.16 - redox_syscall@0.3.5 - regex-automata@0.3.7 - regex-syntax@0.6.27 - regex-syntax@0.7.2 - regex@1.8.3 - rgb@0.8.34 - run_script@0.10.0 - rustix@0.38.11 - ryu@1.0.11 - safemem@0.3.3 - same-file@1.0.6 - scopeguard@1.1.0 - semver@1.0.17 - serde@1.0.163 - serde_derive@1.0.163 - serde_json@1.0.85 - serde_yaml@0.9.25 - serial_test@2.0.0 - serial_test_derive@2.0.0 - shell-escape@0.1.5 - shell-words@1.1.0 - smallvec@1.10.0 - static_assertions@1.1.0 - std_prelude@0.2.12 - strsim@0.10.0 - syn@1.0.104 - syn@2.0.12 - syntect@5.0.0 - sys-info@0.9.1 - tempfile@3.8.0 - termcolor@1.1.3 - terminal_size@0.3.0 - termtree@0.2.4 - thiserror-impl@1.0.40 - thiserror@1.0.40 - time@0.3.14 - 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 - unsafe-libyaml@0.2.9 - url@2.3.1 - utf8parse@0.2.1 - vcpkg@0.2.15 - wait-timeout@0.2.0 - walkdir@2.3.3 - wasi@0.11.0+wasi-snapshot-preview1 - wild@2.1.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 - windows-sys@0.42.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-targets@0.42.1 - windows-targets@0.48.0 - windows_aarch64_gnullvm@0.42.1 - windows_aarch64_gnullvm@0.48.0 - windows_aarch64_msvc@0.42.1 - windows_aarch64_msvc@0.48.0 - windows_i686_gnu@0.42.1 - windows_i686_gnu@0.48.0 - windows_i686_msvc@0.42.1 - windows_i686_msvc@0.48.0 - windows_x86_64_gnu@0.42.1 - windows_x86_64_gnu@0.48.0 - windows_x86_64_gnullvm@0.42.1 - windows_x86_64_gnullvm@0.48.0 - windows_x86_64_msvc@0.42.1 - windows_x86_64_msvc@0.48.0 - yaml-rust@0.4.5 -" - -inherit cargo shell-completion - -DESCRIPTION="cat(1) clone with syntax highlighting and Git integration" -HOMEPAGE="https://github.com/sharkdp/bat" -SRC_URI=" - https://github.com/sharkdp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="|| ( MIT Apache-2.0 )" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD-2 BSD LGPL-3+ MIT Unicode-DFS-2016 - || ( CC0-1.0 MIT-0 ) -" -SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ppc64 ~riscv ~x86" - -BDEPEND="virtual/pkgconfig" -DEPEND=" - >=dev-libs/libgit2-1.7.0:=[threads] - dev-libs/oniguruma:= - sys-libs/zlib -" -# >app-backup/bacula-9.2[qt5] has file collisions, #686118 -RDEPEND="${DEPEND} - !>app-backup/bacula-9.2[qt5] -" - -DOCS=( README.md CHANGELOG.md doc/alternatives.md ) - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_prepare() { - default - - # libgit2-sys unnecessarily(?) requests app-backup/bacula-9.2[qt5] has file collisions, #686118 +RDEPEND="${DEPEND} + !>app-backup/bacula-9.2[qt5] +" + +DOCS=( README.md CHANGELOG.md doc/alternatives.md ) + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_prepare() { + default + + # libgit2-sys unnecessarily(?) requests units/systemd-zram-setup@.service || de +} + +src_compile() { + tc-export PKG_CONFIG + + export SYSTEMD_UTIL_DIR="$(systemd_get_utildir)" + cargo_src_compile + + use man && emake man +} + +src_install() { + # https://bugs.gentoo.org/715890 + mv man man.bkp || die + cargo_src_install + mv man.bkp man || die + + mkdir -p "${D}/$(systemd_get_systemgeneratordir)" || die + mv "${D}"/usr/bin/zram-generator "${D}/$(systemd_get_systemgeneratordir)" || die + + systemd_dounit units/systemd-zram-setup@.service + if use man ; then + dodoc zram-generator.conf.example + doman man/zram-generator.8 man/zram-generator.conf.5 + fi +} diff --git a/sys-apps/zram-generator/zram-generator-1.1.2.ebuild b/sys-apps/zram-generator/zram-generator-1.1.2.ebuild deleted file mode 100644 index e9c8dc4ca9ff..000000000000 --- a/sys-apps/zram-generator/zram-generator-1.1.2.ebuild +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -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 -" - -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})" - -LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT" -SLOT="0" -KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv" -IUSE="+man" - -BDEPEND="virtual/rust - virtual/pkgconfig - man? ( app-text/ronn-ng )" - -QA_FLAGS_IGNORED="lib/systemd/system-generators/zram-generator" - -src_configure() { - cargo_src_configure - - sed -e "s,@SYSTEMD_SYSTEM_GENERATOR_DIR@,$(systemd_get_systemgeneratordir)," \ - < units/systemd-zram-setup@.service.in \ - > units/systemd-zram-setup@.service || de -} - -src_compile() { - tc-export PKG_CONFIG - - export SYSTEMD_UTIL_DIR="$(systemd_get_utildir)" - cargo_src_compile - - use man && emake man -} - -src_install() { - # https://bugs.gentoo.org/715890 - mv man man.bkp || die - cargo_src_install - mv man.bkp man || die - - mkdir -p "${D}/$(systemd_get_systemgeneratordir)" || die - mv "${D}"/usr/bin/zram-generator "${D}/$(systemd_get_systemgeneratordir)" || die - - systemd_dounit units/systemd-zram-setup@.service - if use man ; then - dodoc zram-generator.conf.example - doman man/zram-generator.8 man/zram-generator.conf.5 - fi -} diff --git a/sys-block/dust/dust-1.1.1-r1.ebuild b/sys-block/dust/dust-1.1.1-r1.ebuild new file mode 100644 index 000000000000..4fea455abe5e --- /dev/null +++ b/sys-block/dust/dust-1.1.1-r1.ebuild @@ -0,0 +1,170 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.3 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + ansi_term@0.12.1 + anstream@0.6.13 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + assert_cmd@2.0.14 + autocfg@1.3.0 + bitflags@1.3.2 + bitflags@2.5.0 + bstr@1.9.1 + bumpalo@3.16.0 + cc@1.0.97 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + chrono@0.4.38 + clap@4.5.4 + clap_builder@4.5.2 + clap_complete@4.5.1 + clap_lex@0.7.0 + clap_mangen@0.2.20 + colorchoice@1.0.0 + config-file@0.2.3 + core-foundation-sys@0.8.6 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.19 + ctrlc@3.4.4 + difflib@0.4.0 + directories@4.0.1 + dirs-sys@0.3.7 + doc-comment@0.3.3 + either@1.10.0 + errno@0.3.8 + fastrand@2.0.2 + filesize@0.2.0 + getrandom@0.2.12 + hermit-abi@0.3.9 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + io-lifetimes@1.0.11 + itoa@1.0.11 + js-sys@0.3.69 + libc@0.2.155 + libredox@0.0.1 + linux-raw-sys@0.3.8 + linux-raw-sys@0.4.13 + log@0.4.21 + lscolors@0.13.0 + memchr@2.7.1 + nix@0.28.0 + ntapi@0.4.1 + nu-ansi-term@0.46.0 + num-traits@0.2.19 + once_cell@1.19.0 + overload@0.1.1 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + proc-macro2@1.0.79 + quote@1.0.35 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.4.1 + redox_users@0.4.4 + regex-automata@0.4.6 + regex-syntax@0.8.2 + regex@1.10.4 + roff@0.2.1 + rustix@0.37.27 + rustix@0.38.32 + ryu@1.0.17 + serde@1.0.197 + serde_derive@1.0.197 + serde_json@1.0.116 + stfu8@0.2.7 + strsim@0.11.0 + syn@2.0.55 + sysinfo@0.27.8 + tempfile@3.10.1 + terminal_size@0.2.6 + termtree@0.4.1 + thiserror-impl@1.0.58 + thiserror@1.0.58 + thousands@0.2.0 + toml@0.5.11 + unicode-ident@1.0.12 + unicode-width@0.1.11 + utf8parse@0.2.1 + wait-timeout@0.2.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + 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-targets@0.48.5 + windows-targets@0.52.4 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.4 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.4 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.4 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.4 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.4 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.4 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.4 +" + +inherit bash-completion-r1 cargo + +DESCRIPTION="A more intuitive version of du" +# Double check the homepage as the cargo_metadata crate +# does not provide this value so instead repository is used +HOMEPAGE="https://github.com/bootandy/dust" +SRC_URI=" + https://github.com/bootandy/dust/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" + BSD-2 MIT Unicode-DFS-2016 + || ( Apache-2.0 Boost-1.0 ) +" +SLOT="0" +KEYWORDS="~amd64 ~ppc64" + +QA_FLAGS_IGNORED="usr/bin/dust" + +DOCS=( + README.md +) + +src_install() { + cargo_src_install + doman man-page/dust.1 + + newbashcomp completions/dust.bash dust + + insinto /usr/share/fish/completions + doins completions/dust.fish + + insinto /usr/share/zsh/site-functions + doins completions/_dust +} diff --git a/sys-block/dust/dust-1.1.1.ebuild b/sys-block/dust/dust-1.1.1.ebuild deleted file mode 100644 index 4fea455abe5e..000000000000 --- a/sys-block/dust/dust-1.1.1.ebuild +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.3 - -EAPI=8 - -CRATES=" - aho-corasick@1.1.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - ansi_term@0.12.1 - anstream@0.6.13 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - assert_cmd@2.0.14 - autocfg@1.3.0 - bitflags@1.3.2 - bitflags@2.5.0 - bstr@1.9.1 - bumpalo@3.16.0 - cc@1.0.97 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - chrono@0.4.38 - clap@4.5.4 - clap_builder@4.5.2 - clap_complete@4.5.1 - clap_lex@0.7.0 - clap_mangen@0.2.20 - colorchoice@1.0.0 - config-file@0.2.3 - core-foundation-sys@0.8.6 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.19 - ctrlc@3.4.4 - difflib@0.4.0 - directories@4.0.1 - dirs-sys@0.3.7 - doc-comment@0.3.3 - either@1.10.0 - errno@0.3.8 - fastrand@2.0.2 - filesize@0.2.0 - getrandom@0.2.12 - hermit-abi@0.3.9 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - io-lifetimes@1.0.11 - itoa@1.0.11 - js-sys@0.3.69 - libc@0.2.155 - libredox@0.0.1 - linux-raw-sys@0.3.8 - linux-raw-sys@0.4.13 - log@0.4.21 - lscolors@0.13.0 - memchr@2.7.1 - nix@0.28.0 - ntapi@0.4.1 - nu-ansi-term@0.46.0 - num-traits@0.2.19 - once_cell@1.19.0 - overload@0.1.1 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - proc-macro2@1.0.79 - quote@1.0.35 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.4.1 - redox_users@0.4.4 - regex-automata@0.4.6 - regex-syntax@0.8.2 - regex@1.10.4 - roff@0.2.1 - rustix@0.37.27 - rustix@0.38.32 - ryu@1.0.17 - serde@1.0.197 - serde_derive@1.0.197 - serde_json@1.0.116 - stfu8@0.2.7 - strsim@0.11.0 - syn@2.0.55 - sysinfo@0.27.8 - tempfile@3.10.1 - terminal_size@0.2.6 - termtree@0.4.1 - thiserror-impl@1.0.58 - thiserror@1.0.58 - thousands@0.2.0 - toml@0.5.11 - unicode-ident@1.0.12 - unicode-width@0.1.11 - utf8parse@0.2.1 - wait-timeout@0.2.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - 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-targets@0.48.5 - windows-targets@0.52.4 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.4 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.4 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.4 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.4 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.4 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.4 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.4 -" - -inherit bash-completion-r1 cargo - -DESCRIPTION="A more intuitive version of du" -# Double check the homepage as the cargo_metadata crate -# does not provide this value so instead repository is used -HOMEPAGE="https://github.com/bootandy/dust" -SRC_URI=" - https://github.com/bootandy/dust/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" - BSD-2 MIT Unicode-DFS-2016 - || ( Apache-2.0 Boost-1.0 ) -" -SLOT="0" -KEYWORDS="~amd64 ~ppc64" - -QA_FLAGS_IGNORED="usr/bin/dust" - -DOCS=( - README.md -) - -src_install() { - cargo_src_install - doman man-page/dust.1 - - newbashcomp completions/dust.bash dust - - insinto /usr/share/fish/completions - doins completions/dust.fish - - insinto /usr/share/zsh/site-functions - doins completions/_dust -} diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild new file mode 100644 index 000000000000..6907ab3f3bb5 --- /dev/null +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10-r1.ebuild @@ -0,0 +1,182 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} != *9999 ]]; then +CRATES=" + adler@1.0.2 + aho-corasick@1.1.2 + anstyle@1.0.4 + anyhow@1.0.79 + atty@0.2.14 + autocfg@1.1.0 + base64@0.21.7 + bitflags@1.3.2 + bitflags@2.4.1 + bytemuck@1.14.0 + byteorder@1.5.0 + cassowary@0.3.0 + cfg-if@1.0.0 + clap@4.4.16 + clap_builder@4.4.16 + clap_lex@0.6.0 + console@0.15.8 + crc32c@0.6.4 + crc32fast@1.3.2 + data-encoding@2.5.0 + downcast@0.11.0 + duct@0.13.7 + either@1.9.0 + encode_unicode@0.3.6 + env_logger@0.8.4 + errno@0.3.8 + exitcode@1.1.2 + fastrand@2.0.1 + fixedbitset@0.4.2 + flate2@1.0.28 + fragile@2.0.0 + getrandom@0.2.12 + hermit-abi@0.1.19 + hermit-abi@0.3.3 + indicatif@0.17.7 + instant@0.1.12 + iovec@0.1.4 + itertools@0.11.0 + lazy_static@1.4.0 + libc@0.2.152 + linux-raw-sys@0.4.12 + log@0.4.20 + memchr@2.7.1 + minimal-lexical@0.2.1 + miniz_oxide@0.7.1 + mockall@0.12.1 + mockall_derive@0.12.1 + nom@7.1.3 + num-derive@0.4.1 + num-traits@0.2.17 + num_cpus@1.16.0 + number_prefix@0.4.0 + numtoa@0.1.0 + once_cell@1.19.0 + os_pipe@1.1.5 + portable-atomic@1.6.0 + ppv-lite86@0.2.17 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.0.4 + proc-macro2@1.0.76 + quick-xml@0.31.0 + quickcheck@1.0.3 + quickcheck_macros@1.0.0 + quote@1.0.35 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rangemap@1.4.0 + redox_syscall@0.2.16 + redox_syscall@0.4.1 + redox_termios@0.1.3 + regex-automata@0.4.3 + regex-syntax@0.8.2 + regex@1.10.2 + retain_mut@0.1.7 + roaring@0.10.2 + rustc_version@0.4.0 + rustix@0.38.30 + safemem@0.3.3 + semver@1.0.21 + shared_child@1.0.0 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.48 + tempfile@3.9.0 + termion@1.5.6 + termtree@0.4.1 + thiserror-impl@1.0.56 + thiserror@1.0.56 + threadpool@1.8.1 + tui@0.19.0 + unicode-ident@1.0.12 + unicode-segmentation@1.10.1 + unicode-width@0.1.11 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.52.0 + windows-targets@0.52.0 + windows_aarch64_gnullvm@0.52.0 + windows_aarch64_msvc@0.52.0 + windows_i686_gnu@0.52.0 + windows_i686_msvc@0.52.0 + windows_x86_64_gnu@0.52.0 + windows_x86_64_gnullvm@0.52.0 + windows_x86_64_msvc@0.52.0 +" + +declare -A GIT_CRATES=( + [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' +) + declare -A GIT_CRATES=( + [rio]="https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8" + ) +fi + +inherit cargo + +DESCRIPTION="A suite of tools for thin provisioning on Linux" +HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + " + KEYWORDS="amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016" +SLOT="0" +IUSE="io-uring" + +PATCHES=( "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" ) +DOCS=( + CHANGES + COPYING + README.md + doc/TODO.md + doc/thinp-version-2/notes.md +) + +# Rust +QA_FLAGS_IGNORED="usr/sbin/pdata_tools" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + local myfeatures=( $(usev io-uring io_uring) ) + cargo_src_configure +} + +src_install() { + emake \ + DESTDIR="${D}" \ + DATADIR="${ED}/usr/share" \ + PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ + install + + einstalldocs +} 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.ebuild deleted file mode 100644 index 6907ab3f3bb5..000000000000 --- a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.10.ebuild +++ /dev/null @@ -1,182 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -if [[ ${PV} != *9999 ]]; then -CRATES=" - adler@1.0.2 - aho-corasick@1.1.2 - anstyle@1.0.4 - anyhow@1.0.79 - atty@0.2.14 - autocfg@1.1.0 - base64@0.21.7 - bitflags@1.3.2 - bitflags@2.4.1 - bytemuck@1.14.0 - byteorder@1.5.0 - cassowary@0.3.0 - cfg-if@1.0.0 - clap@4.4.16 - clap_builder@4.4.16 - clap_lex@0.6.0 - console@0.15.8 - crc32c@0.6.4 - crc32fast@1.3.2 - data-encoding@2.5.0 - downcast@0.11.0 - duct@0.13.7 - either@1.9.0 - encode_unicode@0.3.6 - env_logger@0.8.4 - errno@0.3.8 - exitcode@1.1.2 - fastrand@2.0.1 - fixedbitset@0.4.2 - flate2@1.0.28 - fragile@2.0.0 - getrandom@0.2.12 - hermit-abi@0.1.19 - hermit-abi@0.3.3 - indicatif@0.17.7 - instant@0.1.12 - iovec@0.1.4 - itertools@0.11.0 - lazy_static@1.4.0 - libc@0.2.152 - linux-raw-sys@0.4.12 - log@0.4.20 - memchr@2.7.1 - minimal-lexical@0.2.1 - miniz_oxide@0.7.1 - mockall@0.12.1 - mockall_derive@0.12.1 - nom@7.1.3 - num-derive@0.4.1 - num-traits@0.2.17 - num_cpus@1.16.0 - number_prefix@0.4.0 - numtoa@0.1.0 - once_cell@1.19.0 - os_pipe@1.1.5 - portable-atomic@1.6.0 - ppv-lite86@0.2.17 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.0.4 - proc-macro2@1.0.76 - quick-xml@0.31.0 - quickcheck@1.0.3 - quickcheck_macros@1.0.0 - quote@1.0.35 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rangemap@1.4.0 - redox_syscall@0.2.16 - redox_syscall@0.4.1 - redox_termios@0.1.3 - regex-automata@0.4.3 - regex-syntax@0.8.2 - regex@1.10.2 - retain_mut@0.1.7 - roaring@0.10.2 - rustc_version@0.4.0 - rustix@0.38.30 - safemem@0.3.3 - semver@1.0.21 - shared_child@1.0.0 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.48 - tempfile@3.9.0 - termion@1.5.6 - termtree@0.4.1 - thiserror-impl@1.0.56 - thiserror@1.0.56 - threadpool@1.8.1 - tui@0.19.0 - unicode-ident@1.0.12 - unicode-segmentation@1.10.1 - unicode-width@0.1.11 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.52.0 - windows-targets@0.52.0 - windows_aarch64_gnullvm@0.52.0 - windows_aarch64_msvc@0.52.0 - windows_i686_gnu@0.52.0 - windows_i686_msvc@0.52.0 - windows_x86_64_gnu@0.52.0 - windows_x86_64_gnullvm@0.52.0 - windows_x86_64_msvc@0.52.0 -" - -declare -A GIT_CRATES=( - [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' -) - declare -A GIT_CRATES=( - [rio]="https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8" - ) -fi - -inherit cargo - -DESCRIPTION="A suite of tools for thin provisioning on Linux" -HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" - -if [[ ${PV} == *9999 ]]; then - EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" - inherit git-r3 -else - SRC_URI=" - https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} - " - KEYWORDS="amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" -fi - -LICENSE="GPL-3" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016" -SLOT="0" -IUSE="io-uring" - -PATCHES=( "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" ) -DOCS=( - CHANGES - COPYING - README.md - doc/TODO.md - doc/thinp-version-2/notes.md -) - -# Rust -QA_FLAGS_IGNORED="usr/sbin/pdata_tools" - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_configure() { - local myfeatures=( $(usev io-uring io_uring) ) - cargo_src_configure -} - -src_install() { - emake \ - DESTDIR="${D}" \ - DATADIR="${ED}/usr/share" \ - PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ - install - - einstalldocs -} diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild new file mode 100644 index 000000000000..a8c7690f5066 --- /dev/null +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13-r1.ebuild @@ -0,0 +1,177 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler@1.0.2 + aho-corasick@1.1.3 + anstyle@1.0.7 + anyhow@1.0.86 + atty@0.2.14 + autocfg@1.3.0 + base64@0.22.1 + bitflags@1.3.2 + bitflags@2.6.0 + bytemuck@1.16.1 + byteorder@1.5.0 + cassowary@0.3.0 + cfg-if@1.0.0 + clap@4.5.9 + clap_builder@4.5.9 + clap_lex@0.7.1 + console@0.15.8 + crc32c@0.6.8 + crc32fast@1.4.2 + data-encoding@2.6.0 + downcast@0.11.0 + duct@0.13.7 + encode_unicode@0.3.6 + env_logger@0.8.4 + errno@0.3.9 + exitcode@1.1.2 + fastrand@2.1.0 + fixedbitset@0.4.2 + flate2@1.0.30 + fragile@2.0.0 + getrandom@0.2.15 + hermit-abi@0.1.19 + hermit-abi@0.3.9 + indicatif@0.17.8 + instant@0.1.13 + iovec@0.1.4 + lazy_static@1.5.0 + libc@0.2.155 + linux-raw-sys@0.4.14 + log@0.4.22 + memchr@2.7.4 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + mockall@0.12.1 + mockall_derive@0.12.1 + nom@7.1.3 + num-derive@0.4.2 + num-traits@0.2.19 + num_cpus@1.16.0 + number_prefix@0.4.0 + numtoa@0.1.0 + once_cell@1.19.0 + os_pipe@1.2.0 + portable-atomic@1.6.0 + ppv-lite86@0.2.17 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@3.1.0 + proc-macro2@1.0.86 + quick-xml@0.36.0 + quickcheck@1.0.3 + quickcheck_macros@1.0.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rangemap@1.5.1 + redox_syscall@0.2.16 + redox_termios@0.1.3 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + roaring@0.10.6 + rustc_version@0.4.0 + rustix@0.38.34 + safemem@0.3.3 + semver@1.0.23 + shared_child@1.0.0 + strsim@0.11.1 + syn@1.0.109 + syn@2.0.70 + tempfile@3.10.1 + termion@1.5.6 + termtree@0.4.1 + thiserror-impl@1.0.61 + thiserror@1.0.61 + threadpool@1.8.1 + tui@0.19.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.13 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.52.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 +" + +declare -A GIT_CRATES=( + [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' +) + +inherit cargo + +DESCRIPTION="A suite of tools for thin provisioning on Linux" +HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016" +SLOT="0" +IUSE="io-uring" + +DOCS=( + CHANGES + COPYING + README.md + doc/TODO.md + doc/thinp-version-2/notes.md +) + +# Rust +QA_FLAGS_IGNORED="usr/sbin/pdata_tools" + +PATCHES=( + "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + local myfeatures=( $(usev io-uring io_uring) ) + cargo_src_configure +} + +src_install() { + emake \ + DESTDIR="${D}" \ + DATADIR="${ED}/usr/share" \ + PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ + install + + einstalldocs +} 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.ebuild deleted file mode 100644 index a8c7690f5066..000000000000 --- a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.13.ebuild +++ /dev/null @@ -1,177 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler@1.0.2 - aho-corasick@1.1.3 - anstyle@1.0.7 - anyhow@1.0.86 - atty@0.2.14 - autocfg@1.3.0 - base64@0.22.1 - bitflags@1.3.2 - bitflags@2.6.0 - bytemuck@1.16.1 - byteorder@1.5.0 - cassowary@0.3.0 - cfg-if@1.0.0 - clap@4.5.9 - clap_builder@4.5.9 - clap_lex@0.7.1 - console@0.15.8 - crc32c@0.6.8 - crc32fast@1.4.2 - data-encoding@2.6.0 - downcast@0.11.0 - duct@0.13.7 - encode_unicode@0.3.6 - env_logger@0.8.4 - errno@0.3.9 - exitcode@1.1.2 - fastrand@2.1.0 - fixedbitset@0.4.2 - flate2@1.0.30 - fragile@2.0.0 - getrandom@0.2.15 - hermit-abi@0.1.19 - hermit-abi@0.3.9 - indicatif@0.17.8 - instant@0.1.13 - iovec@0.1.4 - lazy_static@1.5.0 - libc@0.2.155 - linux-raw-sys@0.4.14 - log@0.4.22 - memchr@2.7.4 - minimal-lexical@0.2.1 - miniz_oxide@0.7.4 - mockall@0.12.1 - mockall_derive@0.12.1 - nom@7.1.3 - num-derive@0.4.2 - num-traits@0.2.19 - num_cpus@1.16.0 - number_prefix@0.4.0 - numtoa@0.1.0 - once_cell@1.19.0 - os_pipe@1.2.0 - portable-atomic@1.6.0 - ppv-lite86@0.2.17 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@3.1.0 - proc-macro2@1.0.86 - quick-xml@0.36.0 - quickcheck@1.0.3 - quickcheck_macros@1.0.0 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rangemap@1.5.1 - redox_syscall@0.2.16 - redox_termios@0.1.3 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.5 - roaring@0.10.6 - rustc_version@0.4.0 - rustix@0.38.34 - safemem@0.3.3 - semver@1.0.23 - shared_child@1.0.0 - strsim@0.11.1 - syn@1.0.109 - syn@2.0.70 - tempfile@3.10.1 - termion@1.5.6 - termtree@0.4.1 - thiserror-impl@1.0.61 - thiserror@1.0.61 - threadpool@1.8.1 - tui@0.19.0 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-width@0.1.13 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.52.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 -" - -declare -A GIT_CRATES=( - [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' -) - -inherit cargo - -DESCRIPTION="A suite of tools for thin provisioning on Linux" -HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" - -if [[ ${PV} == *9999 ]]; then - EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" - inherit git-r3 -else - SRC_URI=" - https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} - " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" -fi - -LICENSE="GPL-3" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD GPL-3 MIT Unicode-DFS-2016" -SLOT="0" -IUSE="io-uring" - -DOCS=( - CHANGES - COPYING - README.md - doc/TODO.md - doc/thinp-version-2/notes.md -) - -# Rust -QA_FLAGS_IGNORED="usr/sbin/pdata_tools" - -PATCHES=( - "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" -) - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_configure() { - local myfeatures=( $(usev io-uring io_uring) ) - cargo_src_configure -} - -src_install() { - emake \ - DESTDIR="${D}" \ - DATADIR="${ED}/usr/share" \ - PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ - install - - einstalldocs -} diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild new file mode 100644 index 000000000000..b7d67783148e --- /dev/null +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14-r1.ebuild @@ -0,0 +1,219 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler@1.0.2 + aho-corasick@1.1.3 + 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.86 + atty@0.2.14 + autocfg@1.3.0 + base64@0.22.1 + bindgen@0.69.4 + bitflags@1.3.2 + bitflags@2.6.0 + bytemuck@1.16.1 + byteorder@1.5.0 + cassowary@0.3.0 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + clang-sys@1.8.1 + clap@4.5.11 + clap_builder@4.5.11 + clap_lex@0.7.2 + colorchoice@1.0.2 + console@0.15.8 + crc32c@0.6.8 + crc32fast@1.4.2 + data-encoding@2.6.0 + devicemapper-sys@0.3.0 + devicemapper@0.34.3 + downcast@0.11.0 + duct@0.13.7 + either@1.13.0 + encode_unicode@0.3.6 + env_filter@0.1.2 + env_logger@0.11.5 + env_logger@0.8.4 + errno@0.3.9 + exitcode@1.1.2 + fastrand@2.1.0 + fixedbitset@0.4.2 + flate2@1.0.30 + fragile@2.0.0 + getrandom@0.2.15 + glob@0.3.1 + hermit-abi@0.1.19 + hermit-abi@0.3.9 + humantime@2.1.0 + indicatif@0.17.8 + instant@0.1.13 + iovec@0.1.4 + is_terminal_polyfill@1.70.1 + itertools@0.12.1 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.155 + libloading@0.8.5 + libudev-sys@0.1.4 + linux-raw-sys@0.4.14 + log@0.4.22 + memchr@2.7.4 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + mockall@0.13.0 + mockall_derive@0.13.0 + nix@0.29.0 + nom@7.1.3 + num-derive@0.4.2 + num-traits@0.2.19 + num_cpus@1.16.0 + number_prefix@0.4.0 + numtoa@0.1.0 + once_cell@1.19.0 + os_pipe@1.2.0 + pkg-config@0.3.30 + portable-atomic@1.7.0 + ppv-lite86@0.2.19 + predicates-core@1.0.8 + predicates-tree@1.0.11 + predicates@3.1.2 + proc-macro2@1.0.86 + quick-xml@0.36.1 + quickcheck@1.0.3 + quickcheck_macros@1.0.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rangemap@1.5.1 + redox_syscall@0.2.16 + redox_termios@0.1.3 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + retry@2.0.0 + roaring@0.10.6 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + safemem@0.3.3 + semver@1.0.23 + serde@1.0.204 + serde_derive@1.0.204 + shared_child@1.0.0 + shlex@1.3.0 + strsim@0.11.1 + syn@1.0.109 + syn@2.0.72 + tempfile@3.10.1 + termion@1.5.6 + termtree@0.4.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + threadpool@1.8.1 + tui@0.19.0 + udev@0.7.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.13 + utf8parse@0.2.2 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.52.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 +" + +declare -A GIT_CRATES=( + [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' +) + +LLVM_COMPAT=( {17..18} ) + +inherit llvm-r1 cargo + +DESCRIPTION="A suite of tools for thin provisioning on Linux" +HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD GPL-3 ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +IUSE="io-uring" + +# Needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') + virtual/pkgconfig +" + +DOCS=( + CHANGES + COPYING + README.md + doc/TODO.md + doc/thinp-version-2/notes.md +) + +# Rust +QA_FLAGS_IGNORED="usr/sbin/pdata_tools" + +PATCHES=( + "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_configure() { + local myfeatures=( $(usev io-uring io_uring) ) + cargo_src_configure +} + +src_install() { + emake \ + DESTDIR="${D}" \ + DATADIR="${ED}/usr/share" \ + PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ + install + + einstalldocs +} 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.ebuild deleted file mode 100644 index c3920bb0d0ec..000000000000 --- a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.0.14.ebuild +++ /dev/null @@ -1,219 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler@1.0.2 - aho-corasick@1.1.3 - 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.86 - atty@0.2.14 - autocfg@1.3.0 - base64@0.22.1 - bindgen@0.69.4 - bitflags@1.3.2 - bitflags@2.6.0 - bytemuck@1.16.1 - byteorder@1.5.0 - cassowary@0.3.0 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.2.1 - clang-sys@1.8.1 - clap@4.5.11 - clap_builder@4.5.11 - clap_lex@0.7.2 - colorchoice@1.0.2 - console@0.15.8 - crc32c@0.6.8 - crc32fast@1.4.2 - data-encoding@2.6.0 - devicemapper-sys@0.3.0 - devicemapper@0.34.3 - downcast@0.11.0 - duct@0.13.7 - either@1.13.0 - encode_unicode@0.3.6 - env_filter@0.1.2 - env_logger@0.11.5 - env_logger@0.8.4 - errno@0.3.9 - exitcode@1.1.2 - fastrand@2.1.0 - fixedbitset@0.4.2 - flate2@1.0.30 - fragile@2.0.0 - getrandom@0.2.15 - glob@0.3.1 - hermit-abi@0.1.19 - hermit-abi@0.3.9 - humantime@2.1.0 - indicatif@0.17.8 - instant@0.1.13 - iovec@0.1.4 - is_terminal_polyfill@1.70.1 - itertools@0.12.1 - lazy_static@1.5.0 - lazycell@1.3.0 - libc@0.2.155 - libloading@0.8.5 - libudev-sys@0.1.4 - linux-raw-sys@0.4.14 - log@0.4.22 - memchr@2.7.4 - minimal-lexical@0.2.1 - miniz_oxide@0.7.4 - mockall@0.13.0 - mockall_derive@0.13.0 - nix@0.29.0 - nom@7.1.3 - num-derive@0.4.2 - num-traits@0.2.19 - num_cpus@1.16.0 - number_prefix@0.4.0 - numtoa@0.1.0 - once_cell@1.19.0 - os_pipe@1.2.0 - pkg-config@0.3.30 - portable-atomic@1.7.0 - ppv-lite86@0.2.19 - predicates-core@1.0.8 - predicates-tree@1.0.11 - predicates@3.1.2 - proc-macro2@1.0.86 - quick-xml@0.36.1 - quickcheck@1.0.3 - quickcheck_macros@1.0.0 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rangemap@1.5.1 - redox_syscall@0.2.16 - redox_termios@0.1.3 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.5 - retry@2.0.0 - roaring@0.10.6 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - safemem@0.3.3 - semver@1.0.23 - serde@1.0.204 - serde_derive@1.0.204 - shared_child@1.0.0 - shlex@1.3.0 - strsim@0.11.1 - syn@1.0.109 - syn@2.0.72 - tempfile@3.10.1 - termion@1.5.6 - termtree@0.4.1 - thiserror-impl@1.0.63 - thiserror@1.0.63 - threadpool@1.8.1 - tui@0.19.0 - udev@0.7.0 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-width@0.1.13 - utf8parse@0.2.2 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.52.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 -" - -declare -A GIT_CRATES=( - [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' -) - -LLVM_COMPAT=( {17..18} ) - -inherit cargo llvm-r1 - -DESCRIPTION="A suite of tools for thin provisioning on Linux" -HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" - -if [[ ${PV} == *9999 ]]; then - EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" - inherit git-r3 -else - SRC_URI=" - https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} - " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" -fi - -LICENSE="GPL-3" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD GPL-3 ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0" -IUSE="io-uring" - -# Needed for bindgen -BDEPEND=" - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - virtual/pkgconfig -" - -DOCS=( - CHANGES - COPYING - README.md - doc/TODO.md - doc/thinp-version-2/notes.md -) - -# Rust -QA_FLAGS_IGNORED="usr/sbin/pdata_tools" - -PATCHES=( - "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" -) - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_configure() { - local myfeatures=( $(usev io-uring io_uring) ) - cargo_src_configure -} - -src_install() { - emake \ - DESTDIR="${D}" \ - DATADIR="${ED}/usr/share" \ - PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ - install - - einstalldocs -} 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-r1.ebuild deleted file mode 100644 index 198b0bb7c620..000000000000 --- a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r1.ebuild +++ /dev/null @@ -1,233 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - adler@1.0.2 - aho-corasick@1.1.3 - 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.86 - atty@0.2.14 - autocfg@1.3.0 - base64@0.22.1 - bindgen@0.69.4 - bitflags@1.3.2 - bitflags@2.6.0 - bytemuck@1.16.3 - byteorder@1.5.0 - cassowary@0.3.0 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.2.1 - clang-sys@1.8.1 - clap@4.5.13 - clap_builder@4.5.13 - clap_lex@0.7.2 - colorchoice@1.0.2 - console@0.15.8 - crc32c@0.6.8 - crc32fast@1.4.2 - data-encoding@2.6.0 - devicemapper-sys@0.3.0 - devicemapper@0.34.3 - downcast@0.11.0 - duct@0.13.7 - either@1.13.0 - encode_unicode@0.3.6 - env_filter@0.1.2 - env_logger@0.11.5 - env_logger@0.8.4 - errno@0.3.9 - exitcode@1.1.2 - fastrand@2.1.0 - fixedbitset@0.4.2 - flate2@1.0.31 - fragile@2.0.0 - getrandom@0.2.15 - glob@0.3.1 - hermit-abi@0.1.19 - hermit-abi@0.3.9 - humantime@2.1.0 - indicatif@0.17.8 - instant@0.1.13 - iovec@0.1.4 - is_terminal_polyfill@1.70.1 - itertools@0.12.1 - lazy_static@1.5.0 - lazycell@1.3.0 - libc@0.2.155 - libloading@0.8.5 - libudev-sys@0.1.4 - linux-raw-sys@0.4.14 - log@0.4.22 - memchr@2.7.4 - minimal-lexical@0.2.1 - miniz_oxide@0.7.4 - mockall@0.13.0 - mockall_derive@0.13.0 - nix@0.29.0 - nom@7.1.3 - num-derive@0.4.2 - num-traits@0.2.19 - num_cpus@1.16.0 - number_prefix@0.4.0 - numtoa@0.1.0 - once_cell@1.19.0 - os_pipe@1.2.1 - pkg-config@0.3.30 - portable-atomic@1.7.0 - ppv-lite86@0.2.20 - predicates-core@1.0.8 - predicates-tree@1.0.11 - predicates@3.1.2 - proc-macro2@1.0.86 - quick-xml@0.36.1 - quickcheck@1.0.3 - quickcheck_macros@1.0.0 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - rangemap@1.5.1 - redox_syscall@0.2.16 - redox_termios@0.1.3 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.6 - retry@2.0.0 - roaring@0.10.6 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.38.34 - safemem@0.3.3 - semver@1.0.23 - serde@1.0.204 - serde_derive@1.0.204 - shared_child@1.0.1 - shlex@1.3.0 - strsim@0.11.1 - syn@1.0.109 - syn@2.0.72 - tempfile@3.11.0 - termion@1.5.6 - termtree@0.4.1 - thiserror-impl@1.0.63 - thiserror@1.0.63 - threadpool@1.8.1 - tui@0.19.0 - udev@0.7.0 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-width@0.1.13 - utf8parse@0.2.2 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - 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 -" - -declare -A GIT_CRATES=( - [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' -) - -LLVM_COMPAT=( {17..18} ) - -inherit cargo llvm-r1 - -DESCRIPTION="A suite of tools for thin provisioning on Linux" -HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" - -if [[ ${PV} == *9999 ]]; then - EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" - inherit git-r3 -else - SRC_URI=" - https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} - " - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" -fi - -LICENSE="GPL-3" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD GPL-3 ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0" -IUSE="io-uring" - -RDEPEND="virtual/libudev:=" -# libdevmapper.h needed for devicemapper-sys crate -DEPEND=" - ${RDEPEND} - sys-fs/lvm2 -" -# Needed for bindgen -BDEPEND=" - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - virtual/pkgconfig -" - -DOCS=( - CHANGES - COPYING - README.md - doc/TODO.md - doc/thinp-version-2/notes.md -) - -# Rust -QA_FLAGS_IGNORED="usr/sbin/pdata_tools" - -PATCHES=( - "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" -) - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - - cd "${WORKDIR}"/rio* || die - eapply "${FILESDIR}/${PN}-1.1.0-rio-nightly.patch" -} - -src_configure() { - local myfeatures=( $(usev io-uring io_uring) ) - cargo_src_configure -} - -src_install() { - emake \ - DESTDIR="${D}" \ - DATADIR="${ED}/usr/share" \ - PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ - install - - einstalldocs -} diff --git a/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild new file mode 100644 index 000000000000..226c8272ce46 --- /dev/null +++ b/sys-block/thin-provisioning-tools/thin-provisioning-tools-1.1.0-r2.ebuild @@ -0,0 +1,233 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler@1.0.2 + aho-corasick@1.1.3 + 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.86 + atty@0.2.14 + autocfg@1.3.0 + base64@0.22.1 + bindgen@0.69.4 + bitflags@1.3.2 + bitflags@2.6.0 + bytemuck@1.16.3 + byteorder@1.5.0 + cassowary@0.3.0 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + clang-sys@1.8.1 + clap@4.5.13 + clap_builder@4.5.13 + clap_lex@0.7.2 + colorchoice@1.0.2 + console@0.15.8 + crc32c@0.6.8 + crc32fast@1.4.2 + data-encoding@2.6.0 + devicemapper-sys@0.3.0 + devicemapper@0.34.3 + downcast@0.11.0 + duct@0.13.7 + either@1.13.0 + encode_unicode@0.3.6 + env_filter@0.1.2 + env_logger@0.11.5 + env_logger@0.8.4 + errno@0.3.9 + exitcode@1.1.2 + fastrand@2.1.0 + fixedbitset@0.4.2 + flate2@1.0.31 + fragile@2.0.0 + getrandom@0.2.15 + glob@0.3.1 + hermit-abi@0.1.19 + hermit-abi@0.3.9 + humantime@2.1.0 + indicatif@0.17.8 + instant@0.1.13 + iovec@0.1.4 + is_terminal_polyfill@1.70.1 + itertools@0.12.1 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.155 + libloading@0.8.5 + libudev-sys@0.1.4 + linux-raw-sys@0.4.14 + log@0.4.22 + memchr@2.7.4 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + mockall@0.13.0 + mockall_derive@0.13.0 + nix@0.29.0 + nom@7.1.3 + num-derive@0.4.2 + num-traits@0.2.19 + num_cpus@1.16.0 + number_prefix@0.4.0 + numtoa@0.1.0 + once_cell@1.19.0 + os_pipe@1.2.1 + pkg-config@0.3.30 + portable-atomic@1.7.0 + ppv-lite86@0.2.20 + predicates-core@1.0.8 + predicates-tree@1.0.11 + predicates@3.1.2 + proc-macro2@1.0.86 + quick-xml@0.36.1 + quickcheck@1.0.3 + quickcheck_macros@1.0.0 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + rangemap@1.5.1 + redox_syscall@0.2.16 + redox_termios@0.1.3 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.6 + retry@2.0.0 + roaring@0.10.6 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.38.34 + safemem@0.3.3 + semver@1.0.23 + serde@1.0.204 + serde_derive@1.0.204 + shared_child@1.0.1 + shlex@1.3.0 + strsim@0.11.1 + syn@1.0.109 + syn@2.0.72 + tempfile@3.11.0 + termion@1.5.6 + termtree@0.4.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + threadpool@1.8.1 + tui@0.19.0 + udev@0.7.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.13 + utf8parse@0.2.2 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + 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 +" + +declare -A GIT_CRATES=( + [rio]='https://github.com/jthornber/rio;2979a720f671e836302c01546f9cc9f7988610c8;rio-%commit%' +) + +LLVM_COMPAT=( {17..18} ) + +inherit llvm-r1 cargo + +DESCRIPTION="A suite of tools for thin provisioning on Linux" +HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools" + +if [[ ${PV} == *9999 ]]; then + EGIT_REPO_URI="https://github.com/jthornber/thin-provisioning-tools.git" + inherit git-r3 +else + SRC_URI=" + https://github.com/jthornber/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} + " + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="GPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD GPL-3 ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +IUSE="io-uring" + +RDEPEND="virtual/libudev:=" +# libdevmapper.h needed for devicemapper-sys crate +DEPEND=" + ${RDEPEND} + sys-fs/lvm2 +" +# Needed for bindgen +BDEPEND=" + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') + virtual/pkgconfig +" + +DOCS=( + CHANGES + COPYING + README.md + doc/TODO.md + doc/thinp-version-2/notes.md +) + +# Rust +QA_FLAGS_IGNORED="usr/sbin/pdata_tools" + +PATCHES=( + "${FILESDIR}/${PN}-1.0.6-build-with-cargo.patch" +) + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + + cd "${WORKDIR}"/rio* || die + eapply "${FILESDIR}/${PN}-1.1.0-rio-nightly.patch" +} + +src_configure() { + local myfeatures=( $(usev io-uring io_uring) ) + cargo_src_configure +} + +src_install() { + emake \ + DESTDIR="${D}" \ + DATADIR="${ED}/usr/share" \ + PDATA_TOOLS="$(cargo_target_dir)/pdata_tools" \ + install + + einstalldocs +} diff --git a/sys-devel/gcc/gcc-8.5.0-r1.ebuild b/sys-devel/gcc/gcc-8.5.0-r1.ebuild deleted file mode 100644 index c1ae8df40177..000000000000 --- a/sys-devel/gcc/gcc-8.5.0-r1.ebuild +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -TOOLCHAIN_PATCH_SUFFIX="xz" -TOOLCHAIN_PATCH_DEV="sam" -TOOLCHAIN_HAS_TESTS=1 -PATCH_VER="4" -PYTHON_COMPAT=( python3_{10..12} ) - -inherit toolchain - -KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" - -RDEPEND="" -DEPEND="${RDEPEND} - elibc_glibc? ( >=sys-libs/glibc-2.13 ) - >=${CATEGORY}/binutils-2.20" - -if [[ ${CATEGORY} != cross-* ]] ; then - PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )" -fi diff --git a/sys-devel/gcc/gcc-8.5.0-r2.ebuild b/sys-devel/gcc/gcc-8.5.0-r2.ebuild new file mode 100644 index 000000000000..bb2c7eb73ab8 --- /dev/null +++ b/sys-devel/gcc/gcc-8.5.0-r2.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" + +TOOLCHAIN_PATCH_SUFFIX="xz" +TOOLCHAIN_PATCH_DEV="sam" +TOOLCHAIN_HAS_TESTS=1 +PATCH_VER="4" +PYTHON_COMPAT=( python3_{10..12} ) + +inherit toolchain + +KEYWORDS="~alpha amd64 arm arm64 hppa ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" + +RDEPEND="" +DEPEND="${RDEPEND} + elibc_glibc? ( >=sys-libs/glibc-2.13 ) + >=${CATEGORY}/binutils-2.20" + +if [[ ${CATEGORY} != cross-* ]] ; then + PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )" +fi diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.11.0-r1.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.11.0-r1.ebuild new file mode 100644 index 000000000000..a15809aa8729 --- /dev/null +++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.11.0-r1.ebuild @@ -0,0 +1,223 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.2 + anstream@0.6.11 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + anyhow@1.0.79 + autocfg@1.1.0 + bindgen@0.69.4 + bitfield@0.14.0 + bitflags@1.3.2 + bitflags@2.4.2 + byteorder@1.5.0 + cc@1.0.83 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.7.0 + clap@4.4.18 + clap_builder@4.4.18 + clap_complete@4.4.10 + clap_derive@4.4.7 + clap_lex@0.6.0 + colorchoice@1.0.0 + either@1.9.0 + env_logger@0.10.2 + errno-dragonfly@0.1.2 + errno@0.2.8 + errno@0.3.8 + glob@0.3.1 + heck@0.4.1 + home@0.5.9 + itertools@0.12.1 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.153 + libloading@0.8.1 + libudev-sys@0.1.4 + linux-raw-sys@0.4.13 + log@0.4.22 + memchr@2.7.1 + memoffset@0.8.0 + minimal-lexical@0.2.1 + nom@7.1.3 + once_cell@1.19.0 + owo-colors@4.0.0 + paste@1.0.14 + pkg-config@0.3.29 + prettyplease@0.2.16 + proc-macro2@1.0.78 + quote@1.0.35 + regex-automata@0.4.5 + regex-syntax@0.8.2 + regex@1.10.3 + rustc-hash@1.1.0 + rustix@0.38.34 + rustversion@1.0.17 + shlex@1.3.0 + strsim@0.10.0 + strum@0.26.2 + strum_macros@0.26.2 + syn@2.0.48 + terminal_size@0.3.0 + udev@0.7.0 + unicode-ident@1.0.12 + utf8parse@0.2.1 + uuid@1.7.0 + which@4.4.2 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + 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 + zeroize@1.8.1 + zeroize_derive@1.4.2 +" + +LLVM_COMPAT=( {16..18} ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit llvm-r1 cargo flag-o-matic python-any-r1 shell-completion toolchain-funcs unpacker + +DESCRIPTION="Tools for bcachefs" +HOMEPAGE="https://bcachefs.org/" +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://evilpiepirate.org/bcachefs-tools.git" +else + SRC_URI="https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + S="${WORKDIR}/${P}" + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="Apache-2.0 BSD GPL-2 MIT" +SLOT="0" +IUSE="fuse" +RESTRICT="test" + +DEPEND=" + app-arch/lz4:= + app-arch/zstd:= + dev-libs/libaio + dev-libs/libsodium:= + dev-libs/userspace-rcu:= + sys-apps/keyutils:= + sys-apps/util-linux + sys-libs/zlib + virtual/udev + fuse? ( >=sys-fs/fuse-3.7.0 ) +" + +RDEPEND="${DEPEND}" +# +# Clang is required for bindgen +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/docutils[${PYTHON_USEDEP}] + ') + $(unpacker_src_uri_depends) + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') + elibc_musl? ( >=sys-libs/musl-1.2.5 ) + virtual/pkgconfig +" + +QA_FLAGS_IGNORED="/sbin/bcachefs" + +python_check_deps() { + python_has_version "dev-python/docutils[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} == "9999" ]]; then + git-r3_src_unpack + S="${S}/rust-src" cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + tc-export CC + + # Version sed needed because the Makefile hasn't been bumped yet + # Check if it is no longer before bumping + sed \ + -e '/^CFLAGS/s:-O2::' \ + -e '/^CFLAGS/s:-g::' \ + -i Makefile || die + append-lfs-flags +} + +src_compile() { + use fuse && export BCACHEFS_FUSE=1 + export BUILD_VERBOSE=1 + export VERSION=${PV} + + default + + local shell + for shell in bash fish zsh; do + ./bcachefs completions ${shell} > ${shell}.completion || die + done +} + +src_install() { + into / + dosbin bcachefs + + dosym bcachefs /sbin/fsck.bcachefs + dosym bcachefs /sbin/mkfs.bcachefs + dosym bcachefs /sbin/mount.bcachefs + + if use fuse; then + dosym bcachefs /sbin/fsck.fuse.bcachefs + dosym bcachefs /sbin/mkfs.fuse.bcachefs + dosym bcachefs /sbin/mount.fuse.bcachefs + fi + + newbashcomp bash.completion bcachefs + newfishcomp fish.completion bcachefs.fish + newzshcomp zsh.completion _bcachefs + + doman bcachefs.8 +} + +pkg_postinst() { + if use fuse; then + ewarn "FUSE support is experimental." + ewarn "Please only use it for development purposes at the risk of losing your data." + ewarn "You have been warned." + fi +} diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.11.0.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.11.0.ebuild deleted file mode 100644 index 566129b51e44..000000000000 --- a/sys-fs/bcachefs-tools/bcachefs-tools-1.11.0.ebuild +++ /dev/null @@ -1,224 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick@1.1.2 - anstream@0.6.11 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - anyhow@1.0.79 - autocfg@1.1.0 - bindgen@0.69.4 - bitfield@0.14.0 - bitflags@1.3.2 - bitflags@2.4.2 - byteorder@1.5.0 - cc@1.0.83 - cexpr@0.6.0 - cfg-if@1.0.0 - clang-sys@1.7.0 - clap@4.4.18 - clap_builder@4.4.18 - clap_complete@4.4.10 - clap_derive@4.4.7 - clap_lex@0.6.0 - colorchoice@1.0.0 - either@1.9.0 - env_logger@0.10.2 - errno-dragonfly@0.1.2 - errno@0.2.8 - errno@0.3.8 - glob@0.3.1 - heck@0.4.1 - home@0.5.9 - itertools@0.12.1 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.153 - libloading@0.8.1 - libudev-sys@0.1.4 - linux-raw-sys@0.4.13 - log@0.4.22 - memchr@2.7.1 - memoffset@0.8.0 - minimal-lexical@0.2.1 - nom@7.1.3 - once_cell@1.19.0 - owo-colors@4.0.0 - paste@1.0.14 - pkg-config@0.3.29 - prettyplease@0.2.16 - proc-macro2@1.0.78 - quote@1.0.35 - regex-automata@0.4.5 - regex-syntax@0.8.2 - regex@1.10.3 - rustc-hash@1.1.0 - rustix@0.38.34 - rustversion@1.0.17 - shlex@1.3.0 - strsim@0.10.0 - strum@0.26.2 - strum_macros@0.26.2 - syn@2.0.48 - terminal_size@0.3.0 - udev@0.7.0 - unicode-ident@1.0.12 - utf8parse@0.2.1 - uuid@1.7.0 - which@4.4.2 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - 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 - zeroize@1.8.1 - zeroize_derive@1.4.2 -" - -LLVM_COMPAT=( {16..18} ) -PYTHON_COMPAT=( python3_{10..13} ) - -inherit cargo flag-o-matic llvm-r1 python-any-r1 shell-completion toolchain-funcs unpacker - -DESCRIPTION="Tools for bcachefs" -HOMEPAGE="https://bcachefs.org/" -if [[ ${PV} == "9999" ]]; then - inherit git-r3 - EGIT_REPO_URI="https://evilpiepirate.org/bcachefs-tools.git" -else - SRC_URI="https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - S="${WORKDIR}/${P}" - KEYWORDS="~amd64 ~arm64" -fi - -LICENSE="Apache-2.0 BSD GPL-2 MIT" -SLOT="0" -IUSE="fuse" -RESTRICT="test" - -DEPEND=" - app-arch/lz4:= - app-arch/zstd:= - dev-libs/libaio - dev-libs/libsodium:= - dev-libs/userspace-rcu:= - sys-apps/keyutils:= - sys-apps/util-linux - sys-libs/zlib - virtual/udev - fuse? ( >=sys-fs/fuse-3.7.0 ) -" - -RDEPEND="${DEPEND}" -# -# Clang is required for bindgen -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/docutils[${PYTHON_USEDEP}] - ') - $(unpacker_src_uri_depends) - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - elibc_musl? ( >=sys-libs/musl-1.2.5 ) - virtual/pkgconfig - virtual/rust -" - -QA_FLAGS_IGNORED="/sbin/bcachefs" - -python_check_deps() { - python_has_version "dev-python/docutils[${PYTHON_USEDEP}]" -} - -pkg_setup() { - llvm-r1_pkg_setup - python-any-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} == "9999" ]]; then - git-r3_src_unpack - S="${S}/rust-src" cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - tc-export CC - - # Version sed needed because the Makefile hasn't been bumped yet - # Check if it is no longer before bumping - sed \ - -e '/^CFLAGS/s:-O2::' \ - -e '/^CFLAGS/s:-g::' \ - -i Makefile || die - append-lfs-flags -} - -src_compile() { - use fuse && export BCACHEFS_FUSE=1 - export BUILD_VERBOSE=1 - export VERSION=${PV} - - default - - local shell - for shell in bash fish zsh; do - ./bcachefs completions ${shell} > ${shell}.completion || die - done -} - -src_install() { - into / - dosbin bcachefs - - dosym bcachefs /sbin/fsck.bcachefs - dosym bcachefs /sbin/mkfs.bcachefs - dosym bcachefs /sbin/mount.bcachefs - - if use fuse; then - dosym bcachefs /sbin/fsck.fuse.bcachefs - dosym bcachefs /sbin/mkfs.fuse.bcachefs - dosym bcachefs /sbin/mount.fuse.bcachefs - fi - - newbashcomp bash.completion bcachefs - newfishcomp fish.completion bcachefs.fish - newzshcomp zsh.completion _bcachefs - - doman bcachefs.8 -} - -pkg_postinst() { - if use fuse; then - ewarn "FUSE support is experimental." - ewarn "Please only use it for development purposes at the risk of losing your data." - ewarn "You have been warned." - fi -} diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.13.0-r1.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.13.0-r1.ebuild new file mode 100644 index 000000000000..da8e0cb0bcd2 --- /dev/null +++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.13.0-r1.ebuild @@ -0,0 +1,223 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.3 + 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 + bindgen@0.69.5 + bitfield@0.14.0 + bitflags@1.3.2 + bitflags@2.6.0 + cc@1.1.28 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.8.1 + clap@4.5.20 + clap_builder@4.5.20 + clap_complete@4.5.33 + clap_derive@4.5.18 + clap_lex@0.7.2 + colorchoice@1.0.2 + either@1.13.0 + env_logger@0.10.2 + errno-dragonfly@0.1.2 + errno@0.2.8 + errno@0.3.9 + glob@0.3.1 + heck@0.5.0 + home@0.5.9 + is_terminal_polyfill@1.70.1 + itertools@0.12.1 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.159 + libloading@0.8.5 + libudev-sys@0.1.4 + linux-raw-sys@0.4.14 + log@0.4.22 + memchr@2.7.4 + minimal-lexical@0.2.1 + nom@7.1.3 + once_cell@1.20.2 + owo-colors@4.1.0 + paste@1.0.15 + pkg-config@0.3.31 + prettyplease@0.2.22 + proc-macro2@1.0.87 + quote@1.0.37 + regex-automata@0.4.8 + regex-syntax@0.8.5 + regex@1.11.0 + rustc-hash@1.1.0 + rustix@0.38.37 + rustversion@1.0.17 + shlex@1.3.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + syn@2.0.79 + terminal_size@0.4.0 + udev@0.7.0 + unicode-ident@1.0.13 + utf8parse@0.2.2 + uuid@1.10.0 + which@4.4.2 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + 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 + zeroize@1.8.1 + zeroize_derive@1.4.2 +" + +LLVM_COMPAT=( {16..18} ) +PYTHON_COMPAT=( python3_{10..13} ) +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kentoverstreet.asc + +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/" +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git" +else + SRC_URI="https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.zst + ${CARGO_CRATE_URIS}" + SRC_URI+=" verify-sig? ( https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.sign )" + S="${WORKDIR}/${P}" + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="Apache-2.0 BSD GPL-2 MIT" +SLOT="0" +IUSE="fuse verify-sig" +RESTRICT="test" + +DEPEND=" + app-arch/lz4:= + app-arch/zstd:= + dev-libs/libaio + dev-libs/libsodium:= + dev-libs/userspace-rcu:= + sys-apps/keyutils:= + sys-apps/util-linux + sys-libs/zlib + virtual/udev + fuse? ( >=sys-fs/fuse-3.7.0 ) +" + +RDEPEND="${DEPEND}" +# +# Clang is required for bindgen +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/docutils[${PYTHON_USEDEP}] + ') + $(unpacker_src_uri_depends) + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') + elibc_musl? ( >=sys-libs/musl-1.2.5 ) + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-kentoverstreet-20241012 ) +" + +QA_FLAGS_IGNORED="/sbin/bcachefs" + +python_check_deps() { + python_has_version "dev-python/docutils[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} == "9999" ]]; then + git-r3_src_unpack + S="${S}/rust-src" cargo_live_src_unpack + else + unpacker ${P}.tar.zst + cargo_src_unpack + fi +} + +src_prepare() { + default + tc-export CC + + # Version sed needed because the Makefile hasn't been bumped yet + # Check if it is no longer before bumping + sed \ + -e '/^CFLAGS/s:-O2::' \ + -e '/^CFLAGS/s:-g::' \ + -i Makefile || die + append-lfs-flags +} + +src_compile() { + use fuse && export BCACHEFS_FUSE=1 + export BUILD_VERBOSE=1 + export VERSION=${PV} + + default + + # This version mangles the symbolic link, + # please check if this can be removed before bumping + rm "${S}"/bcachefs + ln -s "${S}"/target/release/bcachefs bcachefs + + local shell + for shell in bash fish zsh; do + ./bcachefs completions ${shell} > ${shell}.completion || die + done +} + +src_install() { + into / + dosbin bcachefs + + dosym bcachefs /sbin/fsck.bcachefs + dosym bcachefs /sbin/mkfs.bcachefs + dosym bcachefs /sbin/mount.bcachefs + + if use fuse; then + dosym bcachefs /sbin/fsck.fuse.bcachefs + dosym bcachefs /sbin/mkfs.fuse.bcachefs + dosym bcachefs /sbin/mount.fuse.bcachefs + fi + + newbashcomp bash.completion bcachefs + newfishcomp fish.completion bcachefs.fish + newzshcomp zsh.completion _bcachefs + + doman bcachefs.8 +} + +pkg_postinst() { + if use fuse; then + ewarn "FUSE support is experimental." + ewarn "Please only use it for development purposes at the risk of losing your data." + ewarn "You have been warned." + fi +} diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.13.0.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.13.0.ebuild deleted file mode 100644 index 004251f02079..000000000000 --- a/sys-fs/bcachefs-tools/bcachefs-tools-1.13.0.ebuild +++ /dev/null @@ -1,223 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick@1.1.3 - 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 - bindgen@0.69.5 - bitfield@0.14.0 - bitflags@1.3.2 - bitflags@2.6.0 - cc@1.1.28 - cexpr@0.6.0 - cfg-if@1.0.0 - clang-sys@1.8.1 - clap@4.5.20 - clap_builder@4.5.20 - clap_complete@4.5.33 - clap_derive@4.5.18 - clap_lex@0.7.2 - colorchoice@1.0.2 - either@1.13.0 - env_logger@0.10.2 - errno-dragonfly@0.1.2 - errno@0.2.8 - errno@0.3.9 - glob@0.3.1 - heck@0.5.0 - home@0.5.9 - is_terminal_polyfill@1.70.1 - itertools@0.12.1 - lazy_static@1.5.0 - lazycell@1.3.0 - libc@0.2.159 - libloading@0.8.5 - libudev-sys@0.1.4 - linux-raw-sys@0.4.14 - log@0.4.22 - memchr@2.7.4 - minimal-lexical@0.2.1 - nom@7.1.3 - once_cell@1.20.2 - owo-colors@4.1.0 - paste@1.0.15 - pkg-config@0.3.31 - prettyplease@0.2.22 - proc-macro2@1.0.87 - quote@1.0.37 - regex-automata@0.4.8 - regex-syntax@0.8.5 - regex@1.11.0 - rustc-hash@1.1.0 - rustix@0.38.37 - rustversion@1.0.17 - shlex@1.3.0 - strsim@0.11.1 - strum@0.26.3 - strum_macros@0.26.4 - syn@2.0.79 - terminal_size@0.4.0 - udev@0.7.0 - unicode-ident@1.0.13 - utf8parse@0.2.2 - uuid@1.10.0 - which@4.4.2 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - 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 - zeroize@1.8.1 - zeroize_derive@1.4.2 -" - -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 - -DESCRIPTION="Tools for bcachefs" -HOMEPAGE="https://bcachefs.org/" -if [[ ${PV} == "9999" ]]; then - inherit git-r3 - EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git" -else - SRC_URI="https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.zst - ${CARGO_CRATE_URIS}" - SRC_URI+=" verify-sig? ( https://evilpiepirate.org/bcachefs-tools/bcachefs-tools-${PV}.tar.sign )" - S="${WORKDIR}/${P}" - KEYWORDS="~amd64 ~arm64" -fi - -LICENSE="Apache-2.0 BSD GPL-2 MIT" -SLOT="0" -IUSE="fuse verify-sig" -RESTRICT="test" - -DEPEND=" - app-arch/lz4:= - app-arch/zstd:= - dev-libs/libaio - dev-libs/libsodium:= - dev-libs/userspace-rcu:= - sys-apps/keyutils:= - sys-apps/util-linux - sys-libs/zlib - virtual/udev - fuse? ( >=sys-fs/fuse-3.7.0 ) -" - -RDEPEND="${DEPEND}" -# -# Clang is required for bindgen -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/docutils[${PYTHON_USEDEP}] - ') - $(unpacker_src_uri_depends) - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - elibc_musl? ( >=sys-libs/musl-1.2.5 ) - virtual/pkgconfig - virtual/rust - verify-sig? ( >=sec-keys/openpgp-keys-kentoverstreet-20241012 ) -" - -QA_FLAGS_IGNORED="/sbin/bcachefs" - -python_check_deps() { - python_has_version "dev-python/docutils[${PYTHON_USEDEP}]" -} - -pkg_setup() { - llvm-r1_pkg_setup - python-any-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} == "9999" ]]; then - git-r3_src_unpack - S="${S}/rust-src" cargo_live_src_unpack - else - unpacker ${P}.tar.zst - cargo_src_unpack - fi -} - -src_prepare() { - default - tc-export CC - - # Version sed needed because the Makefile hasn't been bumped yet - # Check if it is no longer before bumping - sed \ - -e '/^CFLAGS/s:-O2::' \ - -e '/^CFLAGS/s:-g::' \ - -i Makefile || die - append-lfs-flags -} - -src_compile() { - use fuse && export BCACHEFS_FUSE=1 - export BUILD_VERBOSE=1 - export VERSION=${PV} - - default - - # This version mangles the symbolic link, - # please check if this can be removed before bumping - rm "${S}"/bcachefs - ln -s "${S}"/target/release/bcachefs bcachefs - - local shell - for shell in bash fish zsh; do - ./bcachefs completions ${shell} > ${shell}.completion || die - done -} - -src_install() { - into / - dosbin bcachefs - - dosym bcachefs /sbin/fsck.bcachefs - dosym bcachefs /sbin/mkfs.bcachefs - dosym bcachefs /sbin/mount.bcachefs - - if use fuse; then - dosym bcachefs /sbin/fsck.fuse.bcachefs - dosym bcachefs /sbin/mkfs.fuse.bcachefs - dosym bcachefs /sbin/mount.fuse.bcachefs - fi - - newbashcomp bash.completion bcachefs - newfishcomp fish.completion bcachefs.fish - newzshcomp zsh.completion _bcachefs - - doman bcachefs.8 -} - -pkg_postinst() { - if use fuse; then - ewarn "FUSE support is experimental." - ewarn "Please only use it for development purposes at the risk of losing your data." - ewarn "You have been warned." - fi -} diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.7.0-r1.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.7.0-r1.ebuild new file mode 100644 index 000000000000..413ed976120b --- /dev/null +++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.7.0-r1.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.2 + anstream@0.6.11 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + anyhow@1.0.79 + autocfg@1.1.0 + bindgen@0.69.4 + bitfield@0.14.0 + bitflags@1.3.2 + bitflags@2.4.2 + byteorder@1.5.0 + cc@1.0.83 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.7.0 + clap@4.4.18 + clap_builder@4.4.18 + clap_complete@4.4.10 + clap_derive@4.4.7 + clap_lex@0.6.0 + colorchoice@1.0.0 + colored@2.1.0 + either@1.9.0 + errno-dragonfly@0.1.2 + errno@0.2.8 + errno@0.3.8 + glob@0.3.1 + heck@0.4.1 + home@0.5.9 + itertools@0.12.1 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.153 + libloading@0.8.1 + libudev-sys@0.1.4 + linux-raw-sys@0.4.13 + log@0.4.20 + memchr@2.7.1 + memoffset@0.8.0 + minimal-lexical@0.2.1 + nom@7.1.3 + once_cell@1.19.0 + paste@1.0.14 + pkg-config@0.3.29 + prettyplease@0.2.16 + proc-macro2@1.0.78 + quote@1.0.35 + regex-automata@0.4.5 + regex-syntax@0.8.2 + regex@1.10.3 + rpassword@7.3.1 + rtoolbox@0.0.2 + rustc-hash@1.1.0 + rustix@0.38.31 + shlex@1.3.0 + strsim@0.10.0 + syn@2.0.48 + terminal_size@0.3.0 + udev@0.7.0 + unicode-ident@1.0.12 + utf8parse@0.2.1 + uuid@1.7.0 + which@4.4.2 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + 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 +" + +LLVM_COMPAT=( {16..18} ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit llvm-r1 cargo flag-o-matic multiprocessing python-any-r1 shell-completion toolchain-funcs unpacker + +DESCRIPTION="Tools for bcachefs" +HOMEPAGE="https://bcachefs.org/" +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git" +else + SRC_URI="https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + S="${WORKDIR}/${P}" + KEYWORDS="amd64 ~arm64" +fi + +LICENSE="Apache-2.0 BSD GPL-2 MIT" +SLOT="0" +IUSE="fuse test" +RESTRICT="!test? ( test )" + +DEPEND=" + app-arch/lz4:= + app-arch/zstd:= + dev-libs/libaio + dev-libs/libsodium:= + dev-libs/userspace-rcu:= + sys-apps/keyutils:= + sys-apps/util-linux + sys-libs/zlib + virtual/udev + fuse? ( >=sys-fs/fuse-3.7.0 ) +" + +RDEPEND="${DEPEND}" +# +# Clang is required for bindgen +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/docutils[${PYTHON_USEDEP}] + test? ( + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) + ') + $(unpacker_src_uri_depends) + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') + virtual/pkgconfig +" + +QA_FLAGS_IGNORED="/sbin/bcachefs" + +python_check_deps() { + if use test; then + python_has_version \ + "dev-python/pytest[${PYTHON_USEDEP}]" \ + "dev-python/pytest-xdist[${PYTHON_USEDEP}]" + fi + python_has_version "dev-python/docutils[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} == "9999" ]]; then + git-r3_src_unpack + S="${S}/rust-src" cargo_live_src_unpack + else + unpack ${P}.tar.gz + cargo_src_unpack + fi +} + +src_prepare() { + default + tc-export CC + + # Version sed needed because the Makefile hasn't been bumped yet + # Check if it is no longer before bumping + sed \ + -e '/^CFLAGS/s:-O2::' \ + -e '/^CFLAGS/s:-g::' \ + -i Makefile || die + append-lfs-flags +} + +src_compile() { + use fuse && export BCACHEFS_FUSE=1 + export BUILD_VERBOSE=1 + export VERSION=${PV} + + default + + use test && emake tests + + local shell + for shell in bash fish zsh; do + ./bcachefs completions ${shell} > ${shell}.completion || die + done +} + +src_test() { + if ! use fuse; then + EPYTEST_IGNORE=( tests/test_fuse.py ) + fi + EPYTEST_DESELECT=( + # Valgrind + 'tests/test_fixture.py::test_read_after_free' + 'tests/test_fixture.py::test_undefined' + 'tests/test_fixture.py::test_write_after_free' + 'tests/test_fixture.py::test_undefined_branch' + 'tests/test_fixture.py::test_leak' + 'tests/test_fixture.py::test_check' + # Fails in portage because of usersandbox; ensure that these pass before bumping! + 'tests/test_basic.py::test_format' + 'tests/test_basic.py::test_fsck' + 'tests/test_basic.py::test_list' + 'tests/test_basic.py::test_list_inodes' + 'tests/test_basic.py::test_list_dirent' + ) + epytest -v -n "$(makeopts_jobs)" +} + +src_install() { + into / + dosbin bcachefs + + dosym bcachefs /sbin/fsck.bcachefs + dosym bcachefs /sbin/mkfs.bcachefs + dosym bcachefs /sbin/mount.bcachefs + + if use fuse; then + dosym bcachefs /sbin/fsck.fuse.bcachefs + dosym bcachefs /sbin/mkfs.fuse.bcachefs + dosym bcachefs /sbin/mount.fuse.bcachefs + fi + + newbashcomp bash.completion bcachefs + newfishcomp fish.completion bcachefs.fish + newzshcomp zsh.completion _bcachefs + + doman bcachefs.8 +} + +pkg_postinst() { + if use fuse; then + ewarn "FUSE support is experimental." + ewarn "Please only use it for development purposes at the risk of losing your data." + ewarn "You have been warned." + fi +} diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.7.0.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.7.0.ebuild deleted file mode 100644 index ca3cca9c03ae..000000000000 --- a/sys-fs/bcachefs-tools/bcachefs-tools-1.7.0.ebuild +++ /dev/null @@ -1,253 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick@1.1.2 - anstream@0.6.11 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - anyhow@1.0.79 - autocfg@1.1.0 - bindgen@0.69.4 - bitfield@0.14.0 - bitflags@1.3.2 - bitflags@2.4.2 - byteorder@1.5.0 - cc@1.0.83 - cexpr@0.6.0 - cfg-if@1.0.0 - clang-sys@1.7.0 - clap@4.4.18 - clap_builder@4.4.18 - clap_complete@4.4.10 - clap_derive@4.4.7 - clap_lex@0.6.0 - colorchoice@1.0.0 - colored@2.1.0 - either@1.9.0 - errno-dragonfly@0.1.2 - errno@0.2.8 - errno@0.3.8 - glob@0.3.1 - heck@0.4.1 - home@0.5.9 - itertools@0.12.1 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.153 - libloading@0.8.1 - libudev-sys@0.1.4 - linux-raw-sys@0.4.13 - log@0.4.20 - memchr@2.7.1 - memoffset@0.8.0 - minimal-lexical@0.2.1 - nom@7.1.3 - once_cell@1.19.0 - paste@1.0.14 - pkg-config@0.3.29 - prettyplease@0.2.16 - proc-macro2@1.0.78 - quote@1.0.35 - regex-automata@0.4.5 - regex-syntax@0.8.2 - regex@1.10.3 - rpassword@7.3.1 - rtoolbox@0.0.2 - rustc-hash@1.1.0 - rustix@0.38.31 - shlex@1.3.0 - strsim@0.10.0 - syn@2.0.48 - terminal_size@0.3.0 - udev@0.7.0 - unicode-ident@1.0.12 - utf8parse@0.2.1 - uuid@1.7.0 - which@4.4.2 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - 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 -" - -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 - -DESCRIPTION="Tools for bcachefs" -HOMEPAGE="https://bcachefs.org/" -if [[ ${PV} == "9999" ]]; then - inherit git-r3 - EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git" -else - SRC_URI="https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - S="${WORKDIR}/${P}" - KEYWORDS="amd64 ~arm64" -fi - -LICENSE="Apache-2.0 BSD GPL-2 MIT" -SLOT="0" -IUSE="fuse test" -RESTRICT="!test? ( test )" - -DEPEND=" - app-arch/lz4:= - app-arch/zstd:= - dev-libs/libaio - dev-libs/libsodium:= - dev-libs/userspace-rcu:= - sys-apps/keyutils:= - sys-apps/util-linux - sys-libs/zlib - virtual/udev - fuse? ( >=sys-fs/fuse-3.7.0 ) -" - -RDEPEND="${DEPEND}" -# -# Clang is required for bindgen -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/docutils[${PYTHON_USEDEP}] - test? ( - dev-python/pytest[${PYTHON_USEDEP}] - dev-python/pytest-xdist[${PYTHON_USEDEP}] - ) - ') - $(unpacker_src_uri_depends) - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - virtual/pkgconfig - virtual/rust -" - -QA_FLAGS_IGNORED="/sbin/bcachefs" - -python_check_deps() { - if use test; then - python_has_version \ - "dev-python/pytest[${PYTHON_USEDEP}]" \ - "dev-python/pytest-xdist[${PYTHON_USEDEP}]" - fi - python_has_version "dev-python/docutils[${PYTHON_USEDEP}]" -} - -pkg_setup() { - llvm-r1_pkg_setup - python-any-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} == "9999" ]]; then - git-r3_src_unpack - S="${S}/rust-src" cargo_live_src_unpack - else - unpack ${P}.tar.gz - cargo_src_unpack - fi -} - -src_prepare() { - default - tc-export CC - - # Version sed needed because the Makefile hasn't been bumped yet - # Check if it is no longer before bumping - sed \ - -e '/^CFLAGS/s:-O2::' \ - -e '/^CFLAGS/s:-g::' \ - -i Makefile || die - append-lfs-flags -} - -src_compile() { - use fuse && export BCACHEFS_FUSE=1 - export BUILD_VERBOSE=1 - export VERSION=${PV} - - default - - use test && emake tests - - local shell - for shell in bash fish zsh; do - ./bcachefs completions ${shell} > ${shell}.completion || die - done -} - -src_test() { - if ! use fuse; then - EPYTEST_IGNORE=( tests/test_fuse.py ) - fi - EPYTEST_DESELECT=( - # Valgrind - 'tests/test_fixture.py::test_read_after_free' - 'tests/test_fixture.py::test_undefined' - 'tests/test_fixture.py::test_write_after_free' - 'tests/test_fixture.py::test_undefined_branch' - 'tests/test_fixture.py::test_leak' - 'tests/test_fixture.py::test_check' - # Fails in portage because of usersandbox; ensure that these pass before bumping! - 'tests/test_basic.py::test_format' - 'tests/test_basic.py::test_fsck' - 'tests/test_basic.py::test_list' - 'tests/test_basic.py::test_list_inodes' - 'tests/test_basic.py::test_list_dirent' - ) - epytest -v -n "$(makeopts_jobs)" -} - -src_install() { - into / - dosbin bcachefs - - dosym bcachefs /sbin/fsck.bcachefs - dosym bcachefs /sbin/mkfs.bcachefs - dosym bcachefs /sbin/mount.bcachefs - - if use fuse; then - dosym bcachefs /sbin/fsck.fuse.bcachefs - dosym bcachefs /sbin/mkfs.fuse.bcachefs - dosym bcachefs /sbin/mount.fuse.bcachefs - fi - - newbashcomp bash.completion bcachefs - newfishcomp fish.completion bcachefs.fish - newzshcomp zsh.completion _bcachefs - - doman bcachefs.8 -} - -pkg_postinst() { - if use fuse; then - ewarn "FUSE support is experimental." - ewarn "Please only use it for development purposes at the risk of losing your data." - ewarn "You have been warned." - fi -} diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.9.4-r1.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.9.4-r1.ebuild new file mode 100644 index 000000000000..7a9612a910b2 --- /dev/null +++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.9.4-r1.ebuild @@ -0,0 +1,258 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + aho-corasick@1.1.2 + anstream@0.6.11 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.6 + anyhow@1.0.79 + autocfg@1.1.0 + bindgen@0.69.4 + bitfield@0.14.0 + bitflags@1.3.2 + bitflags@2.4.2 + byteorder@1.5.0 + cc@1.0.83 + cexpr@0.6.0 + cfg-if@1.0.0 + clang-sys@1.7.0 + clap@4.4.18 + clap_builder@4.4.18 + clap_complete@4.4.10 + clap_derive@4.4.7 + clap_lex@0.6.0 + colorchoice@1.0.0 + either@1.9.0 + env_logger@0.10.2 + errno-dragonfly@0.1.2 + errno@0.2.8 + errno@0.3.8 + glob@0.3.1 + heck@0.4.1 + hermit-abi@0.3.9 + home@0.5.9 + is-terminal@0.4.12 + itertools@0.12.1 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.153 + libloading@0.8.1 + libudev-sys@0.1.4 + linux-raw-sys@0.4.13 + log@0.4.22 + memchr@2.7.1 + memoffset@0.8.0 + minimal-lexical@0.2.1 + nom@7.1.3 + once_cell@1.19.0 + paste@1.0.14 + pkg-config@0.3.29 + prettyplease@0.2.16 + proc-macro2@1.0.78 + quote@1.0.35 + regex-automata@0.4.5 + regex-syntax@0.8.2 + regex@1.10.3 + rustc-hash@1.1.0 + rustix@0.38.34 + rustversion@1.0.17 + shlex@1.3.0 + strsim@0.10.0 + strum@0.26.2 + strum_macros@0.26.2 + syn@2.0.48 + termcolor@1.4.1 + terminal_size@0.3.0 + udev@0.7.0 + unicode-ident@1.0.12 + utf8parse@0.2.1 + uuid@1.7.0 + which@4.4.2 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + 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 + zeroize@1.8.1 + zeroize_derive@1.4.2 +" + +LLVM_COMPAT=( {16..18} ) +PYTHON_COMPAT=( python3_{10..13} ) + +inherit llvm-r1 cargo flag-o-matic multiprocessing python-any-r1 shell-completion toolchain-funcs unpacker + +DESCRIPTION="Tools for bcachefs" +HOMEPAGE="https://bcachefs.org/" +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git" +else + SRC_URI="https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS}" + S="${WORKDIR}/${P}" + KEYWORDS="amd64 arm64" +fi + +LICENSE="Apache-2.0 BSD GPL-2 MIT" +SLOT="0" +IUSE="fuse test" +RESTRICT="!test? ( test )" + +DEPEND=" + app-arch/lz4:= + app-arch/zstd:= + dev-libs/libaio + dev-libs/libsodium:= + dev-libs/userspace-rcu:= + sys-apps/keyutils:= + sys-apps/util-linux + sys-libs/zlib + virtual/udev + fuse? ( >=sys-fs/fuse-3.7.0 ) +" + +RDEPEND="${DEPEND}" +# +# Clang is required for bindgen +BDEPEND=" + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/docutils[${PYTHON_USEDEP}] + test? ( + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-xdist[${PYTHON_USEDEP}] + ) + ') + $(unpacker_src_uri_depends) + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT} + ') + virtual/pkgconfig +" + +QA_FLAGS_IGNORED="/sbin/bcachefs" + +python_check_deps() { + if use test; then + python_has_version \ + "dev-python/pytest[${PYTHON_USEDEP}]" \ + "dev-python/pytest-xdist[${PYTHON_USEDEP}]" + fi + python_has_version "dev-python/docutils[${PYTHON_USEDEP}]" +} + +pkg_setup() { + llvm-r1_pkg_setup + python-any-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} == "9999" ]]; then + git-r3_src_unpack + S="${S}/rust-src" cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_prepare() { + default + tc-export CC + + # Version sed needed because the Makefile hasn't been bumped yet + # Check if it is no longer before bumping + sed \ + -e '/^CFLAGS/s:-O2::' \ + -e '/^CFLAGS/s:-g::' \ + -i Makefile || die + append-lfs-flags +} + +src_compile() { + use fuse && export BCACHEFS_FUSE=1 + export BUILD_VERBOSE=1 + export VERSION=${PV} + + default + + use test && emake tests + + local shell + for shell in bash fish zsh; do + ./bcachefs completions ${shell} > ${shell}.completion || die + done +} + +src_test() { + if ! use fuse; then + EPYTEST_IGNORE=( tests/test_fuse.py ) + fi + EPYTEST_DESELECT=( + # Valgrind + 'tests/test_fixture.py::test_read_after_free' + 'tests/test_fixture.py::test_undefined' + 'tests/test_fixture.py::test_write_after_free' + 'tests/test_fixture.py::test_undefined_branch' + 'tests/test_fixture.py::test_leak' + 'tests/test_fixture.py::test_check' + # Fails in portage because of usersandbox; ensure that these pass before bumping! + 'tests/test_basic.py::test_format' + 'tests/test_basic.py::test_fsck' + 'tests/test_basic.py::test_list' + 'tests/test_basic.py::test_list_inodes' + 'tests/test_basic.py::test_list_dirent' + ) + epytest -v -n "$(makeopts_jobs)" +} + +src_install() { + into / + dosbin bcachefs + + dosym bcachefs /sbin/fsck.bcachefs + dosym bcachefs /sbin/mkfs.bcachefs + dosym bcachefs /sbin/mount.bcachefs + + if use fuse; then + dosym bcachefs /sbin/fsck.fuse.bcachefs + dosym bcachefs /sbin/mkfs.fuse.bcachefs + dosym bcachefs /sbin/mount.fuse.bcachefs + fi + + newbashcomp bash.completion bcachefs + newfishcomp fish.completion bcachefs.fish + newzshcomp zsh.completion _bcachefs + + doman bcachefs.8 +} + +pkg_postinst() { + if use fuse; then + ewarn "FUSE support is experimental." + ewarn "Please only use it for development purposes at the risk of losing your data." + ewarn "You have been warned." + fi +} diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.9.4.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.9.4.ebuild deleted file mode 100644 index 7e5aa241533f..000000000000 --- a/sys-fs/bcachefs-tools/bcachefs-tools-1.9.4.ebuild +++ /dev/null @@ -1,259 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - aho-corasick@1.1.2 - anstream@0.6.11 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.6 - anyhow@1.0.79 - autocfg@1.1.0 - bindgen@0.69.4 - bitfield@0.14.0 - bitflags@1.3.2 - bitflags@2.4.2 - byteorder@1.5.0 - cc@1.0.83 - cexpr@0.6.0 - cfg-if@1.0.0 - clang-sys@1.7.0 - clap@4.4.18 - clap_builder@4.4.18 - clap_complete@4.4.10 - clap_derive@4.4.7 - clap_lex@0.6.0 - colorchoice@1.0.0 - either@1.9.0 - env_logger@0.10.2 - errno-dragonfly@0.1.2 - errno@0.2.8 - errno@0.3.8 - glob@0.3.1 - heck@0.4.1 - hermit-abi@0.3.9 - home@0.5.9 - is-terminal@0.4.12 - itertools@0.12.1 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.153 - libloading@0.8.1 - libudev-sys@0.1.4 - linux-raw-sys@0.4.13 - log@0.4.22 - memchr@2.7.1 - memoffset@0.8.0 - minimal-lexical@0.2.1 - nom@7.1.3 - once_cell@1.19.0 - paste@1.0.14 - pkg-config@0.3.29 - prettyplease@0.2.16 - proc-macro2@1.0.78 - quote@1.0.35 - regex-automata@0.4.5 - regex-syntax@0.8.2 - regex@1.10.3 - rustc-hash@1.1.0 - rustix@0.38.34 - rustversion@1.0.17 - shlex@1.3.0 - strsim@0.10.0 - strum@0.26.2 - strum_macros@0.26.2 - syn@2.0.48 - termcolor@1.4.1 - terminal_size@0.3.0 - udev@0.7.0 - unicode-ident@1.0.12 - utf8parse@0.2.1 - uuid@1.7.0 - which@4.4.2 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - 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 - zeroize@1.8.1 - zeroize_derive@1.4.2 -" - -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 - -DESCRIPTION="Tools for bcachefs" -HOMEPAGE="https://bcachefs.org/" -if [[ ${PV} == "9999" ]]; then - inherit git-r3 - EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git" -else - SRC_URI="https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS}" - S="${WORKDIR}/${P}" - KEYWORDS="amd64 arm64" -fi - -LICENSE="Apache-2.0 BSD GPL-2 MIT" -SLOT="0" -IUSE="fuse test" -RESTRICT="!test? ( test )" - -DEPEND=" - app-arch/lz4:= - app-arch/zstd:= - dev-libs/libaio - dev-libs/libsodium:= - dev-libs/userspace-rcu:= - sys-apps/keyutils:= - sys-apps/util-linux - sys-libs/zlib - virtual/udev - fuse? ( >=sys-fs/fuse-3.7.0 ) -" - -RDEPEND="${DEPEND}" -# -# Clang is required for bindgen -BDEPEND=" - ${PYTHON_DEPS} - $(python_gen_any_dep ' - dev-python/docutils[${PYTHON_USEDEP}] - test? ( - dev-python/pytest[${PYTHON_USEDEP}] - dev-python/pytest-xdist[${PYTHON_USEDEP}] - ) - ') - $(unpacker_src_uri_depends) - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - ') - virtual/pkgconfig - virtual/rust -" - -QA_FLAGS_IGNORED="/sbin/bcachefs" - -python_check_deps() { - if use test; then - python_has_version \ - "dev-python/pytest[${PYTHON_USEDEP}]" \ - "dev-python/pytest-xdist[${PYTHON_USEDEP}]" - fi - python_has_version "dev-python/docutils[${PYTHON_USEDEP}]" -} - -pkg_setup() { - llvm-r1_pkg_setup - python-any-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} == "9999" ]]; then - git-r3_src_unpack - S="${S}/rust-src" cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_prepare() { - default - tc-export CC - - # Version sed needed because the Makefile hasn't been bumped yet - # Check if it is no longer before bumping - sed \ - -e '/^CFLAGS/s:-O2::' \ - -e '/^CFLAGS/s:-g::' \ - -i Makefile || die - append-lfs-flags -} - -src_compile() { - use fuse && export BCACHEFS_FUSE=1 - export BUILD_VERBOSE=1 - export VERSION=${PV} - - default - - use test && emake tests - - local shell - for shell in bash fish zsh; do - ./bcachefs completions ${shell} > ${shell}.completion || die - done -} - -src_test() { - if ! use fuse; then - EPYTEST_IGNORE=( tests/test_fuse.py ) - fi - EPYTEST_DESELECT=( - # Valgrind - 'tests/test_fixture.py::test_read_after_free' - 'tests/test_fixture.py::test_undefined' - 'tests/test_fixture.py::test_write_after_free' - 'tests/test_fixture.py::test_undefined_branch' - 'tests/test_fixture.py::test_leak' - 'tests/test_fixture.py::test_check' - # Fails in portage because of usersandbox; ensure that these pass before bumping! - 'tests/test_basic.py::test_format' - 'tests/test_basic.py::test_fsck' - 'tests/test_basic.py::test_list' - 'tests/test_basic.py::test_list_inodes' - 'tests/test_basic.py::test_list_dirent' - ) - epytest -v -n "$(makeopts_jobs)" -} - -src_install() { - into / - dosbin bcachefs - - dosym bcachefs /sbin/fsck.bcachefs - dosym bcachefs /sbin/mkfs.bcachefs - dosym bcachefs /sbin/mount.bcachefs - - if use fuse; then - dosym bcachefs /sbin/fsck.fuse.bcachefs - dosym bcachefs /sbin/mkfs.fuse.bcachefs - dosym bcachefs /sbin/mount.fuse.bcachefs - fi - - newbashcomp bash.completion bcachefs - newfishcomp fish.completion bcachefs.fish - newzshcomp zsh.completion _bcachefs - - doman bcachefs.8 -} - -pkg_postinst() { - if use fuse; then - ewarn "FUSE support is experimental." - ewarn "Please only use it for development purposes at the risk of losing your data." - ewarn "You have been warned." - fi -} 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-r1.ebuild deleted file mode 100644 index 6956284d3b74..000000000000 --- a/sys-kernel/scx/scx-1.0.5-r1.ebuild +++ /dev/null @@ -1,398 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {16..18} ) - -# List of crates for pycargoebuild: -# rust/scx_{loader,rustland_core,stats,utils} -# scheds/rust/scx_{bpfland,lavd,layered,rlfifo,rustland,rusty} -CRATES=" - addr2line@0.24.1 - 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.87 - async-broadcast@0.7.1 - async-channel@2.3.1 - async-io@2.3.4 - async-lock@3.4.0 - async-process@2.2.4 - async-recursion@1.1.1 - async-signal@0.2.10 - async-task@4.7.1 - async-trait@0.1.82 - atomic-waker@1.1.2 - autocfg@1.3.0 - backtrace@0.3.74 - bindgen@0.69.4 - bitflags@1.3.2 - bitflags@2.6.0 - bitvec@1.0.1 - block-buffer@0.10.4 - blocking@1.6.1 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.7.1 - camino@1.1.9 - cargo-platform@0.1.8 - cargo_metadata@0.15.4 - cargo_metadata@0.18.1 - cc@1.1.18 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.2.1 - chrono@0.4.38 - clang-sys@1.8.1 - clap@4.5.17 - clap_builder@4.5.17 - clap_derive@4.5.13 - clap_lex@0.7.2 - colorchoice@1.0.2 - colored@2.1.0 - concurrent-queue@2.5.0 - const_format@0.2.31 - const_format_proc_macros@0.2.31 - convert_case@0.6.0 - core-foundation-sys@0.8.7 - cpufeatures@0.2.14 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crossbeam@0.8.4 - crypto-common@0.1.6 - ctrlc@3.4.5 - darling@0.20.10 - darling_core@0.20.10 - darling_macro@0.20.10 - deranged@0.3.11 - digest@0.10.7 - either@1.13.0 - endi@1.1.0 - endian-type@0.1.2 - enumflags2@0.7.10 - enumflags2_derive@0.7.10 - equivalent@1.0.1 - errno@0.3.9 - event-listener-strategy@0.5.2 - event-listener@5.3.1 - fastrand@2.1.1 - fb_procfs@0.7.1 - filetime@0.2.25 - fnv@1.0.7 - funty@2.0.0 - futures-core@0.3.30 - futures-io@0.3.30 - futures-lite@2.3.0 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - generic-array@0.14.7 - getrandom@0.2.15 - gimli@0.31.0 - glob@0.3.1 - gpoint@0.2.1 - hashbrown@0.14.5 - heck@0.5.0 - hermit-abi@0.3.9 - hermit-abi@0.4.0 - hex@0.4.3 - home@0.5.9 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - indexmap@2.5.0 - is_terminal_polyfill@1.70.1 - itertools@0.12.1 - itertools@0.13.0 - itoa@1.0.11 - js-sys@0.3.70 - lazy_static@1.5.0 - lazycell@1.3.0 - libbpf-cargo@0.24.4 - libbpf-rs@0.24.4 - libbpf-sys@1.4.5+v1.4.5 - libc@0.2.158 - libloading@0.8.5 - libredox@0.1.3 - linux-raw-sys@0.4.14 - log@0.4.22 - memchr@2.7.4 - memmap2@0.5.10 - memoffset@0.6.5 - memoffset@0.9.1 - metrics-util@0.17.0 - metrics@0.23.0 - minimal-lexical@0.2.1 - miniz_oxide@0.8.0 - mio@1.0.2 - nibble_vec@0.1.0 - nix@0.25.1 - nix@0.29.0 - nom@7.1.3 - ntapi@0.4.1 - num-conv@0.1.0 - num-traits@0.2.19 - num_cpus@1.16.0 - num_threads@0.1.7 - nvml-wrapper-sys@0.8.0 - nvml-wrapper@0.10.0 - object@0.36.4 - once_cell@1.19.0 - openat@0.1.21 - ordered-float@3.9.2 - ordered-float@4.2.2 - ordered-stream@0.2.0 - parking@2.2.1 - paste@1.0.15 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - piper@0.2.4 - pkg-config@0.3.30 - plain@0.2.3 - polling@3.7.3 - portable-atomic@1.7.0 - powerfmt@0.2.0 - ppv-lite86@0.2.20 - prettyplease@0.2.22 - proc-macro-crate@3.2.0 - proc-macro2@1.0.86 - quanta@0.12.3 - quote@1.0.37 - radium@0.7.0 - radix_trie@0.2.1 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - raw-cpuid@11.1.0 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.5.3 - regex-automata@0.4.7 - regex-syntax@0.6.29 - regex-syntax@0.8.4 - regex@1.10.6 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustix@0.38.36 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - semver@1.0.23 - serde@1.0.210 - serde_derive@1.0.210 - serde_json@1.0.128 - serde_repr@0.1.19 - sha1@0.10.6 - shlex@1.3.0 - signal-hook-registry@1.4.2 - simple_logger@5.0.0 - simplelog@0.12.2 - sketches-ddsketch@0.2.2 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.5.7 - sorted-vec@0.8.3 - sscanf@0.4.2 - sscanf_macro@0.4.2 - static_assertions@1.1.0 - strsim@0.10.0 - strsim@0.11.1 - syn@2.0.77 - sysinfo@0.31.4 - tap@1.0.1 - tar@0.4.41 - tempfile@3.12.0 - termcolor@1.4.1 - terminal_size@0.3.0 - thiserror-impl@1.0.63 - thiserror@1.0.63 - threadpool@1.8.1 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tokio-macros@2.4.0 - tokio@1.40.0 - toml_datetime@0.6.8 - toml_edit@0.22.20 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - typenum@1.17.0 - uds_windows@1.1.0 - unicase@2.7.0 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-width@0.1.12 - unicode-xid@0.2.5 - utf8parse@0.2.2 - vergen@8.3.2 - version-compare@0.1.1 - version_check@0.9.5 - vsprintf@2.0.0 - walkdir@2.5.0 - 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 - web-sys@0.3.70 - which@4.4.2 - 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-core@0.57.0 - windows-implement@0.57.0 - windows-interface@0.57.0 - windows-result@0.1.2 - 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@0.57.0 - 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 - winnow@0.6.18 - wrapcenum-derive@0.4.1 - wyz@0.5.1 - xattr@1.3.1 - xdg-home@1.3.0 - zbus@4.4.0 - zbus_macros@4.4.0 - zbus_names@3.0.0 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zvariant@4.2.0 - zvariant_derive@4.2.0 - zvariant_utils@2.1.0 -" - -inherit linux-info cargo rust-toolchain llvm-r1 meson - -DESCRIPTION="sched_ext schedulers and tools" -HOMEPAGE="https://github.com/sched-ext/scx" -SRC_URI=" - https://github.com/sched-ext/scx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="GPL-2" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" - -SLOT="0" -KEYWORDS="~amd64" -IUSE="openrc systemd" - -DEPEND=" - virtual/libelf:= - sys-libs/zlib:= - >=dev-libs/libbpf-1.3:= - openrc? ( || ( - sys-apps/openrc - sys-apps/openrc-navi - ) ) -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - app-misc/jq - dev-util/bpftool - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT}=[llvm_targets_BPF(-)] - ') - >=virtual/rust-1.72 -" - -CONFIG_CHECK=" - ~BPF - ~BPF_EVENTS - ~BPF_JIT - ~BPF_SYSCALL - ~DEBUG_INFO_BTF - ~FTRACE - ~SCHED_CLASS_EXT -" - -pkg_setup() { - linux-info_pkg_setup - llvm-r1_pkg_setup -} - -src_prepare() { - default - - # Inject the rust_abi value into install_rust_user_scheds - sed -i "s;\${MESON_BUILD_ROOT};\${MESON_BUILD_ROOT}/$(rust_abi);" \ - meson-scripts/install_rust_user_scheds || die -} - -src_configure() { - BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}" - - local emesonargs=( - -Dbpf_clang="$(get_llvm_prefix)/bin/clang" - -Dbpftool=disabled - -Dlibbpf_a=disabled - -Dcargo="${EPREFIX}/usr/bin/cargo" - -Dcargo_home="${ECARGO_HOME}" - -Doffline=true - -Denable_rust=true - -Dlibalpm=disabled - $(meson_feature openrc) - $(meson_feature systemd) - ) - - cargo_env meson_src_configure -} - -src_compile() { - cargo_env meson_src_compile -} - -src_test() { - cargo_env meson_src_test -} - -src_install() { - cargo_env meson_src_install - - dodoc README.md - - local readme readme_name - for readme in scheds/{rust,c}/*/README.md ./rust/*/README.md; do - [[ -e ${readme} ]] || continue - readme_name="${readme#*/rust/}" - readme_name="${readme_name#*/c/}" - readme_name="${readme_name%/README.md}" - newdoc "${readme}" "${readme_name}.md" - done -} diff --git a/sys-kernel/scx/scx-1.0.5-r2.ebuild b/sys-kernel/scx/scx-1.0.5-r2.ebuild new file mode 100644 index 000000000000..b2528d6fa81e --- /dev/null +++ b/sys-kernel/scx/scx-1.0.5-r2.ebuild @@ -0,0 +1,400 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {16..18} ) + +# List of crates for pycargoebuild: +# rust/scx_{loader,rustland_core,stats,utils} +# scheds/rust/scx_{bpfland,lavd,layered,rlfifo,rustland,rusty} +CRATES=" + addr2line@0.24.1 + 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.87 + async-broadcast@0.7.1 + async-channel@2.3.1 + async-io@2.3.4 + async-lock@3.4.0 + async-process@2.2.4 + async-recursion@1.1.1 + async-signal@0.2.10 + async-task@4.7.1 + async-trait@0.1.82 + atomic-waker@1.1.2 + autocfg@1.3.0 + backtrace@0.3.74 + bindgen@0.69.4 + bitflags@1.3.2 + bitflags@2.6.0 + bitvec@1.0.1 + block-buffer@0.10.4 + blocking@1.6.1 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.7.1 + camino@1.1.9 + cargo-platform@0.1.8 + cargo_metadata@0.15.4 + cargo_metadata@0.18.1 + cc@1.1.18 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + chrono@0.4.38 + clang-sys@1.8.1 + clap@4.5.17 + clap_builder@4.5.17 + clap_derive@4.5.13 + clap_lex@0.7.2 + colorchoice@1.0.2 + colored@2.1.0 + concurrent-queue@2.5.0 + const_format@0.2.31 + const_format_proc_macros@0.2.31 + convert_case@0.6.0 + core-foundation-sys@0.8.7 + cpufeatures@0.2.14 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossbeam@0.8.4 + crypto-common@0.1.6 + ctrlc@3.4.5 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + deranged@0.3.11 + digest@0.10.7 + either@1.13.0 + endi@1.1.0 + endian-type@0.1.2 + enumflags2@0.7.10 + enumflags2_derive@0.7.10 + equivalent@1.0.1 + errno@0.3.9 + event-listener-strategy@0.5.2 + event-listener@5.3.1 + fastrand@2.1.1 + fb_procfs@0.7.1 + filetime@0.2.25 + fnv@1.0.7 + funty@2.0.0 + futures-core@0.3.30 + futures-io@0.3.30 + futures-lite@2.3.0 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + generic-array@0.14.7 + getrandom@0.2.15 + gimli@0.31.0 + glob@0.3.1 + gpoint@0.2.1 + hashbrown@0.14.5 + heck@0.5.0 + hermit-abi@0.3.9 + hermit-abi@0.4.0 + hex@0.4.3 + home@0.5.9 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + indexmap@2.5.0 + is_terminal_polyfill@1.70.1 + itertools@0.12.1 + itertools@0.13.0 + itoa@1.0.11 + js-sys@0.3.70 + lazy_static@1.5.0 + lazycell@1.3.0 + libbpf-cargo@0.24.4 + libbpf-rs@0.24.4 + libbpf-sys@1.4.5+v1.4.5 + libc@0.2.158 + libloading@0.8.5 + libredox@0.1.3 + linux-raw-sys@0.4.14 + log@0.4.22 + memchr@2.7.4 + memmap2@0.5.10 + memoffset@0.6.5 + memoffset@0.9.1 + metrics-util@0.17.0 + metrics@0.23.0 + minimal-lexical@0.2.1 + miniz_oxide@0.8.0 + mio@1.0.2 + nibble_vec@0.1.0 + nix@0.25.1 + nix@0.29.0 + nom@7.1.3 + ntapi@0.4.1 + num-conv@0.1.0 + num-traits@0.2.19 + num_cpus@1.16.0 + num_threads@0.1.7 + nvml-wrapper-sys@0.8.0 + nvml-wrapper@0.10.0 + object@0.36.4 + once_cell@1.19.0 + openat@0.1.21 + ordered-float@3.9.2 + ordered-float@4.2.2 + ordered-stream@0.2.0 + parking@2.2.1 + paste@1.0.15 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + piper@0.2.4 + pkg-config@0.3.30 + plain@0.2.3 + polling@3.7.3 + portable-atomic@1.7.0 + powerfmt@0.2.0 + ppv-lite86@0.2.20 + prettyplease@0.2.22 + proc-macro-crate@3.2.0 + proc-macro2@1.0.86 + quanta@0.12.3 + quote@1.0.37 + radium@0.7.0 + radix_trie@0.2.1 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + raw-cpuid@11.1.0 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.3 + regex-automata@0.4.7 + regex-syntax@0.6.29 + regex-syntax@0.8.4 + regex@1.10.6 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustix@0.38.36 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + semver@1.0.23 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.128 + serde_repr@0.1.19 + sha1@0.10.6 + shlex@1.3.0 + signal-hook-registry@1.4.2 + simple_logger@5.0.0 + simplelog@0.12.2 + sketches-ddsketch@0.2.2 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + sorted-vec@0.8.3 + sscanf@0.4.2 + sscanf_macro@0.4.2 + static_assertions@1.1.0 + strsim@0.10.0 + strsim@0.11.1 + syn@2.0.77 + sysinfo@0.31.4 + tap@1.0.1 + tar@0.4.41 + tempfile@3.12.0 + termcolor@1.4.1 + terminal_size@0.3.0 + thiserror-impl@1.0.63 + thiserror@1.0.63 + threadpool@1.8.1 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tokio-macros@2.4.0 + tokio@1.40.0 + toml_datetime@0.6.8 + toml_edit@0.22.20 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + typenum@1.17.0 + uds_windows@1.1.0 + unicase@2.7.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.12 + unicode-xid@0.2.5 + utf8parse@0.2.2 + vergen@8.3.2 + version-compare@0.1.1 + version_check@0.9.5 + vsprintf@2.0.0 + walkdir@2.5.0 + 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 + web-sys@0.3.70 + which@4.4.2 + 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-core@0.57.0 + windows-implement@0.57.0 + windows-interface@0.57.0 + windows-result@0.1.2 + 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@0.57.0 + 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 + winnow@0.6.18 + wrapcenum-derive@0.4.1 + wyz@0.5.1 + xattr@1.3.1 + xdg-home@1.3.0 + zbus@4.4.0 + zbus_macros@4.4.0 + zbus_names@3.0.0 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zvariant@4.2.0 + zvariant_derive@4.2.0 + zvariant_utils@2.1.0 +" + +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" +SRC_URI=" + https://github.com/sched-ext/scx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-2" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" + +SLOT="0" +KEYWORDS="~amd64" +IUSE="openrc systemd" + +DEPEND=" + virtual/libelf:= + sys-libs/zlib:= + >=dev-libs/libbpf-1.3:= + openrc? ( || ( + sys-apps/openrc + sys-apps/openrc-navi + ) ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + app-misc/jq + dev-util/bpftool + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT}=[llvm_targets_BPF(-)] + ') +" + +CONFIG_CHECK=" + ~BPF + ~BPF_EVENTS + ~BPF_JIT + ~BPF_SYSCALL + ~DEBUG_INFO_BTF + ~FTRACE + ~SCHED_CLASS_EXT +" + +pkg_setup() { + linux-info_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + + # Inject the rust_abi value into install_rust_user_scheds + sed -i "s;\${MESON_BUILD_ROOT};\${MESON_BUILD_ROOT}/$(rust_abi);" \ + meson-scripts/install_rust_user_scheds || die +} + +src_configure() { + BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}" + + local emesonargs=( + -Dbpf_clang="$(get_llvm_prefix)/bin/clang" + -Dbpftool=disabled + -Dlibbpf_a=disabled + -Dcargo="${EPREFIX}/usr/bin/cargo" + -Dcargo_home="${ECARGO_HOME}" + -Doffline=true + -Denable_rust=true + -Dlibalpm=disabled + $(meson_feature openrc) + $(meson_feature systemd) + ) + + cargo_env meson_src_configure +} + +src_compile() { + cargo_env meson_src_compile +} + +src_test() { + cargo_env meson_src_test +} + +src_install() { + cargo_env meson_src_install + + dodoc README.md + + local readme readme_name + for readme in scheds/{rust,c}/*/README.md ./rust/*/README.md; do + [[ -e ${readme} ]] || continue + readme_name="${readme#*/rust/}" + readme_name="${readme_name#*/c/}" + readme_name="${readme_name%/README.md}" + newdoc "${readme}" "${readme_name}.md" + done +} diff --git a/sys-kernel/scx/scx-1.0.6-r1.ebuild b/sys-kernel/scx/scx-1.0.6-r1.ebuild new file mode 100644 index 000000000000..4b40f8f109f9 --- /dev/null +++ b/sys-kernel/scx/scx-1.0.6-r1.ebuild @@ -0,0 +1,404 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {16..18} ) + +# List of crates for pycargoebuild: +# rust/scx_{loader,rustland_core,stats,utils} +# scheds/rust/scx_{bpfland,lavd,layered,rlfifo,rustland,rusty} +CRATES=" + addr2line@0.24.1 + 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.87 + async-broadcast@0.7.1 + async-channel@2.3.1 + async-io@2.3.4 + async-lock@3.4.0 + async-process@2.2.4 + async-recursion@1.1.1 + async-signal@0.2.10 + async-task@4.7.1 + async-trait@0.1.82 + atomic-waker@1.1.2 + autocfg@1.3.0 + backtrace@0.3.74 + bindgen@0.69.4 + bitflags@1.3.2 + bitflags@2.6.0 + bitvec@1.0.1 + block-buffer@0.10.4 + blocking@1.6.1 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.7.1 + camino@1.1.9 + cargo-platform@0.1.8 + cargo_metadata@0.15.4 + cargo_metadata@0.18.1 + cc@1.1.18 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + cgroupfs@0.7.1 + chrono@0.4.38 + clang-sys@1.8.1 + clap@4.5.17 + clap_builder@4.5.17 + clap_derive@4.5.13 + clap_lex@0.7.2 + colorchoice@1.0.2 + colored@2.1.0 + concurrent-queue@2.5.0 + const_format@0.2.31 + const_format_proc_macros@0.2.31 + convert_case@0.6.0 + core-foundation-sys@0.8.7 + cpufeatures@0.2.14 + crossbeam-channel@0.5.13 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crossbeam@0.8.4 + crypto-common@0.1.6 + ctrlc@3.4.5 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + deranged@0.3.11 + digest@0.10.7 + either@1.13.0 + endi@1.1.0 + endian-type@0.1.2 + enumflags2@0.7.10 + enumflags2_derive@0.7.10 + equivalent@1.0.1 + errno@0.3.9 + event-listener-strategy@0.5.2 + event-listener@5.3.1 + fastrand@2.1.1 + fb_procfs@0.7.1 + filetime@0.2.25 + fnv@1.0.7 + funty@2.0.0 + futures-core@0.3.30 + futures-io@0.3.30 + futures-lite@2.3.0 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + generic-array@0.14.7 + getrandom@0.2.15 + gimli@0.31.0 + glob@0.3.1 + gpoint@0.2.1 + hashbrown@0.14.5 + heck@0.5.0 + hermit-abi@0.3.9 + hermit-abi@0.4.0 + hex@0.4.3 + home@0.5.9 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + ident_case@1.0.1 + indexmap@2.5.0 + is_terminal_polyfill@1.70.1 + itertools@0.12.1 + itertools@0.13.0 + itoa@1.0.11 + js-sys@0.3.70 + lazy_static@1.5.0 + lazycell@1.3.0 + libbpf-cargo@0.24.4 + libbpf-rs@0.24.4 + libbpf-sys@1.4.5+v1.4.5 + libc@0.2.158 + libloading@0.8.5 + libredox@0.1.3 + linux-raw-sys@0.4.14 + log@0.4.22 + maplit@1.0.2 + memchr@2.7.4 + memmap2@0.5.10 + memoffset@0.6.5 + memoffset@0.9.1 + metrics-util@0.17.0 + metrics@0.23.0 + minimal-lexical@0.2.1 + miniz_oxide@0.8.0 + mio@1.0.2 + nibble_vec@0.1.0 + nix@0.25.1 + nix@0.29.0 + nom@7.1.3 + ntapi@0.4.1 + num-conv@0.1.0 + num-traits@0.2.19 + num_cpus@1.16.0 + num_threads@0.1.7 + nvml-wrapper-sys@0.8.0 + nvml-wrapper@0.10.0 + object@0.36.4 + once_cell@1.19.0 + openat@0.1.21 + ordered-float@3.9.2 + ordered-float@4.2.2 + ordered-stream@0.2.0 + parking@2.2.1 + paste@1.0.15 + pin-project-lite@0.2.14 + pin-utils@0.1.0 + piper@0.2.4 + pkg-config@0.3.30 + plain@0.2.3 + polling@3.7.3 + portable-atomic@1.7.0 + powerfmt@0.2.0 + ppv-lite86@0.2.20 + prettyplease@0.2.22 + proc-macro-crate@3.2.0 + proc-macro2@1.0.86 + quanta@0.12.3 + quote@1.0.37 + radium@0.7.0 + radix_trie@0.2.1 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + raw-cpuid@11.1.0 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.3 + regex-automata@0.4.7 + regex-syntax@0.6.29 + regex-syntax@0.8.4 + regex@1.10.6 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustix@0.38.36 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + semver@1.0.23 + serde@1.0.210 + serde_derive@1.0.210 + serde_json@1.0.128 + serde_repr@0.1.19 + serde_spanned@0.6.8 + sha1@0.10.6 + shlex@1.3.0 + signal-hook-registry@1.4.2 + simple_logger@5.0.0 + simplelog@0.12.2 + sketches-ddsketch@0.2.2 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.5.7 + sorted-vec@0.8.3 + sscanf@0.4.2 + sscanf_macro@0.4.2 + static_assertions@1.1.0 + strsim@0.10.0 + strsim@0.11.1 + syn@2.0.77 + sysinfo@0.31.4 + tap@1.0.1 + tar@0.4.41 + tempfile@3.12.0 + termcolor@1.4.1 + terminal_size@0.3.0 + thiserror-impl@1.0.63 + thiserror@1.0.63 + threadpool@1.8.1 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + tokio-macros@2.4.0 + tokio@1.40.0 + toml@0.8.19 + toml_datetime@0.6.8 + toml_edit@0.22.20 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing@0.1.40 + typenum@1.17.0 + uds_windows@1.1.0 + unicase@2.7.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.12 + unicode-xid@0.2.5 + utf8parse@0.2.2 + vergen@8.3.2 + version-compare@0.1.1 + version_check@0.9.5 + vsprintf@2.0.0 + walkdir@2.5.0 + 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 + web-sys@0.3.70 + which@4.4.2 + 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-core@0.57.0 + windows-implement@0.57.0 + windows-interface@0.57.0 + windows-result@0.1.2 + 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@0.57.0 + 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 + winnow@0.6.18 + wrapcenum-derive@0.4.1 + wyz@0.5.1 + xattr@1.3.1 + xdg-home@1.3.0 + zbus@4.4.0 + zbus_macros@4.4.0 + zbus_names@3.0.0 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zvariant@4.2.0 + zvariant_derive@4.2.0 + zvariant_utils@2.1.0 +" + +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" +SRC_URI=" + https://github.com/sched-ext/scx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="GPL-2" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" + +SLOT="0" +KEYWORDS="~amd64" +IUSE="openrc systemd" + +DEPEND=" + virtual/libelf:= + sys-libs/zlib:= + >=dev-libs/libbpf-1.3:= + openrc? ( || ( + sys-apps/openrc + sys-apps/openrc-navi + ) ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + app-misc/jq + dev-util/bpftool + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT}=[llvm_targets_BPF(-)] + ') +" + +CONFIG_CHECK=" + ~BPF + ~BPF_EVENTS + ~BPF_JIT + ~BPF_SYSCALL + ~DEBUG_INFO_BTF + ~FTRACE + ~SCHED_CLASS_EXT +" + +pkg_setup() { + linux-info_pkg_setup + llvm-r1_pkg_setup + rust_pkg_setup +} + +src_prepare() { + default + + # Inject the rust_abi value into install_rust_user_scheds + sed -i "s;\${MESON_BUILD_ROOT};\${MESON_BUILD_ROOT}/$(rust_abi);" \ + meson-scripts/install_rust_user_scheds || die +} + +src_configure() { + BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}" + + local emesonargs=( + -Dbpf_clang="$(get_llvm_prefix)/bin/clang" + -Dbpftool=disabled + -Dlibbpf_a=disabled + -Dcargo="${EPREFIX}/usr/bin/cargo" + -Dcargo_home="${ECARGO_HOME}" + -Doffline=true + -Denable_rust=true + -Dlibalpm=disabled + $(meson_feature openrc) + $(meson_feature systemd) + ) + + cargo_env meson_src_configure +} + +src_compile() { + cargo_env meson_src_compile +} + +src_test() { + cargo_env meson_src_test +} + +src_install() { + cargo_env meson_src_install + + dodoc README.md + + local readme readme_name + for readme in scheds/{rust,c}/*/README.md ./rust/*/README.md; do + [[ -e ${readme} ]] || continue + readme_name="${readme#*/rust/}" + readme_name="${readme_name#*/c/}" + readme_name="${readme_name%/README.md}" + newdoc "${readme}" "${readme_name}.md" + done +} diff --git a/sys-kernel/scx/scx-1.0.6.ebuild b/sys-kernel/scx/scx-1.0.6.ebuild deleted file mode 100644 index 9d15161ace1f..000000000000 --- a/sys-kernel/scx/scx-1.0.6.ebuild +++ /dev/null @@ -1,402 +0,0 @@ -# Copyright 2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( {16..18} ) - -# List of crates for pycargoebuild: -# rust/scx_{loader,rustland_core,stats,utils} -# scheds/rust/scx_{bpfland,lavd,layered,rlfifo,rustland,rusty} -CRATES=" - addr2line@0.24.1 - 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.87 - async-broadcast@0.7.1 - async-channel@2.3.1 - async-io@2.3.4 - async-lock@3.4.0 - async-process@2.2.4 - async-recursion@1.1.1 - async-signal@0.2.10 - async-task@4.7.1 - async-trait@0.1.82 - atomic-waker@1.1.2 - autocfg@1.3.0 - backtrace@0.3.74 - bindgen@0.69.4 - bitflags@1.3.2 - bitflags@2.6.0 - bitvec@1.0.1 - block-buffer@0.10.4 - blocking@1.6.1 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.7.1 - camino@1.1.9 - cargo-platform@0.1.8 - cargo_metadata@0.15.4 - cargo_metadata@0.18.1 - cc@1.1.18 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.2.1 - cgroupfs@0.7.1 - chrono@0.4.38 - clang-sys@1.8.1 - clap@4.5.17 - clap_builder@4.5.17 - clap_derive@4.5.13 - clap_lex@0.7.2 - colorchoice@1.0.2 - colored@2.1.0 - concurrent-queue@2.5.0 - const_format@0.2.31 - const_format_proc_macros@0.2.31 - convert_case@0.6.0 - core-foundation-sys@0.8.7 - cpufeatures@0.2.14 - crossbeam-channel@0.5.13 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crossbeam@0.8.4 - crypto-common@0.1.6 - ctrlc@3.4.5 - darling@0.20.10 - darling_core@0.20.10 - darling_macro@0.20.10 - deranged@0.3.11 - digest@0.10.7 - either@1.13.0 - endi@1.1.0 - endian-type@0.1.2 - enumflags2@0.7.10 - enumflags2_derive@0.7.10 - equivalent@1.0.1 - errno@0.3.9 - event-listener-strategy@0.5.2 - event-listener@5.3.1 - fastrand@2.1.1 - fb_procfs@0.7.1 - filetime@0.2.25 - fnv@1.0.7 - funty@2.0.0 - futures-core@0.3.30 - futures-io@0.3.30 - futures-lite@2.3.0 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - generic-array@0.14.7 - getrandom@0.2.15 - gimli@0.31.0 - glob@0.3.1 - gpoint@0.2.1 - hashbrown@0.14.5 - heck@0.5.0 - hermit-abi@0.3.9 - hermit-abi@0.4.0 - hex@0.4.3 - home@0.5.9 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - ident_case@1.0.1 - indexmap@2.5.0 - is_terminal_polyfill@1.70.1 - itertools@0.12.1 - itertools@0.13.0 - itoa@1.0.11 - js-sys@0.3.70 - lazy_static@1.5.0 - lazycell@1.3.0 - libbpf-cargo@0.24.4 - libbpf-rs@0.24.4 - libbpf-sys@1.4.5+v1.4.5 - libc@0.2.158 - libloading@0.8.5 - libredox@0.1.3 - linux-raw-sys@0.4.14 - log@0.4.22 - maplit@1.0.2 - memchr@2.7.4 - memmap2@0.5.10 - memoffset@0.6.5 - memoffset@0.9.1 - metrics-util@0.17.0 - metrics@0.23.0 - minimal-lexical@0.2.1 - miniz_oxide@0.8.0 - mio@1.0.2 - nibble_vec@0.1.0 - nix@0.25.1 - nix@0.29.0 - nom@7.1.3 - ntapi@0.4.1 - num-conv@0.1.0 - num-traits@0.2.19 - num_cpus@1.16.0 - num_threads@0.1.7 - nvml-wrapper-sys@0.8.0 - nvml-wrapper@0.10.0 - object@0.36.4 - once_cell@1.19.0 - openat@0.1.21 - ordered-float@3.9.2 - ordered-float@4.2.2 - ordered-stream@0.2.0 - parking@2.2.1 - paste@1.0.15 - pin-project-lite@0.2.14 - pin-utils@0.1.0 - piper@0.2.4 - pkg-config@0.3.30 - plain@0.2.3 - polling@3.7.3 - portable-atomic@1.7.0 - powerfmt@0.2.0 - ppv-lite86@0.2.20 - prettyplease@0.2.22 - proc-macro-crate@3.2.0 - proc-macro2@1.0.86 - quanta@0.12.3 - quote@1.0.37 - radium@0.7.0 - radix_trie@0.2.1 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - raw-cpuid@11.1.0 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.5.3 - regex-automata@0.4.7 - regex-syntax@0.6.29 - regex-syntax@0.8.4 - regex@1.10.6 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustix@0.38.36 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - semver@1.0.23 - serde@1.0.210 - serde_derive@1.0.210 - serde_json@1.0.128 - serde_repr@0.1.19 - serde_spanned@0.6.8 - sha1@0.10.6 - shlex@1.3.0 - signal-hook-registry@1.4.2 - simple_logger@5.0.0 - simplelog@0.12.2 - sketches-ddsketch@0.2.2 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.5.7 - sorted-vec@0.8.3 - sscanf@0.4.2 - sscanf_macro@0.4.2 - static_assertions@1.1.0 - strsim@0.10.0 - strsim@0.11.1 - syn@2.0.77 - sysinfo@0.31.4 - tap@1.0.1 - tar@0.4.41 - tempfile@3.12.0 - termcolor@1.4.1 - terminal_size@0.3.0 - thiserror-impl@1.0.63 - thiserror@1.0.63 - threadpool@1.8.1 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - tokio-macros@2.4.0 - tokio@1.40.0 - toml@0.8.19 - toml_datetime@0.6.8 - toml_edit@0.22.20 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing@0.1.40 - typenum@1.17.0 - uds_windows@1.1.0 - unicase@2.7.0 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-width@0.1.12 - unicode-xid@0.2.5 - utf8parse@0.2.2 - vergen@8.3.2 - version-compare@0.1.1 - version_check@0.9.5 - vsprintf@2.0.0 - walkdir@2.5.0 - 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 - web-sys@0.3.70 - which@4.4.2 - 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-core@0.57.0 - windows-implement@0.57.0 - windows-interface@0.57.0 - windows-result@0.1.2 - 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@0.57.0 - 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 - winnow@0.6.18 - wrapcenum-derive@0.4.1 - wyz@0.5.1 - xattr@1.3.1 - xdg-home@1.3.0 - zbus@4.4.0 - zbus_macros@4.4.0 - zbus_names@3.0.0 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zvariant@4.2.0 - zvariant_derive@4.2.0 - zvariant_utils@2.1.0 -" - -inherit linux-info cargo rust-toolchain llvm-r1 meson - -DESCRIPTION="sched_ext schedulers and tools" -HOMEPAGE="https://github.com/sched-ext/scx" -SRC_URI=" - https://github.com/sched-ext/scx/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="GPL-2" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB" - -SLOT="0" -KEYWORDS="~amd64" -IUSE="openrc systemd" - -DEPEND=" - virtual/libelf:= - sys-libs/zlib:= - >=dev-libs/libbpf-1.3:= - openrc? ( || ( - sys-apps/openrc - sys-apps/openrc-navi - ) ) -" -RDEPEND=" - ${DEPEND} -" -BDEPEND=" - app-misc/jq - dev-util/bpftool - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT}=[llvm_targets_BPF(-)] - ') - >=virtual/rust-1.72 -" - -CONFIG_CHECK=" - ~BPF - ~BPF_EVENTS - ~BPF_JIT - ~BPF_SYSCALL - ~DEBUG_INFO_BTF - ~FTRACE - ~SCHED_CLASS_EXT -" - -pkg_setup() { - linux-info_pkg_setup - llvm-r1_pkg_setup -} - -src_prepare() { - default - - # Inject the rust_abi value into install_rust_user_scheds - sed -i "s;\${MESON_BUILD_ROOT};\${MESON_BUILD_ROOT}/$(rust_abi);" \ - meson-scripts/install_rust_user_scheds || die -} - -src_configure() { - BUILD_DIR="${BUILD_DIR:-${WORKDIR}/${P}-build}" - - local emesonargs=( - -Dbpf_clang="$(get_llvm_prefix)/bin/clang" - -Dbpftool=disabled - -Dlibbpf_a=disabled - -Dcargo="${EPREFIX}/usr/bin/cargo" - -Dcargo_home="${ECARGO_HOME}" - -Doffline=true - -Denable_rust=true - -Dlibalpm=disabled - $(meson_feature openrc) - $(meson_feature systemd) - ) - - cargo_env meson_src_configure -} - -src_compile() { - cargo_env meson_src_compile -} - -src_test() { - cargo_env meson_src_test -} - -src_install() { - cargo_env meson_src_install - - dodoc README.md - - local readme readme_name - for readme in scheds/{rust,c}/*/README.md ./rust/*/README.md; do - [[ -e ${readme} ]] || continue - readme_name="${readme#*/rust/}" - readme_name="${readme_name#*/c/}" - readme_name="${readme_name%/README.md}" - newdoc "${readme}" "${readme_name}.md" - done -} diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild new file mode 100644 index 000000000000..07b4580ff296 --- /dev/null +++ b/sys-libs/pkgcraft/pkgcraft-0.0.14-r1.ebuild @@ -0,0 +1,92 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " + +inherit edo cargo toolchain-funcs + +DESCRIPTION="C library for pkgcraft" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/pkgcraft-c + + BDEPEND="test? ( dev-util/cargo-nextest )" +else + MY_P=${PN}-c-${PV} + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" + S="${WORKDIR}"/${MY_P} + + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0/${PV}" +IUSE="test" +RESTRICT="!test? ( test )" + +# clang needed for bindgen +BDEPEND+=" + dev-util/cargo-c + sys-devel/clang +" + +QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + $(usev !debug '--release') + ) + + # For scallop building bash + tc-export AR CC + + # Can pass -vv if need more output from e.g. scallop configure + edo cargo cbuild "${cargoargs[@]}" +} + +src_test() { + if [[ ${PV} == 9999 ]] ; then + # It's interesting to test the whole thing rather than just + # pkgcraft-c. + cd "${WORKDIR}"/${P} || die + + # Need nextest per README (separate processes required) + # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 + edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests + else + # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. + :; + fi +} + +src_install() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + --destdir="${ED}" + $(usev !debug '--release') + ) + + edo cargo cinstall "${cargoargs[@]}" +} diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild deleted file mode 100644 index 5745de4a1c9f..000000000000 --- a/sys-libs/pkgcraft/pkgcraft-0.0.14.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" " -inherit edo cargo toolchain-funcs - -DESCRIPTION="C library for pkgcraft" -HOMEPAGE="https://pkgcraft.github.io/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" - inherit git-r3 - - S="${WORKDIR}"/${P}/crates/pkgcraft-c - - BDEPEND="test? ( dev-util/cargo-nextest )" -else - MY_P=${PN}-c-${PV} - SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" - S="${WORKDIR}"/${MY_P} - - KEYWORDS="~amd64 ~arm64" -fi - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0/${PV}" -IUSE="test" -RESTRICT="!test? ( test )" - -# clang needed for bindgen -BDEPEND+=" - dev-util/cargo-c - sys-devel/clang - >=virtual/rust-1.71 -" - -QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_compile() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - $(usev !debug '--release') - ) - - # For scallop building bash - tc-export AR CC - - # Can pass -vv if need more output from e.g. scallop configure - edo cargo cbuild "${cargoargs[@]}" -} - -src_test() { - if [[ ${PV} == 9999 ]] ; then - # It's interesting to test the whole thing rather than just - # pkgcraft-c. - cd "${WORKDIR}"/${P} || die - - # Need nextest per README (separate processes required) - # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests - else - # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. - :; - fi -} - -src_install() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - --destdir="${ED}" - $(usev !debug '--release') - ) - - edo cargo cinstall "${cargoargs[@]}" -} diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild new file mode 100644 index 000000000000..c34dff61599f --- /dev/null +++ b/sys-libs/pkgcraft/pkgcraft-0.0.15-r1.ebuild @@ -0,0 +1,93 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " +RUST_MIN_VER="1.77.1" + +inherit edo cargo toolchain-funcs + +DESCRIPTION="C library for pkgcraft" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/pkgcraft-c + + BDEPEND="test? ( dev-util/cargo-nextest )" +else + MY_P=${PN}-c-${PV} + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" + S="${WORKDIR}"/${MY_P} + + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0/${PV}" +IUSE="test" +RESTRICT="!test? ( test )" + +# clang needed for bindgen +BDEPEND+=" + dev-util/cargo-c + sys-devel/clang +" + +QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + $(usev !debug '--release') + ) + + # For scallop building bash + tc-export AR CC + + # Can pass -vv if need more output from e.g. scallop configure + edo cargo cbuild "${cargoargs[@]}" +} + +src_test() { + if [[ ${PV} == 9999 ]] ; then + # It's interesting to test the whole thing rather than just + # pkgcraft-c. + cd "${WORKDIR}"/${P} || die + + # Need nextest per README (separate processes required) + # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 + edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests + else + # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. + :; + fi +} + +src_install() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + --destdir="${ED}" + $(usev !debug '--release') + ) + + edo cargo cinstall "${cargoargs[@]}" +} diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild deleted file mode 100644 index a964805ae71c..000000000000 --- a/sys-libs/pkgcraft/pkgcraft-0.0.15.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" " -inherit edo cargo toolchain-funcs - -DESCRIPTION="C library for pkgcraft" -HOMEPAGE="https://pkgcraft.github.io/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" - inherit git-r3 - - S="${WORKDIR}"/${P}/crates/pkgcraft-c - - BDEPEND="test? ( dev-util/cargo-nextest )" -else - MY_P=${PN}-c-${PV} - SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" - S="${WORKDIR}"/${MY_P} - - KEYWORDS="~amd64 ~arm64" -fi - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0/${PV}" -IUSE="test" -RESTRICT="!test? ( test )" - -# clang needed for bindgen -BDEPEND+=" - dev-util/cargo-c - sys-devel/clang - >=virtual/rust-1.76 -" - -QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_compile() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - $(usev !debug '--release') - ) - - # For scallop building bash - tc-export AR CC - - # Can pass -vv if need more output from e.g. scallop configure - edo cargo cbuild "${cargoargs[@]}" -} - -src_test() { - if [[ ${PV} == 9999 ]] ; then - # It's interesting to test the whole thing rather than just - # pkgcraft-c. - cd "${WORKDIR}"/${P} || die - - # Need nextest per README (separate processes required) - # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests - else - # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. - :; - fi -} - -src_install() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - --destdir="${ED}" - $(usev !debug '--release') - ) - - edo cargo cinstall "${cargoargs[@]}" -} diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild new file mode 100644 index 000000000000..0fe19eb425da --- /dev/null +++ b/sys-libs/pkgcraft/pkgcraft-0.0.16-r1.ebuild @@ -0,0 +1,94 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" " + +RUST_MIN_VER="1.77.1" + +inherit edo cargo toolchain-funcs + +DESCRIPTION="C library for pkgcraft" +HOMEPAGE="https://pkgcraft.github.io/" + +if [[ ${PV} == 9999 ]] ; then + EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" + inherit git-r3 + + S="${WORKDIR}"/${P}/crates/pkgcraft-c + + BDEPEND="test? ( dev-util/cargo-nextest )" +else + MY_P=${PN}-c-${PV} + SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" + S="${WORKDIR}"/${MY_P} + + KEYWORDS="~amd64 ~arm64" +fi + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0/${PV}" +IUSE="test" +RESTRICT="!test? ( test )" + +# clang needed for bindgen +BDEPEND+=" + dev-util/cargo-c + sys-devel/clang +" + +QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" + +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + cargo_live_src_unpack + else + cargo_src_unpack + fi +} + +src_compile() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + $(usev !debug '--release') + ) + + # For scallop building bash + tc-export AR CC + + # Can pass -vv if need more output from e.g. scallop configure + edo cargo cbuild "${cargoargs[@]}" +} + +src_test() { + if [[ ${PV} == 9999 ]] ; then + # It's interesting to test the whole thing rather than just + # pkgcraft-c. + cd "${WORKDIR}"/${P} || die + + # Need nextest per README (separate processes required) + # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 + edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests + else + # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. + :; + fi +} + +src_install() { + local cargoargs=( + --library-type=cdylib + --prefix=/usr + --libdir="/usr/$(get_libdir)" + --destdir="${ED}" + $(usev !debug '--release') + ) + + edo cargo cinstall "${cargoargs[@]}" +} diff --git a/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild b/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild deleted file mode 100644 index a964805ae71c..000000000000 --- a/sys-libs/pkgcraft/pkgcraft-0.0.16.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" " -inherit edo cargo toolchain-funcs - -DESCRIPTION="C library for pkgcraft" -HOMEPAGE="https://pkgcraft.github.io/" - -if [[ ${PV} == 9999 ]] ; then - EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft" - inherit git-r3 - - S="${WORKDIR}"/${P}/crates/pkgcraft-c - - BDEPEND="test? ( dev-util/cargo-nextest )" -else - MY_P=${PN}-c-${PV} - SRC_URI="https://github.com/pkgcraft/pkgcraft/releases/download/${MY_P}/${MY_P}.tar.xz" - S="${WORKDIR}"/${MY_P} - - KEYWORDS="~amd64 ~arm64" -fi - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0/${PV}" -IUSE="test" -RESTRICT="!test? ( test )" - -# clang needed for bindgen -BDEPEND+=" - dev-util/cargo-c - sys-devel/clang - >=virtual/rust-1.76 -" - -QA_FLAGS_IGNORED="usr/lib.*/libpkgcraft.so.*" - -src_unpack() { - if [[ ${PV} == 9999 ]] ; then - git-r3_src_unpack - cargo_live_src_unpack - else - cargo_src_unpack - fi -} - -src_compile() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - $(usev !debug '--release') - ) - - # For scallop building bash - tc-export AR CC - - # Can pass -vv if need more output from e.g. scallop configure - edo cargo cbuild "${cargoargs[@]}" -} - -src_test() { - if [[ ${PV} == 9999 ]] ; then - # It's interesting to test the whole thing rather than just - # pkgcraft-c. - cd "${WORKDIR}"/${P} || die - - # Need nextest per README (separate processes required) - # Invocation from https://github.com/pkgcraft/pkgcraft/blob/main/.github/workflows/ci.yml#L56 - edo cargo nextest run $(usev !debug '--release') --color always --all-features --tests - else - # There are no tests for pkgcraft-c. Test via e.g. dev-python/pkgcraft. - :; - fi -} - -src_install() { - local cargoargs=( - --library-type=cdylib - --prefix=/usr - --libdir="/usr/$(get_libdir)" - --destdir="${ED}" - $(usev !debug '--release') - ) - - edo cargo cinstall "${cargoargs[@]}" -} 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-r2.ebuild deleted file mode 100644 index 1956879e63c8..000000000000 --- a/sys-power/wluma/wluma-4.3.0-r2.ebuild +++ /dev/null @@ -1,223 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.12.1 - -EAPI=8 - -CRATES=" - aho-corasick@0.7.20 - android_system_properties@0.1.5 - anyhow@1.0.68 - ash@0.37.2+1.3.238 - atty@0.2.14 - autocfg@1.1.0 - bindgen@0.65.1 - bitflags@1.3.2 - bumpalo@3.11.1 - byteorder@1.4.3 - cc@1.0.78 - cexpr@0.6.0 - cfg-if@1.0.0 - chrono@0.4.23 - clang-sys@1.4.0 - codespan-reporting@0.11.1 - core-foundation-sys@0.6.2 - core-foundation-sys@0.8.3 - core-foundation@0.9.3 - core-graphics-types@0.1.1 - core-graphics@0.22.3 - cxx-build@1.0.86 - cxx@1.0.86 - cxxbridge-flags@1.0.86 - cxxbridge-macro@1.0.86 - ddc-hi@0.4.1 - ddc-i2c@0.2.1 - ddc-macos@0.2.0 - ddc-winapi@0.2.0 - ddc@0.2.2 - difflib@0.4.0 - dirs-sys@0.3.7 - dirs@4.0.0 - dlib@0.5.0 - downcast-rs@1.2.0 - downcast@0.11.0 - dtoa@0.4.8 - edid@0.3.0 - either@1.8.1 - env_logger@0.9.3 - float-cmp@0.9.0 - foreign-types-shared@0.1.1 - foreign-types@0.3.2 - fragile@2.0.0 - futures-core@0.3.25 - getrandom@0.2.8 - glob@0.3.1 - hashbrown@0.12.3 - hermit-abi@0.1.19 - humantime@2.1.0 - i2c-linux-sys@0.2.1 - i2c-linux@0.1.2 - i2c@0.1.0 - iana-time-zone-haiku@0.1.1 - iana-time-zone@0.1.53 - indexmap@1.9.2 - inotify-sys@0.1.5 - inotify@0.10.0 - io-kit-sys@0.1.0 - itertools@0.10.5 - itoa@1.0.5 - js-sys@0.3.60 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.141 - libloading@0.7.4 - libudev-sys@0.1.4 - link-cplusplus@1.0.8 - linked-hash-map@0.5.6 - log@0.4.17 - mach@0.2.3 - mach@0.3.2 - mccs-caps@0.1.0 - mccs-db@0.1.2 - mccs@0.1.0 - memchr@1.0.2 - memchr@2.5.0 - memoffset@0.6.5 - minimal-lexical@0.2.1 - mio@0.8.5 - mockall@0.11.4 - mockall_derive@0.11.4 - nix@0.24.3 - nom@3.2.1 - nom@7.1.3 - normalize-line-endings@0.3.0 - num-integer@0.1.45 - num-traits@0.2.15 - nvapi-sys@0.1.3 - nvapi@0.1.4 - once_cell@1.17.0 - peeking_take_while@0.1.2 - pin-project-lite@0.2.9 - pkg-config@0.3.26 - predicates-core@1.0.5 - predicates-tree@1.0.7 - predicates@2.1.5 - prettyplease@0.2.9 - proc-macro2@1.0.62 - quote@1.0.28 - redox_syscall@0.2.16 - redox_users@0.4.3 - regex-syntax@0.6.29 - regex@1.7.3 - resize-slice@0.1.3 - rustc-hash@1.1.0 - ryu@1.0.12 - scoped-tls@1.0.1 - scratch@1.0.3 - serde@1.0.152 - serde_derive@1.0.152 - serde_yaml@0.7.5 - serde_yaml@0.9.16 - shlex@1.1.0 - smallvec@1.10.0 - socket2@0.4.7 - syn@1.0.109 - syn@2.0.22 - termcolor@1.2.0 - termtree@0.4.0 - thiserror-impl@1.0.38 - thiserror@1.0.38 - time@0.1.45 - tokio@1.24.1 - udev@0.2.0 - unicode-ident@1.0.8 - unicode-width@0.1.10 - uninitialized@0.0.2 - unsafe-libyaml@0.2.5 - v4l-sys@0.3.0 - v4l@0.14.0 - void@1.0.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 - wayland-client@0.29.5 - wayland-commons@0.29.5 - wayland-protocols@0.29.5 - wayland-scanner@0.29.5 - wayland-sys@0.29.5 - which@4.4.0 - widestring@0.3.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 - windows-sys@0.42.0 - 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 - xdg@2.4.1 - xml-rs@0.8.4 - yaml-rust@0.4.5 -" - -declare -A GIT_CRATES=( - [toml]='https://github.com/HarveyHunt/toml;7db18be32494855199ed827ac389e161914bd20d;toml-%commit%/crates/toml' - [toml_datetime]='https://github.com/HarveyHunt/toml;7db18be32494855199ed827ac389e161914bd20d;toml-%commit%/crates/toml_datetime' -) -inherit udev cargo systemd - -DESCRIPTION="Automatic brightness adjustment based on screen contents and ALS" -HOMEPAGE="https://github.com/maximbaz/wluma" -SRC_URI=" - https://github.com/maximbaz/wluma/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="ISC" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64" - -DEPEND=" - media-libs/libv4l:= - media-libs/vulkan-loader:= -" -RDEPEND="${DEPEND}" - -QA_FLAGS_IGNORED="/usr/bin/${PN}" - -DOCS=( - README.md -) - -src_install() { - cargo_src_install - udev_dorules 90-wluma-backlight.rules - - insinto /etc/xdg/autostart - doins "${FILESDIR}"/wluma.desktop - systemd_douserunit "${PN}.service" - - insinto /usr/share/${P} - doins config.toml - - einstalldocs -} - -pkg_postinst() { - udev_reload -} - -pkg_postrm() { - udev_reload -} diff --git a/sys-power/wluma/wluma-4.3.0-r3.ebuild b/sys-power/wluma/wluma-4.3.0-r3.ebuild new file mode 100644 index 000000000000..1956879e63c8 --- /dev/null +++ b/sys-power/wluma/wluma-4.3.0-r3.ebuild @@ -0,0 +1,223 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.12.1 + +EAPI=8 + +CRATES=" + aho-corasick@0.7.20 + android_system_properties@0.1.5 + anyhow@1.0.68 + ash@0.37.2+1.3.238 + atty@0.2.14 + autocfg@1.1.0 + bindgen@0.65.1 + bitflags@1.3.2 + bumpalo@3.11.1 + byteorder@1.4.3 + cc@1.0.78 + cexpr@0.6.0 + cfg-if@1.0.0 + chrono@0.4.23 + clang-sys@1.4.0 + codespan-reporting@0.11.1 + core-foundation-sys@0.6.2 + core-foundation-sys@0.8.3 + core-foundation@0.9.3 + core-graphics-types@0.1.1 + core-graphics@0.22.3 + cxx-build@1.0.86 + cxx@1.0.86 + cxxbridge-flags@1.0.86 + cxxbridge-macro@1.0.86 + ddc-hi@0.4.1 + ddc-i2c@0.2.1 + ddc-macos@0.2.0 + ddc-winapi@0.2.0 + ddc@0.2.2 + difflib@0.4.0 + dirs-sys@0.3.7 + dirs@4.0.0 + dlib@0.5.0 + downcast-rs@1.2.0 + downcast@0.11.0 + dtoa@0.4.8 + edid@0.3.0 + either@1.8.1 + env_logger@0.9.3 + float-cmp@0.9.0 + foreign-types-shared@0.1.1 + foreign-types@0.3.2 + fragile@2.0.0 + futures-core@0.3.25 + getrandom@0.2.8 + glob@0.3.1 + hashbrown@0.12.3 + hermit-abi@0.1.19 + humantime@2.1.0 + i2c-linux-sys@0.2.1 + i2c-linux@0.1.2 + i2c@0.1.0 + iana-time-zone-haiku@0.1.1 + iana-time-zone@0.1.53 + indexmap@1.9.2 + inotify-sys@0.1.5 + inotify@0.10.0 + io-kit-sys@0.1.0 + itertools@0.10.5 + itoa@1.0.5 + js-sys@0.3.60 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.141 + libloading@0.7.4 + libudev-sys@0.1.4 + link-cplusplus@1.0.8 + linked-hash-map@0.5.6 + log@0.4.17 + mach@0.2.3 + mach@0.3.2 + mccs-caps@0.1.0 + mccs-db@0.1.2 + mccs@0.1.0 + memchr@1.0.2 + memchr@2.5.0 + memoffset@0.6.5 + minimal-lexical@0.2.1 + mio@0.8.5 + mockall@0.11.4 + mockall_derive@0.11.4 + nix@0.24.3 + nom@3.2.1 + nom@7.1.3 + normalize-line-endings@0.3.0 + num-integer@0.1.45 + num-traits@0.2.15 + nvapi-sys@0.1.3 + nvapi@0.1.4 + once_cell@1.17.0 + peeking_take_while@0.1.2 + pin-project-lite@0.2.9 + pkg-config@0.3.26 + predicates-core@1.0.5 + predicates-tree@1.0.7 + predicates@2.1.5 + prettyplease@0.2.9 + proc-macro2@1.0.62 + quote@1.0.28 + redox_syscall@0.2.16 + redox_users@0.4.3 + regex-syntax@0.6.29 + regex@1.7.3 + resize-slice@0.1.3 + rustc-hash@1.1.0 + ryu@1.0.12 + scoped-tls@1.0.1 + scratch@1.0.3 + serde@1.0.152 + serde_derive@1.0.152 + serde_yaml@0.7.5 + serde_yaml@0.9.16 + shlex@1.1.0 + smallvec@1.10.0 + socket2@0.4.7 + syn@1.0.109 + syn@2.0.22 + termcolor@1.2.0 + termtree@0.4.0 + thiserror-impl@1.0.38 + thiserror@1.0.38 + time@0.1.45 + tokio@1.24.1 + udev@0.2.0 + unicode-ident@1.0.8 + unicode-width@0.1.10 + uninitialized@0.0.2 + unsafe-libyaml@0.2.5 + v4l-sys@0.3.0 + v4l@0.14.0 + void@1.0.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 + wayland-client@0.29.5 + wayland-commons@0.29.5 + wayland-protocols@0.29.5 + wayland-scanner@0.29.5 + wayland-sys@0.29.5 + which@4.4.0 + widestring@0.3.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 + windows-sys@0.42.0 + 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 + xdg@2.4.1 + xml-rs@0.8.4 + yaml-rust@0.4.5 +" + +declare -A GIT_CRATES=( + [toml]='https://github.com/HarveyHunt/toml;7db18be32494855199ed827ac389e161914bd20d;toml-%commit%/crates/toml' + [toml_datetime]='https://github.com/HarveyHunt/toml;7db18be32494855199ed827ac389e161914bd20d;toml-%commit%/crates/toml_datetime' +) +inherit udev cargo systemd + +DESCRIPTION="Automatic brightness adjustment based on screen contents and ALS" +HOMEPAGE="https://github.com/maximbaz/wluma" +SRC_URI=" + https://github.com/maximbaz/wluma/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="ISC" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + media-libs/libv4l:= + media-libs/vulkan-loader:= +" +RDEPEND="${DEPEND}" + +QA_FLAGS_IGNORED="/usr/bin/${PN}" + +DOCS=( + README.md +) + +src_install() { + cargo_src_install + udev_dorules 90-wluma-backlight.rules + + insinto /etc/xdg/autostart + doins "${FILESDIR}"/wluma.desktop + systemd_douserunit "${PN}.service" + + insinto /usr/share/${P} + doins config.toml + + einstalldocs +} + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/sys-power/wluma/wluma-4.4.0-r1.ebuild b/sys-power/wluma/wluma-4.4.0-r1.ebuild deleted file mode 100644 index dbaaedafd98b..000000000000 --- a/sys-power/wluma/wluma-4.4.0-r1.ebuild +++ /dev/null @@ -1,236 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - addr2line@0.21.0 - adler@1.0.2 - aho-corasick@1.1.3 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anyhow@1.0.81 - ash@0.37.3+1.3.251 - atty@0.2.14 - autocfg@1.2.0 - backtrace@0.3.71 - bindgen@0.65.1 - bitflags@1.3.2 - bitflags@2.5.0 - bumpalo@3.15.4 - byteorder@1.5.0 - cc@1.0.90 - cexpr@0.6.0 - cfg-if@1.0.0 - chrono@0.4.37 - clang-sys@1.7.0 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - core-graphics-types@0.1.3 - core-graphics@0.23.1 - dbus@0.9.7 - ddc-hi@0.4.1 - ddc-i2c@0.2.2 - ddc-macos@0.2.1 - ddc-winapi@0.2.1 - ddc@0.2.2 - difflib@0.4.0 - dlib@0.5.2 - downcast-rs@1.2.0 - downcast@0.11.0 - dtoa@0.4.8 - edid@0.3.0 - either@1.10.0 - env_logger@0.9.3 - equivalent@1.0.1 - errno@0.3.8 - float-cmp@0.9.0 - foreign-types-macros@0.2.3 - foreign-types-shared@0.3.1 - foreign-types@0.5.0 - fragile@2.0.0 - futures-core@0.3.30 - gimli@0.28.1 - glob@0.3.1 - hashbrown@0.14.3 - hermit-abi@0.1.19 - home@0.5.9 - humantime@2.1.0 - i2c-linux-sys@0.2.1 - i2c-linux@0.1.2 - i2c@0.1.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - indexmap@2.2.6 - inotify-sys@0.1.5 - inotify@0.10.2 - io-kit-sys@0.4.1 - itertools@0.10.5 - itoa@1.0.11 - js-sys@0.3.69 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.153 - libdbus-sys@0.2.5 - libloading@0.8.3 - libudev-sys@0.1.4 - linked-hash-map@0.5.6 - linux-raw-sys@0.4.13 - log@0.4.21 - mach2@0.4.2 - mach@0.3.2 - mccs-caps@0.1.3 - mccs-db@0.1.3 - mccs@0.1.3 - memchr@1.0.2 - memchr@2.7.2 - memoffset@0.6.5 - minimal-lexical@0.2.1 - miniz_oxide@0.7.2 - mio@0.8.11 - mockall@0.11.4 - mockall_derive@0.11.4 - nix@0.24.3 - nom@3.2.1 - nom@7.1.3 - normalize-line-endings@0.3.0 - num-traits@0.2.18 - nvapi-sys@0.1.3 - nvapi@0.1.4 - object@0.32.2 - once_cell@1.19.0 - peeking_take_while@0.1.2 - pin-project-lite@0.2.14 - pkg-config@0.3.30 - predicates-core@1.0.6 - predicates-tree@1.0.9 - predicates@2.1.5 - prettyplease@0.2.17 - proc-macro2@1.0.79 - quote@1.0.35 - regex-automata@0.4.6 - regex-syntax@0.8.3 - regex@1.10.4 - resize-slice@0.1.3 - rustc-demangle@0.1.23 - rustc-hash@1.1.0 - rustix@0.38.32 - ryu@1.0.17 - scoped-tls@1.0.1 - serde@1.0.197 - serde_derive@1.0.197 - serde_spanned@0.6.5 - serde_yaml@0.7.5 - serde_yaml@0.9.34+deprecated - shlex@1.3.0 - smallvec@1.13.2 - socket2@0.5.6 - syn@1.0.109 - syn@2.0.57 - termcolor@1.4.1 - termtree@0.4.1 - thiserror-impl@1.0.58 - thiserror@1.0.58 - tokio@1.37.0 - toml@0.7.8 - toml_datetime@0.6.5 - toml_edit@0.19.15 - udev@0.2.0 - unicode-ident@1.0.12 - uninitialized@0.0.2 - unsafe-libyaml@0.2.11 - v4l-sys@0.3.0 - v4l@0.14.0 - void@1.0.2 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - wayland-client@0.29.5 - wayland-commons@0.29.5 - wayland-protocols@0.29.5 - wayland-scanner@0.29.5 - wayland-sys@0.29.5 - which@4.4.2 - widestring@1.0.2 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - 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-targets@0.48.5 - windows-targets@0.52.4 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.4 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.4 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.4 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.4 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.4 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.4 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.4 - winnow@0.5.40 - xdg@2.5.2 - xml-rs@0.8.19 - yaml-rust@0.4.5 -" - -inherit udev cargo systemd - -DESCRIPTION="Automatic brightness adjustment based on screen contents and ALS" -HOMEPAGE="https://github.com/maximbaz/wluma" -SRC_URI=" - https://github.com/maximbaz/wluma/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="ISC" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64" - -DEPEND=" - media-libs/libv4l:= - media-libs/vulkan-loader:= -" -RDEPEND="${DEPEND}" - -QA_FLAGS_IGNORED="/usr/bin/${PN}" - -DOCS=( - README.md -) - -src_install() { - cargo_src_install - udev_dorules 90-wluma-backlight.rules - - insinto /etc/xdg/autostart - doins "${FILESDIR}"/wluma.desktop - systemd_douserunit "${PN}.service" - - insinto /usr/share/${P} - doins config.toml - - dodoc "${DOCS[@]}" -} - -pkg_postinst() { - udev_reload -} - -pkg_postrm() { - udev_reload -} diff --git a/sys-power/wluma/wluma-4.4.0-r2.ebuild b/sys-power/wluma/wluma-4.4.0-r2.ebuild new file mode 100644 index 000000000000..dbaaedafd98b --- /dev/null +++ b/sys-power/wluma/wluma-4.4.0-r2.ebuild @@ -0,0 +1,236 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + addr2line@0.21.0 + adler@1.0.2 + aho-corasick@1.1.3 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anyhow@1.0.81 + ash@0.37.3+1.3.251 + atty@0.2.14 + autocfg@1.2.0 + backtrace@0.3.71 + bindgen@0.65.1 + bitflags@1.3.2 + bitflags@2.5.0 + bumpalo@3.15.4 + byteorder@1.5.0 + cc@1.0.90 + cexpr@0.6.0 + cfg-if@1.0.0 + chrono@0.4.37 + clang-sys@1.7.0 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + core-graphics-types@0.1.3 + core-graphics@0.23.1 + dbus@0.9.7 + ddc-hi@0.4.1 + ddc-i2c@0.2.2 + ddc-macos@0.2.1 + ddc-winapi@0.2.1 + ddc@0.2.2 + difflib@0.4.0 + dlib@0.5.2 + downcast-rs@1.2.0 + downcast@0.11.0 + dtoa@0.4.8 + edid@0.3.0 + either@1.10.0 + env_logger@0.9.3 + equivalent@1.0.1 + errno@0.3.8 + float-cmp@0.9.0 + foreign-types-macros@0.2.3 + foreign-types-shared@0.3.1 + foreign-types@0.5.0 + fragile@2.0.0 + futures-core@0.3.30 + gimli@0.28.1 + glob@0.3.1 + hashbrown@0.14.3 + hermit-abi@0.1.19 + home@0.5.9 + humantime@2.1.0 + i2c-linux-sys@0.2.1 + i2c-linux@0.1.2 + i2c@0.1.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + indexmap@2.2.6 + inotify-sys@0.1.5 + inotify@0.10.2 + io-kit-sys@0.4.1 + itertools@0.10.5 + itoa@1.0.11 + js-sys@0.3.69 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.153 + libdbus-sys@0.2.5 + libloading@0.8.3 + libudev-sys@0.1.4 + linked-hash-map@0.5.6 + linux-raw-sys@0.4.13 + log@0.4.21 + mach2@0.4.2 + mach@0.3.2 + mccs-caps@0.1.3 + mccs-db@0.1.3 + mccs@0.1.3 + memchr@1.0.2 + memchr@2.7.2 + memoffset@0.6.5 + minimal-lexical@0.2.1 + miniz_oxide@0.7.2 + mio@0.8.11 + mockall@0.11.4 + mockall_derive@0.11.4 + nix@0.24.3 + nom@3.2.1 + nom@7.1.3 + normalize-line-endings@0.3.0 + num-traits@0.2.18 + nvapi-sys@0.1.3 + nvapi@0.1.4 + object@0.32.2 + once_cell@1.19.0 + peeking_take_while@0.1.2 + pin-project-lite@0.2.14 + pkg-config@0.3.30 + predicates-core@1.0.6 + predicates-tree@1.0.9 + predicates@2.1.5 + prettyplease@0.2.17 + proc-macro2@1.0.79 + quote@1.0.35 + regex-automata@0.4.6 + regex-syntax@0.8.3 + regex@1.10.4 + resize-slice@0.1.3 + rustc-demangle@0.1.23 + rustc-hash@1.1.0 + rustix@0.38.32 + ryu@1.0.17 + scoped-tls@1.0.1 + serde@1.0.197 + serde_derive@1.0.197 + serde_spanned@0.6.5 + serde_yaml@0.7.5 + serde_yaml@0.9.34+deprecated + shlex@1.3.0 + smallvec@1.13.2 + socket2@0.5.6 + syn@1.0.109 + syn@2.0.57 + termcolor@1.4.1 + termtree@0.4.1 + thiserror-impl@1.0.58 + thiserror@1.0.58 + tokio@1.37.0 + toml@0.7.8 + toml_datetime@0.6.5 + toml_edit@0.19.15 + udev@0.2.0 + unicode-ident@1.0.12 + uninitialized@0.0.2 + unsafe-libyaml@0.2.11 + v4l-sys@0.3.0 + v4l@0.14.0 + void@1.0.2 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + wayland-client@0.29.5 + wayland-commons@0.29.5 + wayland-protocols@0.29.5 + wayland-scanner@0.29.5 + wayland-sys@0.29.5 + which@4.4.2 + widestring@1.0.2 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + 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-targets@0.48.5 + windows-targets@0.52.4 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.4 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.4 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.4 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.4 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.4 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.4 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.4 + winnow@0.5.40 + xdg@2.5.2 + xml-rs@0.8.19 + yaml-rust@0.4.5 +" + +inherit udev cargo systemd + +DESCRIPTION="Automatic brightness adjustment based on screen contents and ALS" +HOMEPAGE="https://github.com/maximbaz/wluma" +SRC_URI=" + https://github.com/maximbaz/wluma/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="ISC" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD-2 BSD ISC MIT Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND=" + media-libs/libv4l:= + media-libs/vulkan-loader:= +" +RDEPEND="${DEPEND}" + +QA_FLAGS_IGNORED="/usr/bin/${PN}" + +DOCS=( + README.md +) + +src_install() { + cargo_src_install + udev_dorules 90-wluma-backlight.rules + + insinto /etc/xdg/autostart + doins "${FILESDIR}"/wluma.desktop + systemd_douserunit "${PN}.service" + + insinto /usr/share/${P} + doins config.toml + + dodoc "${DOCS[@]}" +} + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/sys-process/below/below-0.8.1-r1.ebuild b/sys-process/below/below-0.8.1-r1.ebuild new file mode 100644 index 000000000000..95c1f45c601e --- /dev/null +++ b/sys-process/below/below-0.8.1-r1.ebuild @@ -0,0 +1,354 @@ +# Copyright 2023-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 + ahash@0.8.0 + aho-corasick@1.0.5 + android_system_properties@0.1.5 + android-tzdata@0.1.1 + anstyle@1.0.1 + anyhow@1.0.80 + anstream@0.6.13 + anstyle@1.0.1 + anstyle-parse@0.2.1 + anstyle-query@1.0.0 + anstyle-wincon@3.0.2 + async-trait@0.1.71 + atty@0.2.14 + autocfg@1.1.0 + backtrace@0.3.69 + bitflags@1.3.2 + bitflags@2.4.0 + bumpalo@3.11.1 + bytes@1.2.1 + camino@1.1.1 + cargo-platform@0.1.2 + cargo_metadata@0.15.4 + cc@1.0.90 + cfg-if@1.0.0 + chrono@0.4.29 + clap@4.5.4 + clap_builder@4.5.2 + clap_complete@4.5.1 + clap_derive@4.5.4 + clap_lex@0.7.0 + codespan-reporting@0.11.1 + colorchoice@1.0.0 + console@0.15.2 + core-foundation-sys@0.8.3 + crossbeam-channel@0.5.6 + crossbeam-deque@0.8.2 + crossbeam-epoch@0.9.11 + crossbeam-utils@0.8.12 + crossterm@0.25.0 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + cursive@0.20.0 + cursive_buffered_backend@0.6.1 + cursive_core@0.3.5 + cxx-build@1.0.80 + cxx@1.0.80 + cxxbridge-flags@1.0.80 + cxxbridge-macro@1.0.80 + darling@0.14.2 + darling_core@0.14.2 + darling_macro@0.14.2 + dirs-next@2.0.0 + dirs-sys-next@0.1.2 + either@1.8.0 + encode_unicode@0.3.6 + enum-iterator@1.4.1 + enum-iterator-derive@1.2.1 + enum-map-derive@0.10.0 + enum-map@2.4.1 + enumset@1.0.12 + enumset_derive@0.6.1 + equivalent@1.0.0 + erased-serde@0.3.23 + errno-dragonfly@0.1.2 + errno@0.2.8 + errno@0.3.1 + fastrand@2.0.1 + filetime@0.2.18 + fnv@1.0.7 + fuchsia-cprng@0.1.1 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.1.31 + futures@0.3.30 + getrandom@0.2.8 + gimli@0.28.1 + half@1.8.2 + hashbrown@0.12.3 + hashbrown@0.14.0 + heck@0.4.0 + heck@0.5.0 + hermit-abi@0.1.19 + hermit-abi@0.3.1 + hostname@0.3.1 + humantime@2.1.0 + iana-time-zone-haiku@0.1.1 + iana-time-zone@0.1.53 + ident_case@1.0.1 + indexmap@1.9.1 + indexmap@2.0.0 + indicatif@0.17.6 + instant@0.1.12 + io-lifetimes@0.7.4 + io-lifetimes@1.0.10 + itertools@0.11.0 + itoa@1.0.4 + jobserver@0.1.25 + js-sys@0.3.60 + lazy_static@1.4.0 + libbpf-cargo@0.23.0 + libbpf-rs@0.23.0 + libbpf-sys@1.4.0+v1.4.0 + libc@0.2.153 + libm@0.2.5 + link-cplusplus@1.0.7 + linux-raw-sys@0.4.10 + lock_api@0.4.9 + log@0.4.17 + maplit@1.0.2 + match_cfg@0.1.0 + memchr@2.6.3 + memmap2@0.5.10 + memoffset@0.6.5 + memoffset@0.7.1 + miniz_oxide@0.7.2 + mio@0.8.11 + nix@0.25.0 + nix@0.27.1 + num-complex@0.4.2 + num-integer@0.1.45 + num-iter@0.1.43 + num-rational@0.4.1 + num-traits@0.2.15 + num@0.4.0 + num_cpus@1.16.0 + num_enum@0.5.7 + num_enum_derive@0.5.7 + num_threads@0.1.6 + number_prefix@0.4.0 + object@0.32.2 + once_cell@1.15.0 + openat@0.1.21 + os_info@3.5.1 + os_str_bytes@6.3.1 + owning_ref@0.4.1 + parking_lot@0.12.1 + parking_lot_core@0.9.4 + paste@1.0.14 + pin-project-lite@0.2.13 + pin-utils@0.1.0 + pkg-config@0.3.30 + plain@0.2.3 + portable-atomic@0.3.20 + portable-atomic@1.3.2 + portpicker@0.1.1 + ppv-lite86@0.2.16 + proc-macro-crate@1.2.1 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.78 + quote@1.0.35 + 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 + rand_distr@0.4.3 + rayon-core@1.9.3 + rayon@1.5.3 + rdrand@0.4.0 + redox_syscall@0.2.16 + redox_syscall@0.4.1 + redox_users@0.4.3 + regex-automata@0.3.8 + regex-syntax@0.7.5 + regex@1.9.5 + remove_dir_all@0.5.3 + rustc-demangle@0.1.23 + rustix@0.35.12 + rustix@0.38.21 + rustversion@1.0.9 + ryu@1.0.11 + same-file@1.0.6 + scopeguard@1.1.0 + scratch@1.0.2 + scroll@0.11.0 + scroll_derive@0.11.0 + semver@1.0.14 + serde@1.0.188 + serde_cbor@0.11.2 + serde_derive@1.0.188 + serde_json@1.0.100 + serde_spanned@0.6.4 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.0 + signal-hook@0.3.17 + slab@0.4.7 + slog-term@2.9.0 + slog@2.7.0 + socket2@0.5.6 + smallvec@1.10.0 + stable_deref_trait@1.2.0 + static_assertions@1.1.0 + strsim@0.11.0 + strum_macros@0.24.3 + syn@1.0.109 + syn@2.0.52 + tar@0.4.40 + tempdir@0.3.7 + tempfile@3.8.1 + term@0.7.0 + termcolor@1.1.3 + terminal_size@0.1.17 + terminal_size@0.3.0 + textwrap@0.16.0 + thiserror-impl@1.0.57 + thiserror@1.0.57 + thread_local@1.1.4 + threadpool@1.8.1 + time-core@0.1.0 + time-macros@0.2.5 + time@0.3.16 + tokio@1.37.0 + tokio-macros@2.2.0 + toml@0.5.8 + toml@0.8.6 + toml_datetime@0.6.5 + toml_edit@0.20.7 + tracing@0.1.40 + tracing-core@0.1.32 + unicase@2.6.0 + unicode-ident@1.0.5 + unicode-segmentation@1.10.0 + unicode-width@0.1.10 + utf8parse@0.2.1 + uzers@0.11.3 + version_check@0.9.4 + vsprintf@2.0.0 + walkdir@2.3.2 + 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 + 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 + windows-sys@0.36.1 + windows-sys@0.42.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.42.2 + windows-targets@0.48.0 + windows-targets@0.52.4 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.0 + windows_aarch64_gnullvm@0.52.4 + windows_aarch64_msvc@0.36.1 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.0 + windows_aarch64_msvc@0.52.4 + windows_i686_gnu@0.36.1 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.0 + windows_i686_gnu@0.52.4 + windows_i686_msvc@0.36.1 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.0 + windows_i686_msvc@0.52.4 + windows_x86_64_gnu@0.36.1 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.0 + windows_x86_64_gnu@0.52.4 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.0 + windows_x86_64_gnullvm@0.52.4 + windows_x86_64_msvc@0.36.1 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.0 + windows_x86_64_msvc@0.52.4 + winnow@0.5.18 + xattr@1.0.1 + xi-unicode@0.3.0 + zstd-safe@7.0.0 + zstd-sys@2.0.9+zstd.1.5.5 + zstd@0.13.0 +" + +RUST_USEDEP="rustfmt" + +inherit cargo systemd + +DESCRIPTION="An interactive tool to view and record historical system data" +HOMEPAGE="https://github.com/facebookincubator/below" +SRC_URI=" + https://github.com/facebookincubator/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="Apache-2.0" +# Dependent crate licenses +LICENSE+=" BSD-2 BSD ISC MIT Unicode-DFS-2016 Unlicense" + +SLOT="0" +KEYWORDS="amd64 ~ppc64" + +BDEPEND=" + sys-devel/clang + virtual/pkgconfig +" +RDEPEND=" + virtual/libelf + sys-libs/zlib +" +DEPEND=" + ${RDEPEND} + sys-libs/ncurses +" + +QA_FLAGS_IGNORED="usr/bin/below" + +src_test() { + local skip=( + --skip disable_disk_stat + --skip advance_forward_and_reverse + --skip disable_io_stat + --skip record_replay_integration + --skip test_belowrc_to_event + ) + cargo_src_test --workspace below -- "${skip[@]}" +} + +src_install() { + cargo_src_install --path below + + keepdir /var/log/below + + systemd_dounit "etc/${PN}.service" + newinitd "${FILESDIR}/${PN}-r1.initd" below + newconfd "${FILESDIR}/${PN}.confd" below + + insinto /etc/logrotate.d + newins etc/logrotate.conf below + + dodoc -r docs +} diff --git a/sys-process/below/below-0.8.1.ebuild b/sys-process/below/below-0.8.1.ebuild deleted file mode 100644 index 78c379679c21..000000000000 --- a/sys-process/below/below-0.8.1.ebuild +++ /dev/null @@ -1,353 +0,0 @@ -# Copyright 2023-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 - ahash@0.8.0 - aho-corasick@1.0.5 - android_system_properties@0.1.5 - android-tzdata@0.1.1 - anstyle@1.0.1 - anyhow@1.0.80 - anstream@0.6.13 - anstyle@1.0.1 - anstyle-parse@0.2.1 - anstyle-query@1.0.0 - anstyle-wincon@3.0.2 - async-trait@0.1.71 - atty@0.2.14 - autocfg@1.1.0 - backtrace@0.3.69 - bitflags@1.3.2 - bitflags@2.4.0 - bumpalo@3.11.1 - bytes@1.2.1 - camino@1.1.1 - cargo-platform@0.1.2 - cargo_metadata@0.15.4 - cc@1.0.90 - cfg-if@1.0.0 - chrono@0.4.29 - clap@4.5.4 - clap_builder@4.5.2 - clap_complete@4.5.1 - clap_derive@4.5.4 - clap_lex@0.7.0 - codespan-reporting@0.11.1 - colorchoice@1.0.0 - console@0.15.2 - core-foundation-sys@0.8.3 - crossbeam-channel@0.5.6 - crossbeam-deque@0.8.2 - crossbeam-epoch@0.9.11 - crossbeam-utils@0.8.12 - crossterm@0.25.0 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - cursive@0.20.0 - cursive_buffered_backend@0.6.1 - cursive_core@0.3.5 - cxx-build@1.0.80 - cxx@1.0.80 - cxxbridge-flags@1.0.80 - cxxbridge-macro@1.0.80 - darling@0.14.2 - darling_core@0.14.2 - darling_macro@0.14.2 - dirs-next@2.0.0 - dirs-sys-next@0.1.2 - either@1.8.0 - encode_unicode@0.3.6 - enum-iterator@1.4.1 - enum-iterator-derive@1.2.1 - enum-map-derive@0.10.0 - enum-map@2.4.1 - enumset@1.0.12 - enumset_derive@0.6.1 - equivalent@1.0.0 - erased-serde@0.3.23 - errno-dragonfly@0.1.2 - errno@0.2.8 - errno@0.3.1 - fastrand@2.0.1 - filetime@0.2.18 - fnv@1.0.7 - fuchsia-cprng@0.1.1 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.1.31 - futures@0.3.30 - getrandom@0.2.8 - gimli@0.28.1 - half@1.8.2 - hashbrown@0.12.3 - hashbrown@0.14.0 - heck@0.4.0 - heck@0.5.0 - hermit-abi@0.1.19 - hermit-abi@0.3.1 - hostname@0.3.1 - humantime@2.1.0 - iana-time-zone-haiku@0.1.1 - iana-time-zone@0.1.53 - ident_case@1.0.1 - indexmap@1.9.1 - indexmap@2.0.0 - indicatif@0.17.6 - instant@0.1.12 - io-lifetimes@0.7.4 - io-lifetimes@1.0.10 - itertools@0.11.0 - itoa@1.0.4 - jobserver@0.1.25 - js-sys@0.3.60 - lazy_static@1.4.0 - libbpf-cargo@0.23.0 - libbpf-rs@0.23.0 - libbpf-sys@1.4.0+v1.4.0 - libc@0.2.153 - libm@0.2.5 - link-cplusplus@1.0.7 - linux-raw-sys@0.4.10 - lock_api@0.4.9 - log@0.4.17 - maplit@1.0.2 - match_cfg@0.1.0 - memchr@2.6.3 - memmap2@0.5.10 - memoffset@0.6.5 - memoffset@0.7.1 - miniz_oxide@0.7.2 - mio@0.8.11 - nix@0.25.0 - nix@0.27.1 - num-complex@0.4.2 - num-integer@0.1.45 - num-iter@0.1.43 - num-rational@0.4.1 - num-traits@0.2.15 - num@0.4.0 - num_cpus@1.16.0 - num_enum@0.5.7 - num_enum_derive@0.5.7 - num_threads@0.1.6 - number_prefix@0.4.0 - object@0.32.2 - once_cell@1.15.0 - openat@0.1.21 - os_info@3.5.1 - os_str_bytes@6.3.1 - owning_ref@0.4.1 - parking_lot@0.12.1 - parking_lot_core@0.9.4 - paste@1.0.14 - pin-project-lite@0.2.13 - pin-utils@0.1.0 - pkg-config@0.3.30 - plain@0.2.3 - portable-atomic@0.3.20 - portable-atomic@1.3.2 - portpicker@0.1.1 - ppv-lite86@0.2.16 - proc-macro-crate@1.2.1 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.78 - quote@1.0.35 - 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 - rand_distr@0.4.3 - rayon-core@1.9.3 - rayon@1.5.3 - rdrand@0.4.0 - redox_syscall@0.2.16 - redox_syscall@0.4.1 - redox_users@0.4.3 - regex-automata@0.3.8 - regex-syntax@0.7.5 - regex@1.9.5 - remove_dir_all@0.5.3 - rustc-demangle@0.1.23 - rustix@0.35.12 - rustix@0.38.21 - rustversion@1.0.9 - ryu@1.0.11 - same-file@1.0.6 - scopeguard@1.1.0 - scratch@1.0.2 - scroll@0.11.0 - scroll_derive@0.11.0 - semver@1.0.14 - serde@1.0.188 - serde_cbor@0.11.2 - serde_derive@1.0.188 - serde_json@1.0.100 - serde_spanned@0.6.4 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.0 - signal-hook@0.3.17 - slab@0.4.7 - slog-term@2.9.0 - slog@2.7.0 - socket2@0.5.6 - smallvec@1.10.0 - stable_deref_trait@1.2.0 - static_assertions@1.1.0 - strsim@0.11.0 - strum_macros@0.24.3 - syn@1.0.109 - syn@2.0.52 - tar@0.4.40 - tempdir@0.3.7 - tempfile@3.8.1 - term@0.7.0 - termcolor@1.1.3 - terminal_size@0.1.17 - terminal_size@0.3.0 - textwrap@0.16.0 - thiserror-impl@1.0.57 - thiserror@1.0.57 - thread_local@1.1.4 - threadpool@1.8.1 - time-core@0.1.0 - time-macros@0.2.5 - time@0.3.16 - tokio@1.37.0 - tokio-macros@2.2.0 - toml@0.5.8 - toml@0.8.6 - toml_datetime@0.6.5 - toml_edit@0.20.7 - tracing@0.1.40 - tracing-core@0.1.32 - unicase@2.6.0 - unicode-ident@1.0.5 - unicode-segmentation@1.10.0 - unicode-width@0.1.10 - utf8parse@0.2.1 - uzers@0.11.3 - version_check@0.9.4 - vsprintf@2.0.0 - walkdir@2.3.2 - 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 - 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 - windows-sys@0.36.1 - windows-sys@0.42.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.42.2 - windows-targets@0.48.0 - windows-targets@0.52.4 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.0 - windows_aarch64_gnullvm@0.52.4 - windows_aarch64_msvc@0.36.1 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.0 - windows_aarch64_msvc@0.52.4 - windows_i686_gnu@0.36.1 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.0 - windows_i686_gnu@0.52.4 - windows_i686_msvc@0.36.1 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.0 - windows_i686_msvc@0.52.4 - windows_x86_64_gnu@0.36.1 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.0 - windows_x86_64_gnu@0.52.4 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.0 - windows_x86_64_gnullvm@0.52.4 - windows_x86_64_msvc@0.36.1 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.0 - windows_x86_64_msvc@0.52.4 - winnow@0.5.18 - xattr@1.0.1 - xi-unicode@0.3.0 - zstd-safe@7.0.0 - zstd-sys@2.0.9+zstd.1.5.5 - zstd@0.13.0 -" - -inherit cargo systemd - -DESCRIPTION="An interactive tool to view and record historical system data" -HOMEPAGE="https://github.com/facebookincubator/below" -SRC_URI=" - https://github.com/facebookincubator/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="Apache-2.0" -# Dependent crate licenses -LICENSE+=" BSD-2 BSD ISC MIT Unicode-DFS-2016 Unlicense" - -SLOT="0" -KEYWORDS="amd64 ~ppc64" - -BDEPEND=" - sys-devel/clang - virtual/pkgconfig - >=virtual/rust-1.56[rustfmt] -" -RDEPEND=" - virtual/libelf - sys-libs/zlib -" -DEPEND=" - ${RDEPEND} - sys-libs/ncurses -" - -QA_FLAGS_IGNORED="usr/bin/below" - -src_test() { - local skip=( - --skip disable_disk_stat - --skip advance_forward_and_reverse - --skip disable_io_stat - --skip record_replay_integration - --skip test_belowrc_to_event - ) - cargo_src_test --workspace below -- "${skip[@]}" -} - -src_install() { - cargo_src_install --path below - - keepdir /var/log/below - - systemd_dounit "etc/${PN}.service" - newinitd "${FILESDIR}/${PN}-r1.initd" below - newconfd "${FILESDIR}/${PN}.confd" below - - insinto /etc/logrotate.d - newins etc/logrotate.conf below - - dodoc -r docs -} diff --git a/sys-process/bottom/bottom-0.10.1-r1.ebuild b/sys-process/bottom/bottom-0.10.1-r1.ebuild new file mode 100644 index 000000000000..338d07e9e117 --- /dev/null +++ b/sys-process/bottom/bottom-0.10.1-r1.ebuild @@ -0,0 +1,282 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.22.0 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + 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.86 + assert_cmd@2.0.15 + autocfg@1.3.0 + backtrace@0.3.73 + base64@0.22.1 + bitflags@1.3.2 + bitflags@2.6.0 + bottom@0.10.1 + bstr@1.10.0 + byteorder@1.5.0 + cargo-husky@1.5.0 + cassowary@0.3.0 + castaway@0.2.3 + cc@1.1.7 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cfg_aliases@0.2.1 + clap@4.5.13 + clap_builder@4.5.13 + clap_complete@4.5.12 + clap_complete_fig@4.5.2 + clap_complete_nushell@4.5.3 + clap_derive@4.5.13 + clap_lex@0.7.2 + clap_mangen@0.2.23 + colorchoice@1.0.2 + compact_str@0.7.1 + concat-string@1.0.1 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + ctrlc@3.4.4 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + deranged@0.3.11 + difflib@0.4.0 + dirs-sys@0.4.1 + dirs@5.0.1 + doc-comment@0.3.3 + downcast-rs@1.2.1 + dyn-clone@1.0.17 + either@1.13.0 + enum-as-inner@0.6.0 + equivalent@1.0.1 + errno@0.3.9 + fern@0.6.2 + filedescriptor@0.8.2 + float-cmp@0.9.0 + fnv@1.0.7 + getrandom@0.2.15 + gimli@0.29.0 + hashbrown@0.14.5 + heck@0.4.1 + heck@0.5.0 + humantime@2.1.0 + ident_case@1.0.1 + indexmap@2.3.0 + indoc@2.0.5 + ioctl-rs@0.1.6 + is_terminal_polyfill@1.70.1 + itertools@0.13.0 + itoa@1.0.11 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.155 + libloading@0.8.5 + libredox@0.1.3 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + lru@0.12.4 + mach2@0.4.2 + memchr@2.7.4 + memoffset@0.6.5 + miniz_oxide@0.7.4 + mio@0.8.11 + nix@0.25.1 + nix@0.28.0 + nix@0.29.0 + normalize-line-endings@0.3.0 + ntapi@0.4.1 + num-conv@0.1.0 + num-traits@0.2.19 + num_threads@0.1.7 + nvml-wrapper-sys@0.8.0 + nvml-wrapper@0.10.0 + object@0.36.2 + once_cell@1.19.0 + option-ext@0.2.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + pin-utils@0.1.0 + plist@1.7.0 + portable-pty@0.8.1 + powerfmt@0.2.0 + predicates-core@1.0.8 + predicates-tree@1.0.11 + predicates@3.1.2 + proc-macro2@1.0.86 + quick-xml@0.32.0 + quote@1.0.36 + ratatui@0.27.0 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.3 + redox_users@0.4.5 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + roff@0.2.2 + rustc-demangle@0.1.24 + rustix@0.38.34 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + schemars@0.8.21 + schemars_derive@0.8.21 + scopeguard@1.2.0 + serde@1.0.204 + serde_derive@1.0.204 + serde_derive_internals@0.29.1 + serde_json@1.0.121 + serde_spanned@0.6.7 + serial-core@0.4.0 + serial-unix@0.4.0 + serial-windows@0.4.0 + serial@0.4.0 + shared_library@0.1.9 + shell-words@1.1.0 + signal-hook-mio@0.2.4 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + smallvec@1.13.2 + stability@0.2.1 + starship-battery@0.9.1 + static_assertions@1.1.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + syn@2.0.72 + sysctl@0.5.5 + sysinfo@0.30.13 + terminal_size@0.3.0 + termios@0.2.2 + termtree@0.4.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + toml_datetime@0.6.8 + toml_edit@0.22.20 + typenum@1.17.0 + unicode-ellipsis@0.2.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-truncate@1.1.0 + unicode-width@0.1.13 + uom@0.36.0 + utf8parse@0.2.2 + version_check@0.9.5 + wait-timeout@0.2.0 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-core@0.58.0 + windows-implement@0.58.0 + windows-interface@0.58.0 + windows-result@0.2.0 + windows-strings@0.1.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows@0.52.0 + windows@0.58.0 + 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 + winnow@0.6.18 + winreg@0.10.1 + wrapcenum-derive@0.4.1 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit bash-completion-r1 cargo + +DESCRIPTION="A graphical process/system monitor with a customizable interface" +HOMEPAGE="https://github.com/ClementTsang/bottom" +SRC_URI="${CARGO_CRATE_URIS}" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 ISC MIT MPL-2.0 Unicode-DFS-2016" +# cargo-husky-1.5.0 +LICENSE+=" MIT " +SLOT="0" +KEYWORDS="amd64 arm64 ppc64" +IUSE="+battery +gpu +zfs" + +# Rust packages ignore CFLAGS and LDFLAGS so let's silence the QA warnings +QA_FLAGS_IGNORED="usr/bin/btm" + +src_prepare() { + # Stripping symbols should be the choice of the user. + sed -i '/strip = "symbols"/d' Cargo.toml || die "Unable to patch out symbol stripping" + + default +} + +src_configure() { + local myfeatures=( + $(usev battery) + $(usev gpu) + $(usev zfs) + ) + + # This will turn on generation of shell completion scripts + export BTM_GENERATE=true + + # https://github.com/ClementTsang/bottom/blob/bacaca5548c2b23d261ef961ee6584b609529567/Cargo.toml#L63 + # fern and log features are for debugging only, so disable default features + cargo_src_configure $(usev !debug --no-default-features) +} + +src_install() { + cargo_src_install + + # Find generated shell completion files. btm.bash can be present in multiple dirs if we build + # additional features, so grab the first match only. + local build_dir="$(dirname $(find target -name btm.bash -print -quit || die) || die)" + + newbashcomp "${build_dir}"/btm.bash btm + + insinto /usr/share/fish/vendor_completions.d + doins "${build_dir}"/btm.fish + + insinto /usr/share/zsh/site-functions + doins "${build_dir}"/_btm + + local DOCS=( README.md ) + einstalldocs +} diff --git a/sys-process/bottom/bottom-0.10.1.ebuild b/sys-process/bottom/bottom-0.10.1.ebuild deleted file mode 100644 index 338d07e9e117..000000000000 --- a/sys-process/bottom/bottom-0.10.1.ebuild +++ /dev/null @@ -1,282 +0,0 @@ -# Copyright 2020-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - addr2line@0.22.0 - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - 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.86 - assert_cmd@2.0.15 - autocfg@1.3.0 - backtrace@0.3.73 - base64@0.22.1 - bitflags@1.3.2 - bitflags@2.6.0 - bottom@0.10.1 - bstr@1.10.0 - byteorder@1.5.0 - cargo-husky@1.5.0 - cassowary@0.3.0 - castaway@0.2.3 - cc@1.1.7 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - cfg_aliases@0.2.1 - clap@4.5.13 - clap_builder@4.5.13 - clap_complete@4.5.12 - clap_complete_fig@4.5.2 - clap_complete_nushell@4.5.3 - clap_derive@4.5.13 - clap_lex@0.7.2 - clap_mangen@0.2.23 - colorchoice@1.0.2 - compact_str@0.7.1 - concat-string@1.0.1 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.20 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - ctrlc@3.4.4 - darling@0.20.10 - darling_core@0.20.10 - darling_macro@0.20.10 - deranged@0.3.11 - difflib@0.4.0 - dirs-sys@0.4.1 - dirs@5.0.1 - doc-comment@0.3.3 - downcast-rs@1.2.1 - dyn-clone@1.0.17 - either@1.13.0 - enum-as-inner@0.6.0 - equivalent@1.0.1 - errno@0.3.9 - fern@0.6.2 - filedescriptor@0.8.2 - float-cmp@0.9.0 - fnv@1.0.7 - getrandom@0.2.15 - gimli@0.29.0 - hashbrown@0.14.5 - heck@0.4.1 - heck@0.5.0 - humantime@2.1.0 - ident_case@1.0.1 - indexmap@2.3.0 - indoc@2.0.5 - ioctl-rs@0.1.6 - is_terminal_polyfill@1.70.1 - itertools@0.13.0 - itoa@1.0.11 - lazy_static@1.5.0 - lazycell@1.3.0 - libc@0.2.155 - libloading@0.8.5 - libredox@0.1.3 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - lru@0.12.4 - mach2@0.4.2 - memchr@2.7.4 - memoffset@0.6.5 - miniz_oxide@0.7.4 - mio@0.8.11 - nix@0.25.1 - nix@0.28.0 - nix@0.29.0 - normalize-line-endings@0.3.0 - ntapi@0.4.1 - num-conv@0.1.0 - num-traits@0.2.19 - num_threads@0.1.7 - nvml-wrapper-sys@0.8.0 - nvml-wrapper@0.10.0 - object@0.36.2 - once_cell@1.19.0 - option-ext@0.2.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - paste@1.0.15 - pin-utils@0.1.0 - plist@1.7.0 - portable-pty@0.8.1 - powerfmt@0.2.0 - predicates-core@1.0.8 - predicates-tree@1.0.11 - predicates@3.1.2 - proc-macro2@1.0.86 - quick-xml@0.32.0 - quote@1.0.36 - ratatui@0.27.0 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.5.3 - redox_users@0.4.5 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.5 - roff@0.2.2 - rustc-demangle@0.1.24 - rustix@0.38.34 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - schemars@0.8.21 - schemars_derive@0.8.21 - scopeguard@1.2.0 - serde@1.0.204 - serde_derive@1.0.204 - serde_derive_internals@0.29.1 - serde_json@1.0.121 - serde_spanned@0.6.7 - serial-core@0.4.0 - serial-unix@0.4.0 - serial-windows@0.4.0 - serial@0.4.0 - shared_library@0.1.9 - shell-words@1.1.0 - signal-hook-mio@0.2.4 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - smallvec@1.13.2 - stability@0.2.1 - starship-battery@0.9.1 - static_assertions@1.1.0 - strsim@0.11.1 - strum@0.26.3 - strum_macros@0.26.4 - syn@2.0.72 - sysctl@0.5.5 - sysinfo@0.30.13 - terminal_size@0.3.0 - termios@0.2.2 - termtree@0.4.1 - thiserror-impl@1.0.63 - thiserror@1.0.63 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - toml_datetime@0.6.8 - toml_edit@0.22.20 - typenum@1.17.0 - unicode-ellipsis@0.2.0 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-truncate@1.1.0 - unicode-width@0.1.13 - uom@0.36.0 - utf8parse@0.2.2 - version_check@0.9.5 - wait-timeout@0.2.0 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-core@0.58.0 - windows-implement@0.58.0 - windows-interface@0.58.0 - windows-result@0.2.0 - windows-strings@0.1.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.6 - windows@0.52.0 - windows@0.58.0 - 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 - winnow@0.6.18 - winreg@0.10.1 - wrapcenum-derive@0.4.1 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit bash-completion-r1 cargo - -DESCRIPTION="A graphical process/system monitor with a customizable interface" -HOMEPAGE="https://github.com/ClementTsang/bottom" -SRC_URI="${CARGO_CRATE_URIS}" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0 ISC MIT MPL-2.0 Unicode-DFS-2016" -# cargo-husky-1.5.0 -LICENSE+=" MIT " -SLOT="0" -KEYWORDS="amd64 arm64 ppc64" -IUSE="+battery +gpu +zfs" - -# Rust packages ignore CFLAGS and LDFLAGS so let's silence the QA warnings -QA_FLAGS_IGNORED="usr/bin/btm" - -src_prepare() { - # Stripping symbols should be the choice of the user. - sed -i '/strip = "symbols"/d' Cargo.toml || die "Unable to patch out symbol stripping" - - default -} - -src_configure() { - local myfeatures=( - $(usev battery) - $(usev gpu) - $(usev zfs) - ) - - # This will turn on generation of shell completion scripts - export BTM_GENERATE=true - - # https://github.com/ClementTsang/bottom/blob/bacaca5548c2b23d261ef961ee6584b609529567/Cargo.toml#L63 - # fern and log features are for debugging only, so disable default features - cargo_src_configure $(usev !debug --no-default-features) -} - -src_install() { - cargo_src_install - - # Find generated shell completion files. btm.bash can be present in multiple dirs if we build - # additional features, so grab the first match only. - local build_dir="$(dirname $(find target -name btm.bash -print -quit || die) || die)" - - newbashcomp "${build_dir}"/btm.bash btm - - insinto /usr/share/fish/vendor_completions.d - doins "${build_dir}"/btm.fish - - insinto /usr/share/zsh/site-functions - doins "${build_dir}"/_btm - - local DOCS=( README.md ) - einstalldocs -} diff --git a/sys-process/bottom/bottom-0.10.2-r1.ebuild b/sys-process/bottom/bottom-0.10.2-r1.ebuild new file mode 100644 index 000000000000..abd96a27fc25 --- /dev/null +++ b/sys-process/bottom/bottom-0.10.2-r1.ebuild @@ -0,0 +1,280 @@ +# Copyright 2020-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + addr2line@0.22.0 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + 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.86 + assert_cmd@2.0.15 + autocfg@1.3.0 + backtrace@0.3.73 + base64@0.22.1 + bitflags@1.3.2 + bitflags@2.6.0 + bstr@1.10.0 + byteorder@1.5.0 + cargo-husky@1.5.0 + cassowary@0.3.0 + castaway@0.2.3 + cc@1.1.7 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cfg_aliases@0.2.1 + clap@4.5.13 + clap_builder@4.5.13 + clap_complete@4.5.12 + clap_complete_fig@4.5.2 + clap_complete_nushell@4.5.3 + clap_derive@4.5.13 + clap_lex@0.7.2 + clap_mangen@0.2.23 + colorchoice@1.0.2 + compact_str@0.7.1 + concat-string@1.0.1 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-utils@0.8.20 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + ctrlc@3.4.4 + darling@0.20.10 + darling_core@0.20.10 + darling_macro@0.20.10 + deranged@0.3.11 + difflib@0.4.0 + dirs-sys@0.4.1 + dirs@5.0.1 + doc-comment@0.3.3 + downcast-rs@1.2.1 + dyn-clone@1.0.17 + either@1.13.0 + enum-as-inner@0.6.0 + equivalent@1.0.1 + errno@0.3.9 + fern@0.6.2 + filedescriptor@0.8.2 + float-cmp@0.9.0 + fnv@1.0.7 + getrandom@0.2.15 + gimli@0.29.0 + hashbrown@0.14.5 + heck@0.4.1 + heck@0.5.0 + humantime@2.1.0 + ident_case@1.0.1 + indexmap@2.3.0 + indoc@2.0.5 + ioctl-rs@0.1.6 + is_terminal_polyfill@1.70.1 + itertools@0.13.0 + itoa@1.0.11 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.155 + libloading@0.8.5 + libredox@0.1.3 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + lru@0.12.4 + mach2@0.4.2 + memchr@2.7.4 + memoffset@0.6.5 + miniz_oxide@0.7.4 + mio@0.8.11 + nix@0.25.1 + nix@0.28.0 + nix@0.29.0 + normalize-line-endings@0.3.0 + ntapi@0.4.1 + num-conv@0.1.0 + num-traits@0.2.19 + num_threads@0.1.7 + nvml-wrapper-sys@0.8.0 + nvml-wrapper@0.10.0 + object@0.36.2 + once_cell@1.19.0 + option-ext@0.2.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + paste@1.0.15 + pin-utils@0.1.0 + plist@1.7.0 + portable-pty@0.8.1 + powerfmt@0.2.0 + predicates-core@1.0.8 + predicates-tree@1.0.11 + predicates@3.1.2 + proc-macro2@1.0.86 + quick-xml@0.32.0 + quote@1.0.36 + ratatui@0.27.0 + rayon-core@1.12.1 + rayon@1.10.0 + redox_syscall@0.5.3 + redox_users@0.4.5 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + roff@0.2.2 + rustc-demangle@0.1.24 + rustix@0.38.34 + rustversion@1.0.17 + ryu@1.0.18 + same-file@1.0.6 + schemars@0.8.21 + schemars_derive@0.8.21 + scopeguard@1.2.0 + serde@1.0.204 + serde_derive@1.0.204 + serde_derive_internals@0.29.1 + serde_json@1.0.121 + serde_spanned@0.6.7 + serial-core@0.4.0 + serial-unix@0.4.0 + serial-windows@0.4.0 + serial@0.4.0 + shared_library@0.1.9 + shell-words@1.1.0 + signal-hook-mio@0.2.4 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + smallvec@1.13.2 + stability@0.2.1 + starship-battery@0.9.1 + static_assertions@1.1.0 + strsim@0.11.1 + strum@0.26.3 + strum_macros@0.26.4 + syn@2.0.72 + sysctl@0.5.5 + sysinfo@0.30.13 + terminal_size@0.3.0 + termios@0.2.2 + termtree@0.4.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + time-core@0.1.2 + time-macros@0.2.18 + time@0.3.36 + toml_datetime@0.6.8 + toml_edit@0.22.20 + typenum@1.17.0 + unicode-ellipsis@0.2.0 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-truncate@1.1.0 + unicode-width@0.1.13 + uom@0.36.0 + utf8parse@0.2.2 + version_check@0.9.5 + wait-timeout@0.2.0 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-core@0.52.0 + windows-core@0.58.0 + windows-implement@0.58.0 + windows-interface@0.58.0 + windows-result@0.2.0 + windows-strings@0.1.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows@0.52.0 + windows@0.58.0 + 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 + winnow@0.6.18 + winreg@0.10.1 + wrapcenum-derive@0.4.1 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +inherit cargo shell-completion + +DESCRIPTION="A graphical process/system monitor with a customizable interface" +HOMEPAGE="https://github.com/ClementTsang/bottom" +SRC_URI=" + https://github.com/ClementTsang/bottom/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 ISC MIT MPL-2.0 Unicode-DFS-2016" +# cargo-husky-1.5.0 +LICENSE+=" MIT " +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc64" +IUSE="+battery +gpu +zfs" + +# Rust packages ignore CFLAGS and LDFLAGS so let's silence the QA warnings +QA_FLAGS_IGNORED="usr/bin/btm" + +src_prepare() { + # Stripping symbols should be the choice of the user. + sed -i '/strip = "symbols"/d' Cargo.toml || die "Unable to patch out symbol stripping" + + default +} + +src_configure() { + local myfeatures=( + $(usev battery) + $(usev gpu) + $(usev zfs) + ) + + # This will turn on generation of shell completion scripts + export BTM_GENERATE=true + + # https://github.com/ClementTsang/bottom/blob/bacaca5548c2b23d261ef961ee6584b609529567/Cargo.toml#L63 + # fern and log features are for debugging only, so disable default features + cargo_src_configure $(usev !debug --no-default-features) +} + +src_install() { + cargo_src_install + + pushd target/tmp/bottom/completion > /dev/null || die + newbashcomp btm.bash btm + dofishcomp btm.fish + dozshcomp _btm + popd > /dev/null || die + + doman target/tmp/bottom/manpage/btm.1 + + local DOCS=( README.md ) + einstalldocs +} diff --git a/sys-process/bottom/bottom-0.10.2.ebuild b/sys-process/bottom/bottom-0.10.2.ebuild deleted file mode 100644 index abd96a27fc25..000000000000 --- a/sys-process/bottom/bottom-0.10.2.ebuild +++ /dev/null @@ -1,280 +0,0 @@ -# Copyright 2020-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -CRATES=" - addr2line@0.22.0 - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - 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.86 - assert_cmd@2.0.15 - autocfg@1.3.0 - backtrace@0.3.73 - base64@0.22.1 - bitflags@1.3.2 - bitflags@2.6.0 - bstr@1.10.0 - byteorder@1.5.0 - cargo-husky@1.5.0 - cassowary@0.3.0 - castaway@0.2.3 - cc@1.1.7 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - cfg_aliases@0.2.1 - clap@4.5.13 - clap_builder@4.5.13 - clap_complete@4.5.12 - clap_complete_fig@4.5.2 - clap_complete_nushell@4.5.3 - clap_derive@4.5.13 - clap_lex@0.7.2 - clap_mangen@0.2.23 - colorchoice@1.0.2 - compact_str@0.7.1 - concat-string@1.0.1 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-utils@0.8.20 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - ctrlc@3.4.4 - darling@0.20.10 - darling_core@0.20.10 - darling_macro@0.20.10 - deranged@0.3.11 - difflib@0.4.0 - dirs-sys@0.4.1 - dirs@5.0.1 - doc-comment@0.3.3 - downcast-rs@1.2.1 - dyn-clone@1.0.17 - either@1.13.0 - enum-as-inner@0.6.0 - equivalent@1.0.1 - errno@0.3.9 - fern@0.6.2 - filedescriptor@0.8.2 - float-cmp@0.9.0 - fnv@1.0.7 - getrandom@0.2.15 - gimli@0.29.0 - hashbrown@0.14.5 - heck@0.4.1 - heck@0.5.0 - humantime@2.1.0 - ident_case@1.0.1 - indexmap@2.3.0 - indoc@2.0.5 - ioctl-rs@0.1.6 - is_terminal_polyfill@1.70.1 - itertools@0.13.0 - itoa@1.0.11 - lazy_static@1.5.0 - lazycell@1.3.0 - libc@0.2.155 - libloading@0.8.5 - libredox@0.1.3 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - lru@0.12.4 - mach2@0.4.2 - memchr@2.7.4 - memoffset@0.6.5 - miniz_oxide@0.7.4 - mio@0.8.11 - nix@0.25.1 - nix@0.28.0 - nix@0.29.0 - normalize-line-endings@0.3.0 - ntapi@0.4.1 - num-conv@0.1.0 - num-traits@0.2.19 - num_threads@0.1.7 - nvml-wrapper-sys@0.8.0 - nvml-wrapper@0.10.0 - object@0.36.2 - once_cell@1.19.0 - option-ext@0.2.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - paste@1.0.15 - pin-utils@0.1.0 - plist@1.7.0 - portable-pty@0.8.1 - powerfmt@0.2.0 - predicates-core@1.0.8 - predicates-tree@1.0.11 - predicates@3.1.2 - proc-macro2@1.0.86 - quick-xml@0.32.0 - quote@1.0.36 - ratatui@0.27.0 - rayon-core@1.12.1 - rayon@1.10.0 - redox_syscall@0.5.3 - redox_users@0.4.5 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.5 - roff@0.2.2 - rustc-demangle@0.1.24 - rustix@0.38.34 - rustversion@1.0.17 - ryu@1.0.18 - same-file@1.0.6 - schemars@0.8.21 - schemars_derive@0.8.21 - scopeguard@1.2.0 - serde@1.0.204 - serde_derive@1.0.204 - serde_derive_internals@0.29.1 - serde_json@1.0.121 - serde_spanned@0.6.7 - serial-core@0.4.0 - serial-unix@0.4.0 - serial-windows@0.4.0 - serial@0.4.0 - shared_library@0.1.9 - shell-words@1.1.0 - signal-hook-mio@0.2.4 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - smallvec@1.13.2 - stability@0.2.1 - starship-battery@0.9.1 - static_assertions@1.1.0 - strsim@0.11.1 - strum@0.26.3 - strum_macros@0.26.4 - syn@2.0.72 - sysctl@0.5.5 - sysinfo@0.30.13 - terminal_size@0.3.0 - termios@0.2.2 - termtree@0.4.1 - thiserror-impl@1.0.63 - thiserror@1.0.63 - time-core@0.1.2 - time-macros@0.2.18 - time@0.3.36 - toml_datetime@0.6.8 - toml_edit@0.22.20 - typenum@1.17.0 - unicode-ellipsis@0.2.0 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-truncate@1.1.0 - unicode-width@0.1.13 - uom@0.36.0 - utf8parse@0.2.2 - version_check@0.9.5 - wait-timeout@0.2.0 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-core@0.52.0 - windows-core@0.58.0 - windows-implement@0.58.0 - windows-interface@0.58.0 - windows-result@0.2.0 - windows-strings@0.1.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.48.5 - windows-targets@0.52.6 - windows@0.52.0 - windows@0.58.0 - 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 - winnow@0.6.18 - winreg@0.10.1 - wrapcenum-derive@0.4.1 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -inherit cargo shell-completion - -DESCRIPTION="A graphical process/system monitor with a customizable interface" -HOMEPAGE="https://github.com/ClementTsang/bottom" -SRC_URI=" - https://github.com/ClementTsang/bottom/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -LICENSE+=" Apache-2.0 ISC MIT MPL-2.0 Unicode-DFS-2016" -# cargo-husky-1.5.0 -LICENSE+=" MIT " -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64" -IUSE="+battery +gpu +zfs" - -# Rust packages ignore CFLAGS and LDFLAGS so let's silence the QA warnings -QA_FLAGS_IGNORED="usr/bin/btm" - -src_prepare() { - # Stripping symbols should be the choice of the user. - sed -i '/strip = "symbols"/d' Cargo.toml || die "Unable to patch out symbol stripping" - - default -} - -src_configure() { - local myfeatures=( - $(usev battery) - $(usev gpu) - $(usev zfs) - ) - - # This will turn on generation of shell completion scripts - export BTM_GENERATE=true - - # https://github.com/ClementTsang/bottom/blob/bacaca5548c2b23d261ef961ee6584b609529567/Cargo.toml#L63 - # fern and log features are for debugging only, so disable default features - cargo_src_configure $(usev !debug --no-default-features) -} - -src_install() { - cargo_src_install - - pushd target/tmp/bottom/completion > /dev/null || die - newbashcomp btm.bash btm - dofishcomp btm.fish - dozshcomp _btm - popd > /dev/null || die - - doman target/tmp/bottom/manpage/btm.1 - - local DOCS=( README.md ) - einstalldocs -} diff --git a/sys-process/procs/procs-0.14.5-r1.ebuild b/sys-process/procs/procs-0.14.5-r1.ebuild new file mode 100644 index 000000000000..8d16de417fa8 --- /dev/null +++ b/sys-process/procs/procs-0.14.5-r1.ebuild @@ -0,0 +1,321 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.6.3 + +EAPI=8 + +CRATES=" + addr2line@0.21.0 + adler@1.0.2 + ahash@0.7.7 + aho-corasick@1.1.2 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anstream@0.6.5 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anstyle@1.0.4 + anyhow@1.0.80 + arrayvec@0.7.4 + async-channel@1.9.0 + async-channel@2.1.1 + async-executor@1.8.0 + async-global-executor@2.4.1 + async-io@1.13.0 + async-io@2.2.2 + async-lock@2.8.0 + async-lock@3.3.0 + async-std@1.12.0 + async-stream-impl@0.3.5 + async-stream@0.3.5 + async-task@4.7.0 + async-trait@0.1.77 + atomic-waker@1.1.2 + autocfg@1.1.0 + backtrace@0.3.69 + base64@0.21.6 + bindgen@0.65.1 + bindgen@0.68.1 + bitflags@1.3.2 + bitflags@2.4.1 + bitvec@1.0.1 + blocking@1.5.1 + borsh-derive@1.3.0 + borsh@1.3.0 + bsd-kvm-sys@0.2.0 + bsd-kvm@0.1.5 + bumpalo@3.14.0 + byte-unit@5.1.4 + bytecheck@0.6.11 + bytecheck_derive@0.6.11 + byteorder@1.5.0 + bytes@1.5.0 + cc@1.0.83 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + chrono@0.4.35 + clang-sys@1.7.0 + clap@4.4.14 + clap_builder@4.4.14 + clap_complete@4.4.6 + clap_derive@4.4.7 + clap_lex@0.6.0 + colorchoice@1.0.0 + concurrent-queue@2.4.0 + console@0.15.8 + core-foundation-sys@0.8.6 + crc32fast@1.3.2 + crossbeam-channel@0.5.11 + crossbeam-utils@0.8.19 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + directories@5.0.1 + dirs-sys@0.4.1 + dirs@5.0.1 + dockworker@0.5.0 + either@1.9.0 + encode_unicode@0.3.6 + equivalent@1.0.1 + errno-dragonfly@0.1.2 + errno@0.2.8 + errno@0.3.8 + event-listener-strategy@0.4.0 + event-listener@2.5.3 + event-listener@4.0.3 + fastrand@1.9.0 + fastrand@2.0.1 + filetime@0.2.23 + flate2@1.0.28 + fnv@1.0.7 + form_urlencoded@1.2.1 + funty@2.0.0 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-io@0.3.30 + futures-lite@1.13.0 + futures-lite@2.2.0 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + getch@0.3.1 + getrandom@0.2.12 + gimli@0.28.1 + glob@0.3.1 + gloo-timers@0.2.6 + hashbrown@0.12.3 + hashbrown@0.14.3 + heck@0.4.1 + hermit-abi@0.3.3 + hex@0.4.3 + home@0.5.9 + http-body@0.4.6 + http@0.2.11 + httparse@1.8.0 + httpdate@1.0.3 + hyper@0.14.28 + hyperlocal@0.8.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.59 + idna@0.5.0 + indexmap@2.1.0 + instant@0.1.12 + io-lifetimes@1.0.11 + is-terminal@0.4.10 + itoa@1.0.10 + js-sys@0.3.66 + kv-log-macro@1.0.7 + lazy_static@1.4.0 + lazycell@1.3.0 + libc@0.2.153 + libloading@0.8.1 + libproc@0.14.2 + libredox@0.0.1 + linux-raw-sys@0.3.8 + linux-raw-sys@0.4.12 + lock_api@0.4.11 + log@0.4.20 + memchr@2.7.1 + memoffset@0.7.1 + minimal-lexical@0.2.1 + miniz_oxide@0.7.1 + minus@5.5.3 + mio@0.8.11 + named_pipe@0.4.1 + nix@0.26.4 + nix@0.28.0 + nom@7.1.3 + num-traits@0.2.17 + num_cpus@1.16.0 + object@0.32.2 + once_cell@1.19.0 + option-ext@0.2.0 + pager@0.16.1 + parking@2.2.0 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + peeking_take_while@0.1.2 + percent-encoding@2.3.1 + pin-project-internal@1.1.3 + pin-project-lite@0.2.13 + pin-project@1.1.3 + pin-utils@0.1.0 + piper@0.2.1 + polling@2.8.0 + polling@3.3.1 + ppv-lite86@0.2.17 + prettyplease@0.2.16 + proc-macro-crate@2.0.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.76 + procfs-core@0.16.0 + procfs@0.16.0 + ptr_meta@0.1.4 + ptr_meta_derive@0.1.4 + quote@1.0.35 + radium@0.7.0 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.4.1 + redox_users@0.4.4 + regex-automata@0.4.4 + regex-syntax@0.8.2 + regex@1.10.3 + rend@0.4.1 + rkyv@0.7.43 + rkyv_derive@0.7.43 + rust_decimal@1.33.1 + rustc-demangle@0.1.23 + rustc-hash@1.1.0 + rustix@0.37.27 + rustix@0.38.30 + ryu@1.0.16 + scopeguard@1.2.0 + seahash@4.1.0 + serde@1.0.197 + serde_derive@1.0.197 + serde_json@1.0.111 + serde_spanned@0.6.5 + shlex@1.3.0 + signal-hook-mio@0.2.3 + signal-hook-registry@1.4.1 + signal-hook@0.3.17 + simdutf8@0.1.4 + slab@0.4.9 + smallvec@1.11.2 + socket2@0.4.10 + socket2@0.5.5 + strsim@0.10.0 + syn@1.0.109 + syn@2.0.48 + syn_derive@0.1.8 + tap@1.0.1 + tar@0.4.40 + termbg@0.5.0 + termios@0.3.3 + textwrap@0.16.0 + thiserror-impl@1.0.56 + thiserror@1.0.56 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio-macros@2.2.0 + tokio-stream@0.1.14 + tokio-util@0.7.10 + tokio@1.36.0 + toml@0.8.10 + toml_datetime@0.6.5 + toml_edit@0.20.7 + toml_edit@0.22.4 + tower-service@0.3.2 + tracing-core@0.1.32 + tracing@0.1.40 + try-lock@0.2.5 + unicode-bidi@0.3.14 + unicode-ident@1.0.12 + unicode-normalization@0.1.22 + unicode-width@0.1.11 + url@2.5.0 + utf8-width@0.1.7 + utf8parse@0.2.1 + uuid@1.6.1 + uzers@0.11.3 + value-bag@1.6.0 + version_check@0.9.4 + waker-fn@1.1.1 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.89 + wasm-bindgen-futures@0.4.39 + wasm-bindgen-macro-support@0.2.89 + wasm-bindgen-macro@0.2.89 + wasm-bindgen-shared@0.2.89 + wasm-bindgen@0.2.89 + web-sys@0.3.66 + which@4.4.2 + which@6.0.0 + winapi-i686-pc-windows-gnu@0.4.0 + 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-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.33 + wyz@0.5.1 + xattr@1.2.0 +" + +RUST_MIN_VER="1.74.1" + +inherit bash-completion-r1 cargo + +DESCRIPTION="Modern replacement for ps" +HOMEPAGE="https://github.com/dalance/procs" +SRC_URI=" + https://github.com/dalance/procs/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64" + +QA_FLAGS_IGNORED="usr/bin/procs" + +src_install() { + cargo_src_install + + "$(cargo_target_dir)"/procs --gen-completion bash || die + newbashcomp procs.bash procs + + "$(cargo_target_dir)"/procs --gen-completion zsh || die + insinto /usr/share/zsh/site-functions + doins _procs + + "$(cargo_target_dir)"/procs --gen-completion fish || die + insinto /usr/share/fish/vendor_completions.d + doins procs.fish +} diff --git a/sys-process/procs/procs-0.14.5.ebuild b/sys-process/procs/procs-0.14.5.ebuild deleted file mode 100644 index 5447e7e7fc4c..000000000000 --- a/sys-process/procs/procs-0.14.5.ebuild +++ /dev/null @@ -1,321 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.6.3 - -EAPI=8 - -CRATES=" - addr2line@0.21.0 - adler@1.0.2 - ahash@0.7.7 - aho-corasick@1.1.2 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anstream@0.6.5 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anstyle@1.0.4 - anyhow@1.0.80 - arrayvec@0.7.4 - async-channel@1.9.0 - async-channel@2.1.1 - async-executor@1.8.0 - async-global-executor@2.4.1 - async-io@1.13.0 - async-io@2.2.2 - async-lock@2.8.0 - async-lock@3.3.0 - async-std@1.12.0 - async-stream-impl@0.3.5 - async-stream@0.3.5 - async-task@4.7.0 - async-trait@0.1.77 - atomic-waker@1.1.2 - autocfg@1.1.0 - backtrace@0.3.69 - base64@0.21.6 - bindgen@0.65.1 - bindgen@0.68.1 - bitflags@1.3.2 - bitflags@2.4.1 - bitvec@1.0.1 - blocking@1.5.1 - borsh-derive@1.3.0 - borsh@1.3.0 - bsd-kvm-sys@0.2.0 - bsd-kvm@0.1.5 - bumpalo@3.14.0 - byte-unit@5.1.4 - bytecheck@0.6.11 - bytecheck_derive@0.6.11 - byteorder@1.5.0 - bytes@1.5.0 - cc@1.0.83 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - chrono@0.4.35 - clang-sys@1.7.0 - clap@4.4.14 - clap_builder@4.4.14 - clap_complete@4.4.6 - clap_derive@4.4.7 - clap_lex@0.6.0 - colorchoice@1.0.0 - concurrent-queue@2.4.0 - console@0.15.8 - core-foundation-sys@0.8.6 - crc32fast@1.3.2 - crossbeam-channel@0.5.11 - crossbeam-utils@0.8.19 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - directories@5.0.1 - dirs-sys@0.4.1 - dirs@5.0.1 - dockworker@0.5.0 - either@1.9.0 - encode_unicode@0.3.6 - equivalent@1.0.1 - errno-dragonfly@0.1.2 - errno@0.2.8 - errno@0.3.8 - event-listener-strategy@0.4.0 - event-listener@2.5.3 - event-listener@4.0.3 - fastrand@1.9.0 - fastrand@2.0.1 - filetime@0.2.23 - flate2@1.0.28 - fnv@1.0.7 - form_urlencoded@1.2.1 - funty@2.0.0 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-io@0.3.30 - futures-lite@1.13.0 - futures-lite@2.2.0 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - getch@0.3.1 - getrandom@0.2.12 - gimli@0.28.1 - glob@0.3.1 - gloo-timers@0.2.6 - hashbrown@0.12.3 - hashbrown@0.14.3 - heck@0.4.1 - hermit-abi@0.3.3 - hex@0.4.3 - home@0.5.9 - http-body@0.4.6 - http@0.2.11 - httparse@1.8.0 - httpdate@1.0.3 - hyper@0.14.28 - hyperlocal@0.8.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.59 - idna@0.5.0 - indexmap@2.1.0 - instant@0.1.12 - io-lifetimes@1.0.11 - is-terminal@0.4.10 - itoa@1.0.10 - js-sys@0.3.66 - kv-log-macro@1.0.7 - lazy_static@1.4.0 - lazycell@1.3.0 - libc@0.2.153 - libloading@0.8.1 - libproc@0.14.2 - libredox@0.0.1 - linux-raw-sys@0.3.8 - linux-raw-sys@0.4.12 - lock_api@0.4.11 - log@0.4.20 - memchr@2.7.1 - memoffset@0.7.1 - minimal-lexical@0.2.1 - miniz_oxide@0.7.1 - minus@5.5.3 - mio@0.8.11 - named_pipe@0.4.1 - nix@0.26.4 - nix@0.28.0 - nom@7.1.3 - num-traits@0.2.17 - num_cpus@1.16.0 - object@0.32.2 - once_cell@1.19.0 - option-ext@0.2.0 - pager@0.16.1 - parking@2.2.0 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - peeking_take_while@0.1.2 - percent-encoding@2.3.1 - pin-project-internal@1.1.3 - pin-project-lite@0.2.13 - pin-project@1.1.3 - pin-utils@0.1.0 - piper@0.2.1 - polling@2.8.0 - polling@3.3.1 - ppv-lite86@0.2.17 - prettyplease@0.2.16 - proc-macro-crate@2.0.0 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.76 - procfs-core@0.16.0 - procfs@0.16.0 - ptr_meta@0.1.4 - ptr_meta_derive@0.1.4 - quote@1.0.35 - radium@0.7.0 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redox_syscall@0.4.1 - redox_users@0.4.4 - regex-automata@0.4.4 - regex-syntax@0.8.2 - regex@1.10.3 - rend@0.4.1 - rkyv@0.7.43 - rkyv_derive@0.7.43 - rust_decimal@1.33.1 - rustc-demangle@0.1.23 - rustc-hash@1.1.0 - rustix@0.37.27 - rustix@0.38.30 - ryu@1.0.16 - scopeguard@1.2.0 - seahash@4.1.0 - serde@1.0.197 - serde_derive@1.0.197 - serde_json@1.0.111 - serde_spanned@0.6.5 - shlex@1.3.0 - signal-hook-mio@0.2.3 - signal-hook-registry@1.4.1 - signal-hook@0.3.17 - simdutf8@0.1.4 - slab@0.4.9 - smallvec@1.11.2 - socket2@0.4.10 - socket2@0.5.5 - strsim@0.10.0 - syn@1.0.109 - syn@2.0.48 - syn_derive@0.1.8 - tap@1.0.1 - tar@0.4.40 - termbg@0.5.0 - termios@0.3.3 - textwrap@0.16.0 - thiserror-impl@1.0.56 - thiserror@1.0.56 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tokio-macros@2.2.0 - tokio-stream@0.1.14 - tokio-util@0.7.10 - tokio@1.36.0 - toml@0.8.10 - toml_datetime@0.6.5 - toml_edit@0.20.7 - toml_edit@0.22.4 - tower-service@0.3.2 - tracing-core@0.1.32 - tracing@0.1.40 - try-lock@0.2.5 - unicode-bidi@0.3.14 - unicode-ident@1.0.12 - unicode-normalization@0.1.22 - unicode-width@0.1.11 - url@2.5.0 - utf8-width@0.1.7 - utf8parse@0.2.1 - uuid@1.6.1 - uzers@0.11.3 - value-bag@1.6.0 - version_check@0.9.4 - waker-fn@1.1.1 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.89 - wasm-bindgen-futures@0.4.39 - wasm-bindgen-macro-support@0.2.89 - wasm-bindgen-macro@0.2.89 - wasm-bindgen-shared@0.2.89 - wasm-bindgen@0.2.89 - web-sys@0.3.66 - which@4.4.2 - which@6.0.0 - winapi-i686-pc-windows-gnu@0.4.0 - 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-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.33 - wyz@0.5.1 - xattr@1.2.0 -" - -inherit bash-completion-r1 cargo - -DESCRIPTION="Modern replacement for ps" -HOMEPAGE="https://github.com/dalance/procs" -SRC_URI=" - https://github.com/dalance/procs/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -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() { - cargo_src_install - - "$(cargo_target_dir)"/procs --gen-completion bash || die - newbashcomp procs.bash procs - - "$(cargo_target_dir)"/procs --gen-completion zsh || die - insinto /usr/share/zsh/site-functions - doins _procs - - "$(cargo_target_dir)"/procs --gen-completion fish || die - insinto /usr/share/fish/vendor_completions.d - doins procs.fish -} diff --git a/sys-process/procs/procs-0.14.6-r1.ebuild b/sys-process/procs/procs-0.14.6-r1.ebuild new file mode 100644 index 000000000000..b36f1a0b3945 --- /dev/null +++ b/sys-process/procs/procs-0.14.6-r1.ebuild @@ -0,0 +1,328 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.6.3 + +EAPI=8 + +CRATES=" + addr2line@0.22.0 + adler@1.0.2 + ahash@0.7.8 + 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.86 + arrayvec@0.7.4 + async-channel@1.9.0 + async-channel@2.3.1 + async-executor@1.13.0 + async-global-executor@2.4.1 + async-io@1.13.0 + async-io@2.3.3 + async-lock@2.8.0 + async-lock@3.4.0 + async-std@1.12.0 + async-stream-impl@0.3.5 + async-stream@0.3.5 + async-task@4.7.1 + async-trait@0.1.81 + atomic-waker@1.1.2 + autocfg@1.3.0 + backtrace@0.3.73 + base64@0.21.7 + bindgen@0.65.1 + bindgen@0.69.4 + bitflags@1.3.2 + bitflags@2.6.0 + bitvec@1.0.1 + blocking@1.6.1 + borsh-derive@1.5.1 + borsh@1.5.1 + bsd-kvm-sys@0.2.0 + bsd-kvm@0.1.5 + bumpalo@3.16.0 + byte-unit@5.1.4 + bytecheck@0.6.12 + bytecheck_derive@0.6.12 + byteorder@1.5.0 + bytes@1.6.1 + cc@1.1.7 + cexpr@0.6.0 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + chrono@0.4.38 + clang-sys@1.8.1 + clap@4.5.11 + clap_builder@4.5.11 + clap_complete@4.5.11 + clap_derive@4.5.11 + clap_lex@0.7.2 + colorchoice@1.0.2 + concurrent-queue@2.5.0 + console@0.15.8 + core-foundation-sys@0.8.6 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-utils@0.8.20 + crossterm@0.27.0 + crossterm_winapi@0.9.1 + directories@5.0.1 + dirs-sys@0.4.1 + dirs@5.0.1 + dockworker@0.5.1 + either@1.13.0 + encode_unicode@0.3.6 + equivalent@1.0.1 + errno-dragonfly@0.1.2 + errno@0.2.8 + errno@0.3.9 + event-listener-strategy@0.5.2 + event-listener@2.5.3 + event-listener@5.3.1 + fastrand@1.9.0 + fastrand@2.1.0 + filetime@0.2.23 + flate2@1.0.30 + fnv@1.0.7 + form_urlencoded@1.2.1 + funty@2.0.0 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-io@0.3.30 + futures-lite@1.13.0 + futures-lite@2.3.0 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + getch@0.3.1 + getrandom@0.2.15 + gimli@0.29.0 + glob@0.3.1 + gloo-timers@0.2.6 + hashbrown@0.12.3 + hashbrown@0.14.5 + heck@0.5.0 + hermit-abi@0.3.9 + hermit-abi@0.4.0 + hex@0.4.3 + home@0.5.9 + http-body@0.4.6 + http@0.2.12 + httparse@1.9.4 + httpdate@1.0.3 + hyper@0.14.30 + hyperlocal@0.8.0 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + idna@0.5.0 + indexmap@2.2.6 + instant@0.1.13 + io-lifetimes@1.0.11 + is-terminal@0.4.12 + is_terminal_polyfill@1.70.1 + itertools@0.12.1 + itoa@1.0.11 + js-sys@0.3.69 + kv-log-macro@1.0.7 + lazy_static@1.5.0 + lazycell@1.3.0 + libc@0.2.155 + libloading@0.8.5 + libproc@0.14.8 + libredox@0.1.3 + linux-raw-sys@0.3.8 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + memchr@2.7.4 + memoffset@0.7.1 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + minus@5.6.1 + mio@0.8.11 + mio@1.0.1 + named_pipe@0.4.1 + nix@0.26.4 + nix@0.29.0 + nom@7.1.3 + num-traits@0.2.19 + object@0.36.2 + once_cell@1.19.0 + option-ext@0.2.0 + pager@0.16.1 + parking@2.2.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + peeking_take_while@0.1.2 + percent-encoding@2.3.1 + pin-project-internal@1.1.5 + pin-project-lite@0.2.14 + pin-project@1.1.5 + pin-utils@0.1.0 + piper@0.2.3 + polling@2.8.0 + polling@3.7.2 + ppv-lite86@0.2.17 + prettyplease@0.2.20 + proc-macro-crate@3.1.0 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.86 + procfs-core@0.16.0 + procfs@0.16.0 + ptr_meta@0.1.4 + ptr_meta_derive@0.1.4 + quote@1.0.36 + radium@0.7.0 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redox_syscall@0.4.1 + redox_syscall@0.5.3 + redox_users@0.4.5 + regex-automata@0.4.7 + regex-syntax@0.8.4 + regex@1.10.5 + rend@0.4.2 + rkyv@0.7.44 + rkyv_derive@0.7.44 + rust_decimal@1.35.0 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustix@0.37.27 + rustix@0.38.34 + ryu@1.0.18 + scopeguard@1.2.0 + seahash@4.1.0 + serde@1.0.204 + serde_derive@1.0.204 + serde_json@1.0.121 + serde_spanned@0.6.7 + shlex@1.3.0 + signal-hook-mio@0.2.4 + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + simdutf8@0.1.4 + slab@0.4.9 + smallvec@1.13.2 + socket2@0.4.10 + socket2@0.5.7 + strsim@0.11.1 + syn@1.0.109 + syn@2.0.72 + syn_derive@0.1.8 + tap@1.0.1 + tar@0.4.41 + termbg@0.5.0 + termios@0.3.3 + textwrap@0.16.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tokio-macros@2.4.0 + tokio-stream@0.1.15 + tokio-util@0.7.11 + tokio@1.39.2 + toml@0.8.16 + toml_datetime@0.6.7 + toml_edit@0.21.1 + toml_edit@0.22.17 + tower-service@0.3.2 + tracing-core@0.1.32 + tracing@0.1.40 + try-lock@0.2.5 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-normalization@0.1.23 + unicode-width@0.1.13 + url@2.5.2 + utf8-width@0.1.7 + utf8parse@0.2.2 + uuid@1.10.0 + uzers@0.12.0 + value-bag@1.9.0 + version_check@0.9.5 + waker-fn@1.2.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + which@4.4.2 + which@6.0.2 + winapi-i686-pc-windows-gnu@0.4.0 + 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-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 + winnow@0.5.40 + winnow@0.6.16 + winsafe@0.0.19 + wyz@0.5.1 + xattr@1.3.1 +" + +RUST_MIN_VER="1.74.1" + +inherit bash-completion-r1 cargo + +DESCRIPTION="Modern replacement for ps" +HOMEPAGE="https://github.com/dalance/procs" +SRC_URI=" + https://github.com/dalance/procs/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +LICENSE="MIT" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64 ~ppc64" + +QA_FLAGS_IGNORED="usr/bin/procs" + +src_install() { + cargo_src_install + + "$(cargo_target_dir)"/procs --gen-completion bash || die + newbashcomp procs.bash procs + + "$(cargo_target_dir)"/procs --gen-completion zsh || die + insinto /usr/share/zsh/site-functions + doins _procs + + "$(cargo_target_dir)"/procs --gen-completion fish || die + insinto /usr/share/fish/vendor_completions.d + doins procs.fish +} diff --git a/sys-process/procs/procs-0.14.6.ebuild b/sys-process/procs/procs-0.14.6.ebuild deleted file mode 100644 index cf8301a9d24c..000000000000 --- a/sys-process/procs/procs-0.14.6.ebuild +++ /dev/null @@ -1,328 +0,0 @@ -# Copyright 2023-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.6.3 - -EAPI=8 - -CRATES=" - addr2line@0.22.0 - adler@1.0.2 - ahash@0.7.8 - 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.86 - arrayvec@0.7.4 - async-channel@1.9.0 - async-channel@2.3.1 - async-executor@1.13.0 - async-global-executor@2.4.1 - async-io@1.13.0 - async-io@2.3.3 - async-lock@2.8.0 - async-lock@3.4.0 - async-std@1.12.0 - async-stream-impl@0.3.5 - async-stream@0.3.5 - async-task@4.7.1 - async-trait@0.1.81 - atomic-waker@1.1.2 - autocfg@1.3.0 - backtrace@0.3.73 - base64@0.21.7 - bindgen@0.65.1 - bindgen@0.69.4 - bitflags@1.3.2 - bitflags@2.6.0 - bitvec@1.0.1 - blocking@1.6.1 - borsh-derive@1.5.1 - borsh@1.5.1 - bsd-kvm-sys@0.2.0 - bsd-kvm@0.1.5 - bumpalo@3.16.0 - byte-unit@5.1.4 - bytecheck@0.6.12 - bytecheck_derive@0.6.12 - byteorder@1.5.0 - bytes@1.6.1 - cc@1.1.7 - cexpr@0.6.0 - cfg-if@1.0.0 - cfg_aliases@0.2.1 - chrono@0.4.38 - clang-sys@1.8.1 - clap@4.5.11 - clap_builder@4.5.11 - clap_complete@4.5.11 - clap_derive@4.5.11 - clap_lex@0.7.2 - colorchoice@1.0.2 - concurrent-queue@2.5.0 - console@0.15.8 - core-foundation-sys@0.8.6 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-utils@0.8.20 - crossterm@0.27.0 - crossterm_winapi@0.9.1 - directories@5.0.1 - dirs-sys@0.4.1 - dirs@5.0.1 - dockworker@0.5.1 - either@1.13.0 - encode_unicode@0.3.6 - equivalent@1.0.1 - errno-dragonfly@0.1.2 - errno@0.2.8 - errno@0.3.9 - event-listener-strategy@0.5.2 - event-listener@2.5.3 - event-listener@5.3.1 - fastrand@1.9.0 - fastrand@2.1.0 - filetime@0.2.23 - flate2@1.0.30 - fnv@1.0.7 - form_urlencoded@1.2.1 - funty@2.0.0 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-io@0.3.30 - futures-lite@1.13.0 - futures-lite@2.3.0 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - getch@0.3.1 - getrandom@0.2.15 - gimli@0.29.0 - glob@0.3.1 - gloo-timers@0.2.6 - hashbrown@0.12.3 - hashbrown@0.14.5 - heck@0.5.0 - hermit-abi@0.3.9 - hermit-abi@0.4.0 - hex@0.4.3 - home@0.5.9 - http-body@0.4.6 - http@0.2.12 - httparse@1.9.4 - httpdate@1.0.3 - hyper@0.14.30 - hyperlocal@0.8.0 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - idna@0.5.0 - indexmap@2.2.6 - instant@0.1.13 - io-lifetimes@1.0.11 - is-terminal@0.4.12 - is_terminal_polyfill@1.70.1 - itertools@0.12.1 - itoa@1.0.11 - js-sys@0.3.69 - kv-log-macro@1.0.7 - lazy_static@1.5.0 - lazycell@1.3.0 - libc@0.2.155 - libloading@0.8.5 - libproc@0.14.8 - libredox@0.1.3 - linux-raw-sys@0.3.8 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - memchr@2.7.4 - memoffset@0.7.1 - minimal-lexical@0.2.1 - miniz_oxide@0.7.4 - minus@5.6.1 - mio@0.8.11 - mio@1.0.1 - named_pipe@0.4.1 - nix@0.26.4 - nix@0.29.0 - nom@7.1.3 - num-traits@0.2.19 - object@0.36.2 - once_cell@1.19.0 - option-ext@0.2.0 - pager@0.16.1 - parking@2.2.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - peeking_take_while@0.1.2 - percent-encoding@2.3.1 - pin-project-internal@1.1.5 - pin-project-lite@0.2.14 - pin-project@1.1.5 - pin-utils@0.1.0 - piper@0.2.3 - polling@2.8.0 - polling@3.7.2 - ppv-lite86@0.2.17 - prettyplease@0.2.20 - proc-macro-crate@3.1.0 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.86 - procfs-core@0.16.0 - procfs@0.16.0 - ptr_meta@0.1.4 - ptr_meta_derive@0.1.4 - quote@1.0.36 - radium@0.7.0 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redox_syscall@0.4.1 - redox_syscall@0.5.3 - redox_users@0.4.5 - regex-automata@0.4.7 - regex-syntax@0.8.4 - regex@1.10.5 - rend@0.4.2 - rkyv@0.7.44 - rkyv_derive@0.7.44 - rust_decimal@1.35.0 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustix@0.37.27 - rustix@0.38.34 - ryu@1.0.18 - scopeguard@1.2.0 - seahash@4.1.0 - serde@1.0.204 - serde_derive@1.0.204 - serde_json@1.0.121 - serde_spanned@0.6.7 - shlex@1.3.0 - signal-hook-mio@0.2.4 - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - simdutf8@0.1.4 - slab@0.4.9 - smallvec@1.13.2 - socket2@0.4.10 - socket2@0.5.7 - strsim@0.11.1 - syn@1.0.109 - syn@2.0.72 - syn_derive@0.1.8 - tap@1.0.1 - tar@0.4.41 - termbg@0.5.0 - termios@0.3.3 - textwrap@0.16.1 - thiserror-impl@1.0.63 - thiserror@1.0.63 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - tokio-macros@2.4.0 - tokio-stream@0.1.15 - tokio-util@0.7.11 - tokio@1.39.2 - toml@0.8.16 - toml_datetime@0.6.7 - toml_edit@0.21.1 - toml_edit@0.22.17 - tower-service@0.3.2 - tracing-core@0.1.32 - tracing@0.1.40 - try-lock@0.2.5 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-normalization@0.1.23 - unicode-width@0.1.13 - url@2.5.2 - utf8-width@0.1.7 - utf8parse@0.2.2 - uuid@1.10.0 - uzers@0.12.0 - value-bag@1.9.0 - version_check@0.9.5 - waker-fn@1.2.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - which@4.4.2 - which@6.0.2 - winapi-i686-pc-windows-gnu@0.4.0 - 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-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 - winnow@0.5.40 - winnow@0.6.16 - winsafe@0.0.19 - wyz@0.5.1 - xattr@1.3.1 -" - -inherit bash-completion-r1 cargo - -DESCRIPTION="Modern replacement for ps" -HOMEPAGE="https://github.com/dalance/procs" -SRC_URI=" - https://github.com/dalance/procs/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -LICENSE="MIT" -# Dependent crate licenses -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() { - cargo_src_install - - "$(cargo_target_dir)"/procs --gen-completion bash || die - newbashcomp procs.bash procs - - "$(cargo_target_dir)"/procs --gen-completion zsh || die - insinto /usr/share/zsh/site-functions - doins _procs - - "$(cargo_target_dir)"/procs --gen-completion fish || die - insinto /usr/share/fish/vendor_completions.d - doins procs.fish -} diff --git a/www-apps/nextcloud-notify_push/nextcloud-notify_push-0.7.0-r1.ebuild b/www-apps/nextcloud-notify_push/nextcloud-notify_push-0.7.0-r1.ebuild new file mode 100644 index 000000000000..d5f61873f5fb --- /dev/null +++ b/www-apps/nextcloud-notify_push/nextcloud-notify_push-0.7.0-r1.ebuild @@ -0,0 +1,409 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Autogenerated by pycargoebuild 0.13.2 + +EAPI=8 + +CRATES=" + addr2line@0.22.0 + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + allocator-api2@0.2.18 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + ansi_term@0.12.1 + anstream@0.6.15 + anstyle-parse@0.2.5 + anstyle-query@1.1.1 + anstyle-wincon@3.0.4 + anstyle@1.0.8 + arc-swap@1.7.1 + async-stream-impl@0.3.5 + async-stream@0.3.5 + async-trait@0.1.81 + atoi@0.3.3 + atoi@2.0.0 + atty@0.2.14 + autocfg@1.3.0 + backtrace-ext@0.2.1 + backtrace@0.3.73 + base64@0.13.1 + base64@0.21.7 + base64@0.22.1 + base64ct@1.6.0 + beef@0.5.2 + bitflags@1.3.2 + bitflags@2.6.0 + block-buffer@0.10.4 + bumpalo@3.16.0 + byteorder@1.5.0 + bytes@1.6.1 + cc@1.1.6 + cfg-if@1.0.0 + chrono@0.4.38 + clap@2.34.0 + clap@4.5.11 + clap_builder@4.5.11 + clap_derive@4.5.11 + clap_lex@0.7.2 + colorchoice@1.0.2 + combine@4.6.7 + concurrent-queue@2.5.0 + const-oid@0.9.6 + core-foundation-sys@0.8.6 + cpufeatures@0.2.12 + crc-catalog@2.4.0 + crc16@0.4.0 + crc32fast@1.4.2 + crc@3.2.1 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.20 + crypto-common@0.1.6 + dashmap@6.0.1 + data-encoding@2.6.0 + der@0.7.9 + derivative@2.2.0 + digest@0.10.7 + dotenvy@0.15.7 + either@1.13.0 + encoding_rs@0.8.34 + equivalent@1.0.1 + errno@0.3.9 + etcetera@0.8.0 + event-listener@5.3.1 + fastrand@2.1.0 + flate2@1.0.30 + flexi_logger@0.28.5 + flume@0.11.0 + fnv@1.0.7 + form_urlencoded@1.2.1 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-intrusive@0.5.0 + futures-io@0.3.30 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-util@0.3.30 + futures@0.3.30 + generic-array@0.14.7 + getrandom@0.2.15 + gimli@0.29.0 + glob@0.3.1 + h2@0.3.26 + hashbrown@0.14.5 + hashlink@0.9.1 + headers-core@0.2.0 + headers@0.3.9 + heck@0.3.3 + heck@0.5.0 + hermit-abi@0.1.19 + hermit-abi@0.3.9 + hex@0.4.3 + hkdf@0.12.4 + hmac@0.12.1 + home@0.5.9 + http-auth-basic@0.3.3 + http-body-util@0.1.2 + http-body@0.4.6 + http-body@1.0.1 + http@0.2.12 + http@1.1.0 + httparse@1.9.4 + httpdate@1.0.3 + hyper-rustls@0.27.2 + hyper-util@0.1.6 + hyper@0.14.30 + hyper@1.4.1 + iana-time-zone-haiku@0.1.2 + iana-time-zone@0.1.60 + idna@0.5.0 + indexmap@2.2.6 + ipnet@2.9.0 + is_ci@1.2.0 + is_terminal_polyfill@1.70.1 + itoa@1.0.11 + js-sys@0.3.69 + lazy_static@1.5.0 + libc@0.2.155 + libm@0.2.8 + libsqlite3-sys@0.28.0 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + logos-codegen@0.14.0 + logos-derive@0.14.0 + logos@0.14.0 + matchers@0.0.1 + md-5@0.10.6 + memchr@2.7.4 + miette-derive@7.2.0 + miette@7.2.0 + mime@0.3.17 + mime_guess@2.0.5 + mini-redis@0.4.1 + minimal-lexical@0.2.1 + miniz_oxide@0.7.4 + mio@1.0.1 + multer@2.1.0 + nextcloud-config-parser@0.11.0 + nextcloud_appinfo@0.6.0 + nom@7.1.3 + nu-ansi-term@0.50.1 + num-bigint-dig@0.8.4 + num-bigint@0.4.6 + num-integer@0.1.46 + num-iter@0.1.45 + num-traits@0.2.19 + object@0.36.2 + once_cell@1.19.0 + owo-colors@4.0.0 + parking@2.2.0 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + parse-display-derive@0.9.1 + parse-display@0.9.1 + paste@1.0.15 + pem-rfc7468@0.7.0 + percent-encoding@2.3.1 + peresil@0.3.0 + php-literal-parser@0.6.1 + pin-project-internal@1.1.5 + pin-project-lite@0.2.14 + pin-project@1.1.5 + pin-utils@0.1.0 + pkcs1@0.7.5 + pkcs8@0.10.2 + pkg-config@0.3.30 + ppv-lite86@0.2.17 + proc-macro-error-attr@1.0.4 + proc-macro-error@1.0.4 + proc-macro2@1.0.86 + quick-error@1.2.3 + quinn-proto@0.11.3 + quinn-udp@0.5.4 + quinn@0.11.2 + quote@1.0.36 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + redis@0.26.0 + redox_syscall@0.4.1 + redox_syscall@0.5.3 + regex-automata@0.1.10 + regex-automata@0.4.7 + regex-syntax@0.6.29 + regex-syntax@0.8.4 + regex@1.10.5 + reqwest@0.12.5 + rfc7239@0.1.1 + ring@0.17.8 + rsa@0.9.6 + rustc-demangle@0.1.24 + rustc-hash@1.1.0 + rustix@0.38.34 + rustls-pemfile@1.0.4 + rustls-pemfile@2.1.2 + rustls-pki-types@1.7.0 + rustls-webpki@0.101.7 + rustls-webpki@0.102.6 + rustls@0.21.12 + rustls@0.22.4 + rustls@0.23.12 + ryu@1.0.18 + scoped-tls@1.0.1 + scopeguard@1.2.0 + sct@0.7.1 + sd-notify@0.4.2 + semver-parser@0.7.0 + semver@0.10.0 + serde@1.0.204 + serde_derive@1.0.204 + serde_json@1.0.120 + serde_urlencoded@0.7.1 + sha1@0.10.6 + sha2@0.10.8 + sharded-slab@0.1.7 + signal-hook-registry@1.4.2 + signature@2.2.0 + slab@0.4.9 + smallvec@1.13.2 + smawk@0.3.2 + socket2@0.5.7 + spin@0.9.8 + spki@0.7.3 + sqlformat@0.2.4 + sqlx-core@0.8.0 + sqlx-macros-core@0.8.0 + sqlx-macros@0.8.0 + sqlx-mysql@0.8.0 + sqlx-postgres@0.8.0 + sqlx-sqlite@0.8.0 + sqlx@0.8.0 + stringprep@0.1.5 + strsim@0.11.1 + strsim@0.8.0 + structmeta-derive@0.3.0 + structmeta@0.3.0 + structopt-derive@0.4.18 + structopt@0.3.26 + subtle@2.6.1 + supports-color@3.0.0 + supports-hyperlinks@3.0.0 + supports-unicode@3.0.0 + sxd-document@0.3.2 + sxd-xpath@0.4.2 + syn@1.0.109 + syn@2.0.72 + sync_wrapper@1.0.1 + tempfile@3.10.1 + terminal_size@0.3.0 + textwrap@0.11.0 + textwrap@0.16.1 + thiserror-impl@1.0.63 + thiserror@1.0.63 + thread_local@1.1.8 + tinyvec@1.8.0 + tinyvec_macros@0.1.1 + tokio-macros@2.4.0 + tokio-rustls@0.25.0 + tokio-rustls@0.26.0 + tokio-stream@0.1.15 + tokio-tungstenite@0.21.0 + tokio-tungstenite@0.23.1 + tokio-util@0.7.11 + tokio@1.39.1 + tower-layer@0.3.2 + tower-service@0.3.2 + tower@0.4.13 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + tracing-futures@0.2.5 + tracing-log@0.1.4 + tracing-serde@0.1.3 + tracing-subscriber@0.2.25 + tracing@0.1.40 + try-lock@0.2.5 + tungstenite@0.21.0 + tungstenite@0.23.0 + typed-arena@1.7.0 + typenum@1.17.0 + uncased@0.9.10 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-linebreak@0.1.5 + unicode-normalization@0.1.23 + unicode-properties@0.1.1 + unicode-segmentation@1.11.0 + unicode-width@0.1.13 + unicode_categories@0.1.1 + untrusted@0.9.0 + ureq@2.10.0 + url@2.5.2 + urlencoding@2.1.3 + utf-8@0.7.6 + utf8parse@0.2.2 + valuable@0.1.0 + vcpkg@0.2.15 + vec_map@0.8.2 + version_check@0.9.5 + want@0.3.1 + warp-real-ip@0.2.0 + warp@0.3.7 + wasi@0.11.0+wasi-snapshot-preview1 + wasite@0.1.0 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + web-sys@0.3.69 + webpki-roots@0.25.4 + webpki-roots@0.26.3 + whoami@1.5.1 + winapi-i686-pc-windows-gnu@0.4.0 + 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-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 + winreg@0.52.0 + xpath_reader@0.5.3 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 + zeroize@1.8.1 +" + +inherit cargo systemd + +DESCRIPTION="Push daemon for Nextcloud clients" +HOMEPAGE="https://github.com/nextcloud/notify_push" +SRC_URI="https://github.com/nextcloud/notify_push/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz + ${CARGO_CRATE_URIS} +" + +S="${WORKDIR}/notify_push-${PV}" + +LICENSE="AGPL-3" +# Dependent crate licenses +LICENSE+=" Apache-2.0 BSD GPL-3 ISC MIT MPL-2.0 Unicode-DFS-2016" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +QA_FLAGS_IGNORED="usr/bin/${PN}" + +src_install() { + cargo_src_install + einstalldocs + + # default name is too generic + mv "${ED}/usr/bin/notify_push" "${ED}/usr/bin/${PN}" || die + + newconfd "${FILESDIR}/${PN}-r1.confd" "${PN}" + newinitd "${FILESDIR}/${PN}-r2.init" "${PN}" + systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service" + systemd_install_serviced "${FILESDIR}/${PN}.service.conf" "${PN}" + + # restrict access because conf.d entry could contain + # database credentials + fperms 0640 "/etc/conf.d/${PN}" +} + +pkg_postinst() { + # According to PMS this can be a space-separated list of version + # numbers, even though in practice it is typically just one. + local oldver + for oldver in ${REPLACING_VERSIONS}; do + if ver_test "${oldver}" -lt "0.6.6"; then + ewarn "You are upgrading from $oldver to ${PVR}" + ewarn "The systemd unit file for nextcloud-notify_push no longer sources ${EPREFIX}/etc/conf.d/nextcloud-notify_push ." + ewarn "Configuration is still done via ${EPREFIX}/etc/conf.d/nextcloud-notify_push for OpenRC systems" + ewarn "while for systemd systems, a systemd drop-in file located at" + ewarn "${EPREFIX}/etc/systemd/system/nextcloud-notify_push.d/00gentoo.conf" + ewarn "is used for configuration." + break + fi + done +} 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.ebuild deleted file mode 100644 index d5f61873f5fb..000000000000 --- a/www-apps/nextcloud-notify_push/nextcloud-notify_push-0.7.0.ebuild +++ /dev/null @@ -1,409 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Autogenerated by pycargoebuild 0.13.2 - -EAPI=8 - -CRATES=" - addr2line@0.22.0 - adler@1.0.2 - ahash@0.8.11 - aho-corasick@1.1.3 - allocator-api2@0.2.18 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - ansi_term@0.12.1 - anstream@0.6.15 - anstyle-parse@0.2.5 - anstyle-query@1.1.1 - anstyle-wincon@3.0.4 - anstyle@1.0.8 - arc-swap@1.7.1 - async-stream-impl@0.3.5 - async-stream@0.3.5 - async-trait@0.1.81 - atoi@0.3.3 - atoi@2.0.0 - atty@0.2.14 - autocfg@1.3.0 - backtrace-ext@0.2.1 - backtrace@0.3.73 - base64@0.13.1 - base64@0.21.7 - base64@0.22.1 - base64ct@1.6.0 - beef@0.5.2 - bitflags@1.3.2 - bitflags@2.6.0 - block-buffer@0.10.4 - bumpalo@3.16.0 - byteorder@1.5.0 - bytes@1.6.1 - cc@1.1.6 - cfg-if@1.0.0 - chrono@0.4.38 - clap@2.34.0 - clap@4.5.11 - clap_builder@4.5.11 - clap_derive@4.5.11 - clap_lex@0.7.2 - colorchoice@1.0.2 - combine@4.6.7 - concurrent-queue@2.5.0 - const-oid@0.9.6 - core-foundation-sys@0.8.6 - cpufeatures@0.2.12 - crc-catalog@2.4.0 - crc16@0.4.0 - crc32fast@1.4.2 - crc@3.2.1 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.20 - crypto-common@0.1.6 - dashmap@6.0.1 - data-encoding@2.6.0 - der@0.7.9 - derivative@2.2.0 - digest@0.10.7 - dotenvy@0.15.7 - either@1.13.0 - encoding_rs@0.8.34 - equivalent@1.0.1 - errno@0.3.9 - etcetera@0.8.0 - event-listener@5.3.1 - fastrand@2.1.0 - flate2@1.0.30 - flexi_logger@0.28.5 - flume@0.11.0 - fnv@1.0.7 - form_urlencoded@1.2.1 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-intrusive@0.5.0 - futures-io@0.3.30 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-util@0.3.30 - futures@0.3.30 - generic-array@0.14.7 - getrandom@0.2.15 - gimli@0.29.0 - glob@0.3.1 - h2@0.3.26 - hashbrown@0.14.5 - hashlink@0.9.1 - headers-core@0.2.0 - headers@0.3.9 - heck@0.3.3 - heck@0.5.0 - hermit-abi@0.1.19 - hermit-abi@0.3.9 - hex@0.4.3 - hkdf@0.12.4 - hmac@0.12.1 - home@0.5.9 - http-auth-basic@0.3.3 - http-body-util@0.1.2 - http-body@0.4.6 - http-body@1.0.1 - http@0.2.12 - http@1.1.0 - httparse@1.9.4 - httpdate@1.0.3 - hyper-rustls@0.27.2 - hyper-util@0.1.6 - hyper@0.14.30 - hyper@1.4.1 - iana-time-zone-haiku@0.1.2 - iana-time-zone@0.1.60 - idna@0.5.0 - indexmap@2.2.6 - ipnet@2.9.0 - is_ci@1.2.0 - is_terminal_polyfill@1.70.1 - itoa@1.0.11 - js-sys@0.3.69 - lazy_static@1.5.0 - libc@0.2.155 - libm@0.2.8 - libsqlite3-sys@0.28.0 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - logos-codegen@0.14.0 - logos-derive@0.14.0 - logos@0.14.0 - matchers@0.0.1 - md-5@0.10.6 - memchr@2.7.4 - miette-derive@7.2.0 - miette@7.2.0 - mime@0.3.17 - mime_guess@2.0.5 - mini-redis@0.4.1 - minimal-lexical@0.2.1 - miniz_oxide@0.7.4 - mio@1.0.1 - multer@2.1.0 - nextcloud-config-parser@0.11.0 - nextcloud_appinfo@0.6.0 - nom@7.1.3 - nu-ansi-term@0.50.1 - num-bigint-dig@0.8.4 - num-bigint@0.4.6 - num-integer@0.1.46 - num-iter@0.1.45 - num-traits@0.2.19 - object@0.36.2 - once_cell@1.19.0 - owo-colors@4.0.0 - parking@2.2.0 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - parse-display-derive@0.9.1 - parse-display@0.9.1 - paste@1.0.15 - pem-rfc7468@0.7.0 - percent-encoding@2.3.1 - peresil@0.3.0 - php-literal-parser@0.6.1 - pin-project-internal@1.1.5 - pin-project-lite@0.2.14 - pin-project@1.1.5 - pin-utils@0.1.0 - pkcs1@0.7.5 - pkcs8@0.10.2 - pkg-config@0.3.30 - ppv-lite86@0.2.17 - proc-macro-error-attr@1.0.4 - proc-macro-error@1.0.4 - proc-macro2@1.0.86 - quick-error@1.2.3 - quinn-proto@0.11.3 - quinn-udp@0.5.4 - quinn@0.11.2 - quote@1.0.36 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - redis@0.26.0 - redox_syscall@0.4.1 - redox_syscall@0.5.3 - regex-automata@0.1.10 - regex-automata@0.4.7 - regex-syntax@0.6.29 - regex-syntax@0.8.4 - regex@1.10.5 - reqwest@0.12.5 - rfc7239@0.1.1 - ring@0.17.8 - rsa@0.9.6 - rustc-demangle@0.1.24 - rustc-hash@1.1.0 - rustix@0.38.34 - rustls-pemfile@1.0.4 - rustls-pemfile@2.1.2 - rustls-pki-types@1.7.0 - rustls-webpki@0.101.7 - rustls-webpki@0.102.6 - rustls@0.21.12 - rustls@0.22.4 - rustls@0.23.12 - ryu@1.0.18 - scoped-tls@1.0.1 - scopeguard@1.2.0 - sct@0.7.1 - sd-notify@0.4.2 - semver-parser@0.7.0 - semver@0.10.0 - serde@1.0.204 - serde_derive@1.0.204 - serde_json@1.0.120 - serde_urlencoded@0.7.1 - sha1@0.10.6 - sha2@0.10.8 - sharded-slab@0.1.7 - signal-hook-registry@1.4.2 - signature@2.2.0 - slab@0.4.9 - smallvec@1.13.2 - smawk@0.3.2 - socket2@0.5.7 - spin@0.9.8 - spki@0.7.3 - sqlformat@0.2.4 - sqlx-core@0.8.0 - sqlx-macros-core@0.8.0 - sqlx-macros@0.8.0 - sqlx-mysql@0.8.0 - sqlx-postgres@0.8.0 - sqlx-sqlite@0.8.0 - sqlx@0.8.0 - stringprep@0.1.5 - strsim@0.11.1 - strsim@0.8.0 - structmeta-derive@0.3.0 - structmeta@0.3.0 - structopt-derive@0.4.18 - structopt@0.3.26 - subtle@2.6.1 - supports-color@3.0.0 - supports-hyperlinks@3.0.0 - supports-unicode@3.0.0 - sxd-document@0.3.2 - sxd-xpath@0.4.2 - syn@1.0.109 - syn@2.0.72 - sync_wrapper@1.0.1 - tempfile@3.10.1 - terminal_size@0.3.0 - textwrap@0.11.0 - textwrap@0.16.1 - thiserror-impl@1.0.63 - thiserror@1.0.63 - thread_local@1.1.8 - tinyvec@1.8.0 - tinyvec_macros@0.1.1 - tokio-macros@2.4.0 - tokio-rustls@0.25.0 - tokio-rustls@0.26.0 - tokio-stream@0.1.15 - tokio-tungstenite@0.21.0 - tokio-tungstenite@0.23.1 - tokio-util@0.7.11 - tokio@1.39.1 - tower-layer@0.3.2 - tower-service@0.3.2 - tower@0.4.13 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - tracing-futures@0.2.5 - tracing-log@0.1.4 - tracing-serde@0.1.3 - tracing-subscriber@0.2.25 - tracing@0.1.40 - try-lock@0.2.5 - tungstenite@0.21.0 - tungstenite@0.23.0 - typed-arena@1.7.0 - typenum@1.17.0 - uncased@0.9.10 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.23 - unicode-properties@0.1.1 - unicode-segmentation@1.11.0 - unicode-width@0.1.13 - unicode_categories@0.1.1 - untrusted@0.9.0 - ureq@2.10.0 - url@2.5.2 - urlencoding@2.1.3 - utf-8@0.7.6 - utf8parse@0.2.2 - valuable@0.1.0 - vcpkg@0.2.15 - vec_map@0.8.2 - version_check@0.9.5 - want@0.3.1 - warp-real-ip@0.2.0 - warp@0.3.7 - wasi@0.11.0+wasi-snapshot-preview1 - wasite@0.1.0 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - web-sys@0.3.69 - webpki-roots@0.25.4 - webpki-roots@0.26.3 - whoami@1.5.1 - winapi-i686-pc-windows-gnu@0.4.0 - 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-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 - winreg@0.52.0 - xpath_reader@0.5.3 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 - zeroize@1.8.1 -" - -inherit cargo systemd - -DESCRIPTION="Push daemon for Nextcloud clients" -HOMEPAGE="https://github.com/nextcloud/notify_push" -SRC_URI="https://github.com/nextcloud/notify_push/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz - ${CARGO_CRATE_URIS} -" - -S="${WORKDIR}/notify_push-${PV}" - -LICENSE="AGPL-3" -# Dependent crate licenses -LICENSE+=" Apache-2.0 BSD GPL-3 ISC MIT MPL-2.0 Unicode-DFS-2016" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -QA_FLAGS_IGNORED="usr/bin/${PN}" - -src_install() { - cargo_src_install - einstalldocs - - # default name is too generic - mv "${ED}/usr/bin/notify_push" "${ED}/usr/bin/${PN}" || die - - newconfd "${FILESDIR}/${PN}-r1.confd" "${PN}" - newinitd "${FILESDIR}/${PN}-r2.init" "${PN}" - systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service" - systemd_install_serviced "${FILESDIR}/${PN}.service.conf" "${PN}" - - # restrict access because conf.d entry could contain - # database credentials - fperms 0640 "/etc/conf.d/${PN}" -} - -pkg_postinst() { - # According to PMS this can be a space-separated list of version - # numbers, even though in practice it is typically just one. - local oldver - for oldver in ${REPLACING_VERSIONS}; do - if ver_test "${oldver}" -lt "0.6.6"; then - ewarn "You are upgrading from $oldver to ${PVR}" - ewarn "The systemd unit file for nextcloud-notify_push no longer sources ${EPREFIX}/etc/conf.d/nextcloud-notify_push ." - ewarn "Configuration is still done via ${EPREFIX}/etc/conf.d/nextcloud-notify_push for OpenRC systems" - ewarn "while for systemd systems, a systemd drop-in file located at" - ewarn "${EPREFIX}/etc/systemd/system/nextcloud-notify_push.d/00gentoo.conf" - ewarn "is used for configuration." - break - fi - done -} diff --git a/www-client/chromium/chromium-129.0.6668.100-r1.ebuild b/www-client/chromium/chromium-129.0.6668.100-r1.ebuild new file mode 100644 index 000000000000..e4fa73268149 --- /dev/null +++ b/www-client/chromium/chromium-129.0.6668.100-r1.ebuild @@ -0,0 +1,1355 @@ +# Copyright 2009-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# PACKAGING NOTES + +# Google roll their bundled Clang every two weeks, and the bundled Rust +# is rolled regularly and depends on that. While we do our best to build +# with system Clang, we will eventually hit the point where we need to use +# the bundled Clang due to the use of prerelease features. We've been lucky +# enough so far that this hasn't been an issue. +# We use llvm-utils.eclass directly due to chromium's inherent Googliness. + +# GN is bundled with Chromium, but we always use the system version. Remember to +# check for upstream changes to GN and update ebuild (and version below) as required. + +# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able +# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so), +# then we remove ffmpeg from the image to ensure that the built package is distributable +# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place; +# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system. + +# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's +# no reason not to. Todo: Re-enable USE=system-ffmpeg. + +GN_MIN_VER=0.2165 +# chromium-tools/get-chromium-toolchain-strings.sh +GOOGLE_CLANG_VER=llvmorg-20-init-1009-g7088a5ed-10 +GOOGLE_RUST_VER=595316b4006932405a63862d8fe65f71a6356293-5 + +: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no} + +VIRTUALX_REQUIRED="pgo" + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + 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" + +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-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/" +PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1" +PATCH_V="${PV%%\.*}" +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz + system-toolchain? ( + https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 + ) + !system-toolchain? ( + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz + -> chromium-${PV%%\.*}-clang.tar.xz + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz + -> chromium-${PV%%\.*}-rust.tar.xz + ) + ppc64? ( + https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz + https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz + ) + pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" + +LICENSE="BSD" +SLOT="0/stable" +KEYWORDS="amd64 arm64" +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 +system-toolchain +vaapi +wayland +widevine" +RESTRICT="!bindist? ( bindist )" + +REQUIRED_USE=" + !headless? ( || ( X wayland ) ) + pgo? ( X !wayland ) + qt6? ( qt5 ) + screencast? ( wayland ) + ffmpeg-chromium? ( bindist proprietary-codecs ) +" + +COMMON_X_DEPEND=" + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXtst:= + x11-libs/libxshmfence:= +" + +COMMON_SNAPSHOT_DEPEND=" + system-icu? ( >=dev-libs/icu-73.0:= ) + >=dev-libs/libxml2-2.12.4:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + dev-libs/libxslt:= + media-libs/fontconfig:= + >=media-libs/freetype-2.11.0-r1:= + system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) + media-libs/libjpeg-turbo:= + system-png? ( media-libs/libpng:=[-apng(-)] ) + system-zstd? ( >=app-arch/zstd-1.5.5:= ) + >=media-libs/libwebp-0.4.0:= + media-libs/mesa:=[gbm(+)] + >=media-libs/openh264-1.6.0:= + sys-libs/zlib:= + x11-libs/libdrm:= + !headless? ( + dev-libs/glib:2 + >=media-libs/alsa-lib-1.0.19:= + pulseaudio? ( media-libs/libpulse:= ) + sys-apps/pciutils:= + kerberos? ( virtual/krb5 ) + vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) + X? ( + x11-base/xorg-proto:= + x11-libs/libX11:= + x11-libs/libxcb:= + x11-libs/libXext:= + ) + x11-libs/libxkbcommon:= + wayland? ( + dev-libs/libffi:= + dev-libs/wayland:= + screencast? ( media-video/pipewire:= ) + ) + ) +" + +COMMON_DEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + app-arch/bzip2:= + dev-libs/expat:= + net-misc/curl[ssl] + sys-apps/dbus:= + media-libs/flac:= + sys-libs/zlib:=[minizip] + !headless? ( + X? ( ${COMMON_X_DEPEND} ) + >=app-accessibility/at-spi2-core-2.46.0:2 + media-libs/mesa:=[X?,wayland?] + cups? ( >=net-print/cups-1.3.11:= ) + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/pango:= + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + ) +" +RDEPEND="${COMMON_DEPEND} + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[X?,wayland?] + ) + qt5? ( dev-qt/qtgui:5[X?,wayland?] ) + qt6? ( dev-qt/qtbase:6[X?,wayland?] ) + ) + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) + bindist? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) + ) +" +DEPEND="${COMMON_DEPEND} + !headless? ( + gtk4? ( gui-libs/gtk:4[X?,wayland?] ) + !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) + ) +" + +BDEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + >=app-arch/gzip-1.7 + !headless? ( + qt5? ( dev-qt/qtcore:5 ) + qt6? ( dev-qt/qtbase:6 ) + ) + system-toolchain? ( + $(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 + ) + >=dev-util/bindgen-0.68.0 + ) + >=dev-build/gn-${GN_MIN_VER} + dev-build/ninja + dev-lang/perl + >=dev-util/gperf-3.0.3 + dev-vcs/git + >=net-libs/nodejs-7.6.0[inspector] + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig +" + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS=" +Some web pages may require additional fonts to display properly. +Try installing some of the following packages if some characters +are not displayed properly: +- media-fonts/arphicfonts +- media-fonts/droid +- media-fonts/ipamonafont +- media-fonts/noto +- media-fonts/ja-ipafonts +- media-fonts/takao-fonts +- media-fonts/wqy-microhei +- media-fonts/wqy-zenhei + +To fix broken icons on the Downloads page, you should install an icon +theme that covers the appropriate MIME types, and configure this as your +GTK+ icon theme. + +For native file dialogs in KDE, install kde-apps/kdialog. + +To make password storage work with your desktop environment you may +have install one of the supported credentials management applications: +- app-crypt/libsecret (GNOME) +- kde-frameworks/kwallet (KDE) +If you have one of above packages installed, but don't want to use +them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS +in /etc/chromium/default. +" + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +pre_build_checks() { + # Check build requirements: bugs #471810, #541816, #914220 + # We're going to start doing maths here on the size of an unpacked source tarball, + # this should make updates easier as chromium continues to balloon in size. + local BASE_DISK=24 + local EXTRA_DISK=1 + local CHECKREQS_MEMORY="4G" + tc-is-cross-compiler && EXTRA_DISK=2 + if tc-is-lto || use pgo; then + CHECKREQS_MEMORY="9G" + tc-is-cross-compiler && EXTRA_DISK=4 + use pgo && EXTRA_DISK=8 + fi + if is-flagq '-g?(gdb)?([1-9])'; then + if use custom-cflags; then + EXTRA_DISK=13 + fi + CHECKREQS_MEMORY="16G" + fi + CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" + check-reqs_${EBUILD_PHASE_FUNC} +} + +pkg_pretend() { + 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 + fi + + if use headless; then + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") + for myiuse in ${headless_unused_flags[@]}; do + use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." + done + fi + + if ! use bindist && use ffmpeg-chromium; then + ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." + fi +} + +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 + + if use system-toolchain; then + # The linux:unbundle toolchain in GN grabs CC, CXX, CPP (etc) from the environment + # This is effectively the 'force-clang' path if GCC support is re-added. + 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" + einfo "and to be consistent with the upstream \"official\" build optimisations." + fi + + # 936858 + if tc-ld-is-mold; then + eerror "Your toolchain is using the mold linker." + eerror "This is not supported by Chromium." + die "Please switch to a different linker." + fi + + # We're forcing clang here; user choice is respected via llvm_slot_x USE + AR=llvm-ar + CPP="${CHOST}-clang++ -E" + NM=llvm-nm + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + + if tc-is-cross-compiler; then + use pgo && die "The pgo USE flag cannot be used when cross-compiling" + CPP="${CBUILD}-clang++ -E" + fi + + llvm-r1_pkg_setup + rust_pkg_setup + 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" + fi + fi + + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + # In 126 Chromium upstream decided to change the way that the rust toolchain is packaged + # so now we get a fancy src_unpack function to ensure that we don't accidentally unpack + # one toolchain over the other. The addtional control over over unpacking also helps us + # ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system + # package by just not unpacking it unless we're using the bundled toolchain. + unpack ${P}.tar.xz + if use system-toolchain; then + unpack chromium-patches-${PATCH_V}.tar.bz2 + else + unpack chromium-${PV%%\.*}-clang.tar.xz + local rust_dir="${WORKDIR}/rust-toolchain" + mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory" + tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain" + fi + + use pgo && unpack chromium-profiler-0.2.tar + + if use ppc64; then + unpack chromium_${PATCHSET_PPC64}.debian.tar.xz + unpack chromium-ppc64le-gentoo-patches-1.tar.xz + fi +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # disable global media controls, crashes with libstdc++ + sed -i -e \ + "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ + "chrome/browser/media/router/media_router_feature.cc" + + local PATCHES=( + "${FILESDIR}/chromium-cross-compile.patch" + "${FILESDIR}/chromium-109-system-zlib.patch" + "${FILESDIR}/chromium-111-InkDropHost-crash.patch" + "${FILESDIR}/chromium-126-oauth2-client-switches.patch" + "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" + ) + + if use system-toolchain; then + # The patchset is really only required if we're using the system-toolchain + PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" ) + # We can't use the bundled compiler builtins with the system toolchain + # `grep` is a development convenience to ensure we fail early when google changes something. + local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" + grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" + sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn + + else + mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm" + ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin" + ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib" + echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \ + die "Failed to set clang version" + ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" + cp "${WORKDIR}"/rust-toolchain/VERSION \ + "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" + fi + + if use ppc64 ; then + local p + for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do + if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then + eapply "${WORKDIR}/debian/patches/${p}" + fi + done + PATCHES+=( "${WORKDIR}/ppc64le" ) + PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" ) + fi + + default + + rm third_party/node/linux/node-linux-x64/bin/node || die + ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die + + # adjust python interpreter version + sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die + + local keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + chrome/third_party/mozilla_security_manager + courgette/third_party + net/third_party/mozilla_security_manager + net/third_party/nss + net/third_party/quic + net/third_party/uri_template + third_party/abseil-cpp + third_party/angle + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/ceval + third_party/angle/src/third_party/libXNVCtrl + third_party/angle/src/third_party/volk + third_party/anonymous_tokens + third_party/apple_apsl + third_party/axe-core + third_party/bidimapper + third_party/blink + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + third_party/brotli + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4-4.9.3 + third_party/catapult/third_party/html5lib-1.1 + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + third_party/catapult/tracing/third_party/d3 + third_party/catapult/tracing/third_party/gl-matrix + third_party/catapult/tracing/third_party/jpeg-js + third_party/catapult/tracing/third_party/jszip + third_party/catapult/tracing/third_party/mannwhitneyu + third_party/catapult/tracing/third_party/oboe + third_party/catapult/tracing/third_party/pako + third_party/ced + third_party/cld_3 + third_party/closure_compiler + third_party/content_analysis_sdk + third_party/cpuinfo + third_party/crabbyavif + third_party/crashpad + third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib + third_party/crc32c + third_party/cros_system_api + third_party/d3 + third_party/dav1d + third_party/dawn + third_party/dawn/third_party/gn/webgpu-cts + third_party/dawn/third_party/khronos + third_party/depot_tools + third_party/devscripts + third_party/devtools-frontend + third_party/devtools-frontend/src/front_end/third_party/acorn + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/devtools-frontend/src/front_end/third_party/axe-core + third_party/devtools-frontend/src/front_end/third_party/chromium + third_party/devtools-frontend/src/front_end/third_party/codemirror + third_party/devtools-frontend/src/front_end/third_party/csp_evaluator + third_party/devtools-frontend/src/front_end/third_party/diff + third_party/devtools-frontend/src/front_end/third_party/i18n + third_party/devtools-frontend/src/front_end/third_party/intl-messageformat + third_party/devtools-frontend/src/front_end/third_party/lighthouse + third_party/devtools-frontend/src/front_end/third_party/lit + third_party/devtools-frontend/src/front_end/third_party/lodash-isequal + third_party/devtools-frontend/src/front_end/third_party/marked + third_party/devtools-frontend/src/front_end/third_party/puppeteer + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data + third_party/devtools-frontend/src/front_end/third_party/wasmparser + third_party/devtools-frontend/src/front_end/third_party/web-vitals + third_party/devtools-frontend/src/third_party + third_party/distributed_point_functions + third_party/dom_distiller_js + third_party/eigen3 + third_party/emoji-segmenter + third_party/farmhash + third_party/fdlibm + third_party/ffmpeg + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/freetype + third_party/fusejs + third_party/fxdiv + third_party/gemmlowp + third_party/google_input_tools + third_party/google_input_tools/third_party/closure_library + third_party/google_input_tools/third_party/closure_library/third_party/closure + third_party/googletest + third_party/highway + third_party/hunspell + third_party/iccjpeg + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + third_party/jsoncpp + third_party/jstemplate + third_party/khronos + third_party/lens_server_proto + third_party/leveldatabase + third_party/libaddressinput + third_party/libaom + third_party/libaom/source/libaom/third_party/fastfeat + third_party/libaom/source/libaom/third_party/SVT-AV1 + third_party/libaom/source/libaom/third_party/vector + third_party/libaom/source/libaom/third_party/x86inc + third_party/libavif + third_party/libc++ + third_party/libevent + third_party/libgav1 + third_party/libjingle + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/liburlpattern + third_party/libva_protected_content + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc + third_party/libwebm + third_party/libx11 + third_party/libxcb-keysyms + third_party/libxml/chromium + third_party/libyuv + third_party/libzip + third_party/lit + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/markupsafe + third_party/material_color_utilities + third_party/mesa + third_party/metrics_proto + third_party/minigbm + third_party/modp_b64 + third_party/nasm + third_party/nearby + third_party/neon_2_sse + third_party/node + third_party/omnibox_proto + third_party/one_euro_filter + third_party/openscreen + third_party/openscreen/src/third_party/ + third_party/openscreen/src/third_party/tinycbor/src/src + third_party/opus + third_party/ots + third_party/pdfium + third_party/pdfium/third_party/agg23 + third_party/pdfium/third_party/bigint + third_party/pdfium/third_party/freetype + third_party/pdfium/third_party/lcms + third_party/pdfium/third_party/libopenjpeg + third_party/pdfium/third_party/libtiff + third_party/perfetto + third_party/perfetto/protos/third_party/chromium + third_party/perfetto/protos/third_party/simpleperf + third_party/pffft + third_party/ply + third_party/polymer + third_party/private_membership + third_party/private-join-and-compute + third_party/protobuf + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/qcms + third_party/rapidhash + third_party/re2 + third_party/rnnoise + third_party/rust + third_party/ruy + third_party/s2cellid + third_party/securemessage + third_party/selenium-atoms + third_party/sentencepiece + third_party/sentencepiece/src/third_party/darts_clone + third_party/shell-encryption + third_party/simplejson + third_party/six + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/snappy + third_party/spirv-headers + third_party/spirv-tools + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv + third_party/swiftshader/third_party/SPIRV-Tools + third_party/swiftshader/third_party/subzero + third_party/tensorflow_models + third_party/tensorflow-text + third_party/tflite + third_party/tflite/src/third_party/eigen3 + third_party/tflite/src/third_party/fft2d + third_party/tflite/src/third_party/xla/third_party/tsl + third_party/tflite/src/third_party/xla/xla/tsl/util + third_party/tflite/src/third_party/xla/xla/tsl/framework + third_party/ukey2 + third_party/unrar + third_party/utf + third_party/vulkan + third_party/wayland + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + third_party/webrtc/common_audio/third_party/spl_sqrt_floor + third_party/webrtc/modules/third_party/fft + third_party/webrtc/modules/third_party/g711 + third_party/webrtc/modules/third_party/g722 + third_party/webrtc/rtc_base/third_party/base64 + third_party/webrtc/rtc_base/third_party/sigslot + third_party/widevine + third_party/woff2 + third_party/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zlib/google + third_party/zxcvbn-cpp + url/third_party/mozilla + v8/src/third_party/siphash + v8/src/third_party/utf8-decoder + v8/src/third_party/valgrind + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/v8 + + # gyp -> gn leftovers + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + ) + + # USE=system-* + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi + + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + + if ! use system-png; then + keeplibs+=( third_party/libpng ) + fi + + if ! use system-zstd; then + keeplibs+=( third_party/zstd ) + fi + + if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then + keeplibs+=( third_party/llvm ) + fi + + # Arch-specific + if use arm64 || use ppc64 ; then + keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) + fi + # we need to generate ppc64 stuff because upstream does not ship it yet + # it has to be done before unbundling. + if use ppc64; then + pushd third_party/libvpx >/dev/null || die + mkdir -p source/config/linux/ppc64 || die + # requires git and clang, bug #832803 + # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh + # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh + # since we're not in a git repo + sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ + generate_gni.sh || die + ./generate_gni.sh || die + popd >/dev/null || die + + pushd third_party/ffmpeg >/dev/null || die + cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die + cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die + popd >/dev/null || die + fi + + einfo "Unbundling third-party libraries ..." + # Remove most bundled libraries. Some are still needed. + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die + + # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries + mkdir -p buildtools/third_party/eu-strip/bin || die + ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die +} + +chromium_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + # We already forced the "correct" clang via pkg_setup + if use system-toolchain; then + if tc-is-cross-compiler; then + CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_AR=${AR} + BUILD_CC=${CC} + BUILD_CXX=${CXX} + BUILD_NM=${NM} + fi + + strip-unsupported-flags + + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + # https://bugs.gentoo.org/918897#c32 + append-ldflags -Wl,--undefined-version + myconf_gn+=" use_lld=true" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + + if tc-is-cross-compiler; then + tc-export BUILD_{AR,CC,CXX,NM} + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" + myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" + + # setup cups-config, build system only uses --libs option + if use cups; then + mkdir "${T}/cups-config" || die + cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die + export PATH="${PATH}:${T}/cups-config" + fi + + # Don't inherit PKG_CONFIG_PATH from environment + local -x PKG_CONFIG_PATH= + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + # bindgen settings + # From 127, to make bindgen work, we need to provide a location for libclang. + # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch + # rust_bindgen_root = directory with `bin/bindgen` beneath it. + myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" + + 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 + 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. + myconf_gn+=" is_debug=false" + + # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. + # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. + myconf_gn+=" dcheck_always_on=$(usex debug true false)" + myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" + + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + myconf_gn+=" is_component_build=false" + + # Disable nacl, we can't build without pnacl (http://crbug.com/269560). + myconf_gn+=" enable_nacl=false" + + # Use system-provided libraries. + # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_sqlite (http://crbug.com/22208). + + # libevent: https://bugs.gentoo.org/593458 + local gn_system_libraries=( + flac + fontconfig + freetype + # Need harfbuzz_from_pkgconfig target + #harfbuzz-ng + libdrm + libjpeg + libwebp + libxml + libxslt + openh264 + zlib + ) + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-png; then + gn_system_libraries+=( libpng ) + fi + if use system-zstd; then + gn_system_libraries+=( zstd ) + fi + + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die + + # See dependency logic in third_party/BUILD.gn + myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" + + # Optional dependencies. + myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" + myconf_gn+=" enable_widevine=$(usex widevine true false)" + + if use headless; then + myconf_gn+=" use_cups=false" + myconf_gn+=" use_kerberos=false" + myconf_gn+=" use_pulseaudio=false" + myconf_gn+=" use_vaapi=false" + myconf_gn+=" rtc_use_pipewire=false" + else + myconf_gn+=" use_cups=$(usex cups true false)" + myconf_gn+=" use_kerberos=$(usex kerberos true false)" + myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" + myconf_gn+=" use_vaapi=$(usex vaapi true false)" + myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" + myconf_gn+=" gtk_version=$(usex gtk4 4 3)" + fi + + # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of + # using dlopen. This helps with automated detection of ABI mismatches and + # prevents silent errors. + if use pulseaudio; then + myconf_gn+=" link_pulseaudio=true" + fi + + # Non-developer builds of Chromium (for example, non-Chrome browsers, or + # Chromium builds provided by Linux distros) should disable the testing config + myconf_gn+=" disable_fieldtrial_testing_config=true" + + # The sysroot is the oldest debian image that chromium supports, we don't need it + myconf_gn+=" use_sysroot=false" + + # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) + # instead of the system C++ library for C++ standard library support. + # default: true, but let's be explicit (forced since 120 ; USE removed 127). + myconf_gn+=" use_custom_libcxx=true" + + # Disable pseudolocales, only used for testing + myconf_gn+=" enable_pseudolocales=false" + + # Disable code formating of generated files + myconf_gn+=" blink_enable_generated_code_formatting=false" + + if use bindist ; then + # proprietary_codecs just forces Chromium to say that it can use h264/aac, + # the work is still done by ffmpeg. If this is set to no Chromium + # won't be able to load the codec even if the library can handle it + myconf_gn+=" proprietary_codecs=true" + myconf_gn+=" ffmpeg_branding=\"Chrome\"" + # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute + myconf_gn+=" is_component_ffmpeg=true" + else + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" + myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" + fi + + # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . + # Note: these are for Gentoo use ONLY. For your own distribution, + # please get your own set of keys. Feel free to contact chromium@gentoo.org + # for more info. The OAuth2 credentials, however, have been left out. + # Those OAuth2 credentials have been broken for quite some time anyway. + # Instead we apply a patch to use the --oauth2-client-id= and + # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and + # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into + # Chromium without baked-in values. + local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" + myconf_gn+=" google_api_key=\"${google_api_key}\"" + local myarch="$(tc-arch)" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + + # Debug info section overflows without component build + # Prevent linker from running out of address space, bug #471810 . + filter-flags "-g*" + + # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. + if [[ ${myarch} == amd64 ]]; then + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a + fi + fi + + if [[ $myarch = amd64 ]] ; then + myconf_gn+=" target_cpu=\"x64\"" + ffmpeg_target_arch=x64 + elif [[ $myarch = arm64 ]] ; then + myconf_gn+=" target_cpu=\"arm64\"" + ffmpeg_target_arch=arm64 + elif [[ $myarch = ppc64 ]] ; then + myconf_gn+=" target_cpu=\"ppc64\"" + ffmpeg_target_arch=ppc64 + else + die "Failed to determine target arch, got '$myarch'." + fi + + myconf_gn+=" treat_warnings_as_errors=false" + # Disable fatal linker warnings, bug 506268. + myconf_gn+=" fatal_linker_warnings=false" + + # Disable external code space for V8 for ppc64. It is disabled for ppc64 + # by default, but cross-compiling on amd64 enables it again. + if tc-is-cross-compiler; then + if ! use amd64 && ! use arm64; then + myconf_gn+=" v8_enable_external_code_space=false" + fi + fi + + # Only enabled for clang, but gcc has endian macros too + myconf_gn+=" v8_use_libm_trig_functions=true" + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + # We don't use the same clang version as upstream, and with -Werror + # we need to make sure that we don't get superfluous warnings. + append-flags -Wno-unknown-warning-option + if tc-is-cross-compiler; then + export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" + export BUILD_CFLAGS+=" -Wno-unknown-warning-option" + fi + + # Explicitly disable ICU data file support for system-icu/headless builds. + if use system-icu || use headless; then + myconf_gn+=" icu_use_data_file=false" + fi + + # Don't need nocompile checks and GN crashes with our config + myconf_gn+=" enable_nocompile_tests=false" + + # Enable ozone wayland and/or headless support + myconf_gn+=" use_ozone=true ozone_auto_platforms=false" + myconf_gn+=" ozone_platform_headless=true" + if use headless; then + myconf_gn+=" ozone_platform=\"headless\"" + myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" + myconf_gn+=" use_glib=false use_gio=false" + myconf_gn+=" use_pangocairo=false use_alsa=false" + myconf_gn+=" use_libpci=false use_udev=false" + myconf_gn+=" enable_print_preview=false" + myconf_gn+=" enable_remoting=false" + else + myconf_gn+=" use_system_libdrm=true" + myconf_gn+=" use_system_minigbm=true" + myconf_gn+=" use_xkbcommon=true" + if use qt5 || use qt6; then + local cbuild_libdir=$(get_libdir) + if tc-is-cross-compiler; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) + cbuild_libdir=${cbuild_libdir:2} + cbuild_libdir=${cbuild_libdir/% } + fi + if use qt5; then + if tc-is-cross-compiler; then + myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" + else + myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" + fi + fi + if use qt6; then + myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" + fi + + myconf_gn+=" use_qt=true" + myconf_gn+=" use_qt6=$(usex qt6 true false)" + else + myconf_gn+=" use_qt=false" + fi + myconf_gn+=" ozone_platform_x11=$(usex X true false)" + myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" + myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" + use wayland && myconf_gn+=" use_system_libffi=true" + fi + + # Results in undefined references in chrome linking, may require CFI to work + if use arm64; then + myconf_gn+=" arm_control_flow_integrity=\"none\"" + fi + + # 936673: Updater (which we don't use) depends on libsystemd + # This _should_ always be disabled if we're not building a + # "Chrome" branded browser, but obviously this is not always sufficient. + myconf_gn+=" enable_updater=false" + + local use_lto="false" + if tc-is-lto; then + use_lto="true" + fi + myconf_gn+=" use_thin_lto=${use_lto}" + myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" + + # Enable official builds + myconf_gn+=" is_official_build=$(usex official true false)" + if use official; then + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py || die + # Req's LTO; TODO: not compatible with -fno-split-lto-unit + # split-lto-unit can be enabled with RUSTC_BOOTSTRAP=1 (and an updated compiler patch), + # however I still got weird linking errors with CFI _and_ the split unit LTO OOMed after using 100G. + myconf_gn+=" is_cfi=false" + # Don't add symbols to build + myconf_gn+=" symbol_level=0" + fi + + if use pgo; then + myconf_gn+=" chrome_pgo_phase=${1}" + if [[ "$1" == "2" ]]; then + myconf_gn+=" pgo_data_path=\"${2}\"" + fi + else + # Disable PGO + myconf_gn+=" chrome_pgo_phase=0" + fi + + # skipping typecheck is only supported on amd64, bug #876157 + if ! use amd64; then + myconf_gn+=" devtools_skip_typecheck=false" + fi + + einfo "Configuring Chromium ..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_configure() { + chromium_configure $(usex pgo 1 0) +} + +chromium_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # Don't inherit PYTHONPATH from environment, bug #789021, #812689 + local -x PYTHONPATH= + + # Build mksnapshot and pax-mark it. + if use pax-kernel; then + local x + for x in mksnapshot v8_context_snapshot_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + fi + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chromedriver chrome_sandbox + + pax-mark m out/Release/chrome + + if ! use system-toolchain; then + QA_FLAGS_IGNORED=" + usr/lib64/chromium-browser/chrome + usr/lib64/chromium-browser/chrome-sandbox + usr/lib64/chromium-browser/chromedriver + usr/lib64/chromium-browser/chrome_crashpad_handler + usr/lib64/chromium-browser/libEGL.so + usr/lib64/chromium-browser/libGLESv2.so + usr/lib64/chromium-browser/libVkICD_mock_icd.so + usr/lib64/chromium-browser/libVkLayer_khronos_validation.so + usr/lib64/chromium-browser/libqt5_shim.so + usr/lib64/chromium-browser/libvk_swiftshader.so + usr/lib64/chromium-browser/libvulkan.so.1 + " + fi +} + +# This function is called from virtx, and must always return so that Xvfb +# session isn't left running. If we return 1, virtx will call die(). +chromium_profile() { + einfo "Profiling for PGO" + + pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 + + # Remove old profdata in case profiling was interrupted. + rm -rf "${1}" || return 1 + + if ! "${EPYTHON}" ./chromium_profiler.py \ + --chrome-executable "${S}/out/Release/chrome" \ + --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ + --add-arg no-sandbox --add-arg disable-dev-shm-usage \ + --profile-output "${1}"; then + eerror "Profiling failed" + return 1 + fi + + popd >/dev/null || return 1 +} + +src_compile() { + if use pgo; then + local profdata + + profdata="${WORKDIR}/chromium.profdata" + + if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then + chromium_compile + virtx chromium_profile "$profdata" + + touch "${WORKDIR}/.pgo-profiled" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then + # Remove phase 1 output + rm -r out/Release || die + + chromium_configure 2 "$profdata" + + touch "${WORKDIR}/.pgo-phase-2-configured" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then + chromium_compile + touch "${WORKDIR}/.pgo-phase-2-compiled" || die + fi + else + chromium_compile + fi + + mv out/Release/chromedriver{.unstripped,} || die + + rm -f out/Release/locales/*.pak.info || die + + # Build manpage; bug #684550 + sed -e 's|@@PACKAGE@@|chromium-browser|g; + s|@@MENUNAME@@|Chromium|g;' \ + chrome/app/resources/manpage.1.in > \ + out/Release/chromium-browser.1 || die + + # Build desktop file; bug #706786 + sed -e 's|@@MENUNAME@@|Chromium|g; + s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; + s|@@PACKAGE@@|chromium-browser|g; + s|\(^Exec=\)/usr/bin/|\1|g;' \ + chrome/installer/linux/common/desktop.template > \ + out/Release/chromium-browser-chromium.desktop || die + + # Build vk_swiftshader_icd.json; bug #827861 + sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ + third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ + out/Release/vk_swiftshader_icd.json || die +} + +src_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + + doexe out/Release/chromedriver + doexe out/Release/chrome_crashpad_handler + + ozone_auto_session () { + use X && use wayland && ! use headless && echo true || echo false + } + local sedargs=( -e + "s:/usr/lib/:/usr/$(get_libdir)/:g; + s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" + ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die + doexe chromium-launcher.sh + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium + + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver + + # Allow users to override command-line options, bug #357629. + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + + if use bindist; then + # We built libffmpeg as a component library, but we can't distribute it + # with proprietary codec support. Remove it and make a symlink to the requested + # system library. + rm -f out/Release/libffmpeg.so \ + || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" + # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. + einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." + dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ + /usr/$(get_libdir)/chromium-browser/libffmpeg.so + fi + + ( + shopt -s nullglob + local files=(out/Release/*.so out/Release/*.so.[0-9]) + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" + ) + + # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" + doins out/Release/xdg-{settings,mime} + + if ! use system-icu && ! use headless; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/MEIPreload + + # Install vk_swiftshader_icd.json; bug #827861 + doins out/Release/vk_swiftshader_icd.json + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + # Install icons + local branding size + for size in 16 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser.png + done + + # Install desktop entry + domenu out/Release/chromium-browser-chromium.desktop + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml + + # Install manpage; bug #684550 + doman out/Release/chromium-browser.1 + dosym chromium-browser.1 /usr/share/man/man1/chromium.1 + + readme.gentoo_create_doc +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + readme.gentoo_print_elog + + if ! use headless; then + if use vaapi; then + elog "VA-API is disabled by default at runtime. You have to enable it" + elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" + elog "in /etc/chromium/default." + fi + if use screencast; then + elog "Screencast is disabled by default at runtime. Either enable it" + elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" + elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use gtk4; then + elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" + elog "behavior you need to pass --gtk-version=4, e.g. by adding it" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use qt5 && use qt6; then + elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" + elog "environment. To override you need to pass --qt-version=5 or" + elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" + elog "/etc/chromium/default." + fi + fi + + if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then + ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" + ewarn "indicates that the Gentoo handbook was not followed to completion." + ewarn "" + ewarn "Chromium is known to behave unpredictably with this system configuration;" + ewarn "please complete the configuration of this system before logging any bugs." + fi +} diff --git a/www-client/chromium/chromium-129.0.6668.100.ebuild b/www-client/chromium/chromium-129.0.6668.100.ebuild deleted file mode 100644 index 0e199853bf36..000000000000 --- a/www-client/chromium/chromium-129.0.6668.100.ebuild +++ /dev/null @@ -1,1464 +0,0 @@ -# Copyright 2009-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# PACKAGING NOTES - -# Google roll their bundled Clang every two weeks, and the bundled Rust -# is rolled regularly and depends on that. While we do our best to build -# with system Clang, we will eventually hit the point where we need to use -# the bundled Clang due to the use of prerelease features. We've been lucky -# enough so far that this hasn't been an issue. -# We use llvm-utils.eclass directly due to chromium's inherent Googliness. - -# GN is bundled with Chromium, but we always use the system version. Remember to -# check for upstream changes to GN and update ebuild (and version below) as required. - -# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able -# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so), -# then we remove ffmpeg from the image to ensure that the built package is distributable -# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place; -# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system. - -# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's -# 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 - -: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no} - -VIRTUALX_REQUIRED="pgo" - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://www.chromium.org/" -PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1" -PATCH_V="${PV%%\.*}" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - system-toolchain? ( - https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 - ) - !system-toolchain? ( - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz - -> chromium-${PV%%\.*}-clang.tar.xz - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz - -> chromium-${PV%%\.*}-rust.tar.xz - ) - ppc64? ( - https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz - https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz - ) - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -LICENSE="BSD" -SLOT="0/stable" -KEYWORDS="amd64 arm64" -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 +system-toolchain +vaapi +wayland +widevine" -RESTRICT="!bindist? ( bindist )" - -REQUIRED_USE=" - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) - qt6? ( qt5 ) - screencast? ( wayland ) - ffmpeg-chromium? ( bindist proprietary-codecs ) -" - -COMMON_X_DEPEND=" - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-73.0:= ) - >=dev-libs/libxml2-2.12.4:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng(-)] ) - system-zstd? ( >=app-arch/zstd-1.5.5:= ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-libs/libpulse:= ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) - X? ( - x11-base/xorg-proto:= - x11-libs/libX11:= - x11-libs/libxcb:= - x11-libs/libXext:= - ) - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/libffi:= - dev-libs/wayland:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - X? ( ${COMMON_X_DEPEND} ) - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - cups? ( >=net-print/cups-1.3.11:= ) - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[X?,wayland?] - ) - qt5? ( dev-qt/qtgui:5[X?,wayland?] ) - qt6? ( dev-qt/qtbase:6[X?,wayland?] ) - ) - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - bindist? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) - ) -" -DEPEND="${COMMON_DEPEND} - !headless? ( - gtk4? ( gui-libs/gtk:4[X?,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) - ) -" - -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} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - !headless? ( - qt5? ( dev-qt/qtcore:5 ) - 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 - ) - >=dev-util/bindgen-0.68.0 - ) - >=dev-build/gn-${GN_MIN_VER} - dev-build/ninja - dev-lang/perl - >=dev-util/gperf-3.0.3 - dev-vcs/git - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig -" - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - # Check build requirements: bugs #471810, #541816, #914220 - # We're going to start doing maths here on the size of an unpacked source tarball, - # this should make updates easier as chromium continues to balloon in size. - local BASE_DISK=24 - local EXTRA_DISK=1 - local CHECKREQS_MEMORY="4G" - tc-is-cross-compiler && EXTRA_DISK=2 - if tc-is-lto || use pgo; then - CHECKREQS_MEMORY="9G" - tc-is-cross-compiler && EXTRA_DISK=4 - use pgo && EXTRA_DISK=8 - fi - if is-flagq '-g?(gdb)?([1-9])'; then - if use custom-cflags; then - EXTRA_DISK=13 - fi - CHECKREQS_MEMORY="16G" - fi - CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" - check-reqs_${EBUILD_PHASE_FUNC} -} - -pkg_pretend() { - 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 - fi - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." - done - fi - - if ! use bindist && use ffmpeg-chromium; then - ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." - 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 - - 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" - einfo "and to be consistent with the upstream \"official\" build optimisations." - fi - - # 936858 - if tc-ld-is-mold; then - eerror "Your toolchain is using the mold linker." - eerror "This is not supported by Chromium." - 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 - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - - if tc-is-cross-compiler; then - use pgo && die "The pgo USE flag cannot be used when cross-compiling" - 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 - 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" - fi - fi - - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - # In 126 Chromium upstream decided to change the way that the rust toolchain is packaged - # so now we get a fancy src_unpack function to ensure that we don't accidentally unpack - # one toolchain over the other. The addtional control over over unpacking also helps us - # ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system - # package by just not unpacking it unless we're using the bundled toolchain. - unpack ${P}.tar.xz - if use system-toolchain; then - unpack chromium-patches-${PATCH_V}.tar.bz2 - else - unpack chromium-${PV%%\.*}-clang.tar.xz - local rust_dir="${WORKDIR}/rust-toolchain" - mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory" - tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain" - fi - - use pgo && unpack chromium-profiler-0.2.tar - - if use ppc64; then - unpack chromium_${PATCHSET_PPC64}.debian.tar.xz - unpack chromium-ppc64le-gentoo-patches-1.tar.xz - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # disable global media controls, crashes with libstdc++ - sed -i -e \ - "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ - "chrome/browser/media/router/media_router_feature.cc" - - local PATCHES=( - "${FILESDIR}/chromium-cross-compile.patch" - "${FILESDIR}/chromium-109-system-zlib.patch" - "${FILESDIR}/chromium-111-InkDropHost-crash.patch" - "${FILESDIR}/chromium-126-oauth2-client-switches.patch" - "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" - ) - - if use system-toolchain; then - # The patchset is really only required if we're using the system-toolchain - PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" ) - # We can't use the bundled compiler builtins with the system toolchain - # `grep` is a development convenience to ensure we fail early when google changes something. - local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" - grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" - sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn - - else - mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm" - ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin" - ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib" - echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \ - die "Failed to set clang version" - ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" - cp "${WORKDIR}"/rust-toolchain/VERSION \ - "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" - fi - - if use ppc64 ; then - local p - for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do - if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then - eapply "${WORKDIR}/debian/patches/${p}" - fi - done - PATCHES+=( "${WORKDIR}/ppc64le" ) - PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" ) - fi - - default - - rm third_party/node/linux/node-linux-x64/bin/node || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local keeplibs=( - base/third_party/cityhash - base/third_party/double_conversion - base/third_party/icu - base/third_party/nspr - base/third_party/superfasthash - base/third_party/symbolize - base/third_party/xdg_user_dirs - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - chrome/third_party/mozilla_security_manager - courgette/third_party - net/third_party/mozilla_security_manager - net/third_party/nss - net/third_party/quic - net/third_party/uri_template - third_party/abseil-cpp - third_party/angle - third_party/angle/src/common/third_party/xxhash - third_party/angle/src/third_party/ceval - third_party/angle/src/third_party/libXNVCtrl - third_party/angle/src/third_party/volk - third_party/anonymous_tokens - third_party/apple_apsl - third_party/axe-core - third_party/bidimapper - third_party/blink - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/catapult - third_party/catapult/common/py_vulcanize/third_party/rcssmin - third_party/catapult/common/py_vulcanize/third_party/rjsmin - third_party/catapult/third_party/beautifulsoup4-4.9.3 - third_party/catapult/third_party/html5lib-1.1 - third_party/catapult/third_party/polymer - third_party/catapult/third_party/six - third_party/catapult/tracing/third_party/d3 - third_party/catapult/tracing/third_party/gl-matrix - third_party/catapult/tracing/third_party/jpeg-js - third_party/catapult/tracing/third_party/jszip - third_party/catapult/tracing/third_party/mannwhitneyu - third_party/catapult/tracing/third_party/oboe - third_party/catapult/tracing/third_party/pako - third_party/ced - third_party/cld_3 - third_party/closure_compiler - third_party/content_analysis_sdk - third_party/cpuinfo - third_party/crabbyavif - third_party/crashpad - third_party/crashpad/crashpad/third_party/lss - third_party/crashpad/crashpad/third_party/zlib - third_party/crc32c - third_party/cros_system_api - third_party/d3 - third_party/dav1d - third_party/dawn - third_party/dawn/third_party/gn/webgpu-cts - third_party/dawn/third_party/khronos - third_party/depot_tools - third_party/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/acorn - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/devtools-frontend/src/front_end/third_party/axe-core - third_party/devtools-frontend/src/front_end/third_party/chromium - third_party/devtools-frontend/src/front_end/third_party/codemirror - third_party/devtools-frontend/src/front_end/third_party/csp_evaluator - third_party/devtools-frontend/src/front_end/third_party/diff - third_party/devtools-frontend/src/front_end/third_party/i18n - third_party/devtools-frontend/src/front_end/third_party/intl-messageformat - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/front_end/third_party/lit - third_party/devtools-frontend/src/front_end/third_party/lodash-isequal - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/puppeteer - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs - third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/front_end/third_party/web-vitals - third_party/devtools-frontend/src/third_party - third_party/distributed_point_functions - third_party/dom_distiller_js - third_party/eigen3 - third_party/emoji-segmenter - third_party/farmhash - third_party/fdlibm - third_party/ffmpeg - third_party/fft2d - third_party/flatbuffers - third_party/fp16 - third_party/freetype - third_party/fusejs - third_party/fxdiv - third_party/gemmlowp - third_party/google_input_tools - third_party/google_input_tools/third_party/closure_library - third_party/google_input_tools/third_party/closure_library/third_party/closure - third_party/googletest - third_party/highway - third_party/hunspell - third_party/iccjpeg - third_party/inspector_protocol - third_party/ipcz - third_party/jinja2 - third_party/jsoncpp - third_party/jstemplate - third_party/khronos - third_party/lens_server_proto - third_party/leveldatabase - third_party/libaddressinput - third_party/libaom - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libaom/source/libaom/third_party/SVT-AV1 - third_party/libaom/source/libaom/third_party/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libc++ - third_party/libevent - third_party/libgav1 - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/liburlpattern - third_party/libva_protected_content - third_party/libvpx - third_party/libvpx/source/libvpx/third_party/x86inc - third_party/libwebm - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - third_party/libzip - third_party/lit - third_party/lottie - third_party/lss - third_party/lzma_sdk - third_party/mako - third_party/markupsafe - third_party/material_color_utilities - third_party/mesa - third_party/metrics_proto - third_party/minigbm - third_party/modp_b64 - third_party/nasm - third_party/nearby - third_party/neon_2_sse - third_party/node - third_party/omnibox_proto - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/ - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/opus - third_party/ots - third_party/pdfium - third_party/pdfium/third_party/agg23 - third_party/pdfium/third_party/bigint - third_party/pdfium/third_party/freetype - third_party/pdfium/third_party/lcms - third_party/pdfium/third_party/libopenjpeg - third_party/pdfium/third_party/libtiff - third_party/perfetto - third_party/perfetto/protos/third_party/chromium - third_party/perfetto/protos/third_party/simpleperf - third_party/pffft - third_party/ply - third_party/polymer - third_party/private_membership - third_party/private-join-and-compute - third_party/protobuf - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/qcms - third_party/rapidhash - third_party/re2 - third_party/rnnoise - third_party/rust - third_party/ruy - third_party/s2cellid - third_party/securemessage - third_party/selenium-atoms - third_party/sentencepiece - third_party/sentencepiece/src/third_party/darts_clone - third_party/shell-encryption - third_party/simplejson - third_party/six - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/snappy - third_party/spirv-headers - third_party/spirv-tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/astc-encoder - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/marl - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv - third_party/swiftshader/third_party/SPIRV-Tools - third_party/swiftshader/third_party/subzero - third_party/tensorflow_models - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/tflite/src/third_party/xla/third_party/tsl - third_party/tflite/src/third_party/xla/xla/tsl/util - third_party/tflite/src/third_party/xla/xla/tsl/framework - third_party/ukey2 - third_party/unrar - third_party/utf - third_party/vulkan - third_party/wayland - third_party/webdriver - third_party/webgpu-cts - third_party/webrtc - third_party/webrtc/common_audio/third_party/ooura - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/modules/third_party/fft - third_party/webrtc/modules/third_party/g711 - third_party/webrtc/modules/third_party/g722 - third_party/webrtc/rtc_base/third_party/base64 - third_party/webrtc/rtc_base/third_party/sigslot - third_party/widevine - third_party/woff2 - third_party/wuffs - third_party/x11proto - third_party/xcbproto - third_party/xnnpack - third_party/zlib/google - third_party/zxcvbn-cpp - url/third_party/mozilla - v8/src/third_party/siphash - v8/src/third_party/utf8-decoder - v8/src/third_party/valgrind - v8/third_party/glibc - v8/third_party/inspector_protocol - v8/third_party/v8 - - # gyp -> gn leftovers - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - - # USE=system-* - if ! use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng ) - fi - - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - - if ! use system-zstd; then - keeplibs+=( third_party/zstd ) - fi - - if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then - keeplibs+=( third_party/llvm ) - fi - - # Arch-specific - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - # requires git and clang, bug #832803 - # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh - # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh - # since we're not in a git repo - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - - pushd third_party/ffmpeg >/dev/null || die - cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die - cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die - popd >/dev/null || die - fi - - einfo "Unbundling third-party libraries ..." - # Remove most bundled libraries. Some are still needed. - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -chromium_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # We already forced the "correct" clang via pkg_setup - if use system-toolchain; then - if tc-is-cross-compiler; then - CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" - CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" - BUILD_AR=${AR} - BUILD_CC=${CC} - BUILD_CXX=${CXX} - BUILD_NM=${NM} - fi - - strip-unsupported-flags - - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - # https://bugs.gentoo.org/918897#c32 - append-ldflags -Wl,--undefined-version - myconf_gn+=" use_lld=true" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # bindgen settings - # From 127, to make bindgen work, we need to provide a location for libclang. - # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch - # 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)\"" - # 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}\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=false" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - libxml - libxslt - openh264 - zlib - ) - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if use system-zstd; then - gn_system_libraries+=( zstd ) - fi - - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Optional dependencies. - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - - if use headless; then - myconf_gn+=" use_cups=false" - myconf_gn+=" use_kerberos=false" - myconf_gn+=" use_pulseaudio=false" - myconf_gn+=" use_vaapi=false" - myconf_gn+=" rtc_use_pipewire=false" - else - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - myconf_gn+=" gtk_version=$(usex gtk4 4 3)" - fi - - # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of - # using dlopen. This helps with automated detection of ABI mismatches and - # prevents silent errors. - if use pulseaudio; then - myconf_gn+=" link_pulseaudio=true" - fi - - # Non-developer builds of Chromium (for example, non-Chrome browsers, or - # Chromium builds provided by Linux distros) should disable the testing config - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # The sysroot is the oldest debian image that chromium supports, we don't need it - myconf_gn+=" use_sysroot=false" - - # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) - # instead of the system C++ library for C++ standard library support. - # default: true, but let's be explicit (forced since 120 ; USE removed 127). - myconf_gn+=" use_custom_libcxx=true" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - if use bindist ; then - # proprietary_codecs just forces Chromium to say that it can use h264/aac, - # the work is still done by ffmpeg. If this is set to no Chromium - # won't be able to load the codec even if the library can handle it - myconf_gn+=" proprietary_codecs=true" - myconf_gn+=" ffmpeg_branding=\"Chrome\"" - # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute - myconf_gn+=" is_component_ffmpeg=true" - else - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - fi - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - filter-flags "-g*" - - # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. - if [[ ${myarch} == amd64 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - die "Failed to determine target arch, got '$myarch'." - fi - - myconf_gn+=" treat_warnings_as_errors=false" - # Disable fatal linker warnings, bug 506268. - myconf_gn+=" fatal_linker_warnings=false" - - # Disable external code space for V8 for ppc64. It is disabled for ppc64 - # by default, but cross-compiling on amd64 enables it again. - if tc-is-cross-compiler; then - if ! use amd64 && ! use arm64; then - myconf_gn+=" v8_enable_external_code_space=false" - fi - fi - - # Only enabled for clang, but gcc has endian macros too - myconf_gn+=" v8_use_libm_trig_functions=true" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - # We don't use the same clang version as upstream, and with -Werror - # we need to make sure that we don't get superfluous warnings. - append-flags -Wno-unknown-warning-option - if tc-is-cross-compiler; then - export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" - export BUILD_CFLAGS+=" -Wno-unknown-warning-option" - fi - - # Explicitly disable ICU data file support for system-icu/headless builds. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Don't need nocompile checks and GN crashes with our config - myconf_gn+=" enable_nocompile_tests=false" - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" - myconf_gn+=" use_glib=false use_gio=false" - myconf_gn+=" use_pangocairo=false use_alsa=false" - myconf_gn+=" use_libpci=false use_udev=false" - myconf_gn+=" enable_print_preview=false" - myconf_gn+=" enable_remoting=false" - else - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - if use qt5 || use qt6; then - local cbuild_libdir=$(get_libdir) - if tc-is-cross-compiler; then - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) - cbuild_libdir=${cbuild_libdir:2} - cbuild_libdir=${cbuild_libdir/% } - fi - if use qt5; then - if tc-is-cross-compiler; then - myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" - else - myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" - fi - fi - if use qt6; then - myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" - fi - - myconf_gn+=" use_qt=true" - myconf_gn+=" use_qt6=$(usex qt6 true false)" - else - myconf_gn+=" use_qt=false" - fi - myconf_gn+=" ozone_platform_x11=$(usex X true false)" - myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" - myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" - use wayland && myconf_gn+=" use_system_libffi=true" - fi - - # Results in undefined references in chrome linking, may require CFI to work - if use arm64; then - myconf_gn+=" arm_control_flow_integrity=\"none\"" - fi - - # 936673: Updater (which we don't use) depends on libsystemd - # This _should_ always be disabled if we're not building a - # "Chrome" branded browser, but obviously this is not always sufficient. - myconf_gn+=" enable_updater=false" - - local use_lto="false" - if tc-is-lto; then - use_lto="true" - fi - myconf_gn+=" use_thin_lto=${use_lto}" - myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ - tools/generate_shim_headers/generate_shim_headers.py || die - # Req's LTO; TODO: not compatible with -fno-split-lto-unit - # split-lto-unit can be enabled with RUSTC_BOOTSTRAP=1 (and an updated compiler patch), - # however I still got weird linking errors with CFI _and_ the split unit LTO OOMed after using 100G. - myconf_gn+=" is_cfi=false" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - if use pgo; then - myconf_gn+=" chrome_pgo_phase=${1}" - if [[ "$1" == "2" ]]; then - myconf_gn+=" pgo_data_path=\"${2}\"" - fi - else - # Disable PGO - myconf_gn+=" chrome_pgo_phase=0" - fi - - # skipping typecheck is only supported on amd64, bug #876157 - if ! use amd64; then - myconf_gn+=" devtools_skip_typecheck=false" - fi - - einfo "Configuring Chromium ..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_configure() { - chromium_configure $(usex pgo 1 0) -} - -chromium_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - # Build mksnapshot and pax-mark it. - if use pax-kernel; then - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - fi - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver chrome_sandbox - - pax-mark m out/Release/chrome - - if ! use system-toolchain; then - QA_FLAGS_IGNORED=" - usr/lib64/chromium-browser/chrome - usr/lib64/chromium-browser/chrome-sandbox - usr/lib64/chromium-browser/chromedriver - usr/lib64/chromium-browser/chrome_crashpad_handler - usr/lib64/chromium-browser/libEGL.so - usr/lib64/chromium-browser/libGLESv2.so - usr/lib64/chromium-browser/libVkICD_mock_icd.so - usr/lib64/chromium-browser/libVkLayer_khronos_validation.so - usr/lib64/chromium-browser/libqt5_shim.so - usr/lib64/chromium-browser/libvk_swiftshader.so - usr/lib64/chromium-browser/libvulkan.so.1 - " - fi -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use X && use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - - if use bindist; then - # We built libffmpeg as a component library, but we can't distribute it - # with proprietary codec support. Remove it and make a symlink to the requested - # system library. - rm -f out/Release/libffmpeg.so \ - || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" - # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. - einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." - dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ - /usr/$(get_libdir)/chromium-browser/libffmpeg.so - fi - - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" - doins out/Release/xdg-{settings,mime} - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if ! use headless; then - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behavior you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use qt5 && use qt6; then - elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" - elog "environment. To override you need to pass --qt-version=5 or" - elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" - elog "/etc/chromium/default." - fi - fi - - if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then - ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" - ewarn "indicates that the Gentoo handbook was not followed to completion." - ewarn "" - ewarn "Chromium is known to behave unpredictably with this system configuration;" - ewarn "please complete the configuration of this system before logging any bugs." - fi -} diff --git a/www-client/chromium/chromium-130.0.6723.116-r1.ebuild b/www-client/chromium/chromium-130.0.6723.116-r1.ebuild new file mode 100644 index 000000000000..1ffd8810c364 --- /dev/null +++ b/www-client/chromium/chromium-130.0.6723.116-r1.ebuild @@ -0,0 +1,1385 @@ +# Copyright 2009-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# PACKAGING NOTES + +# This uses a gentoo-created tarball due to Google CI Failures. +# Use 132 as a base for new official tarballs. + +GN_MIN_VER=0.2165 +# chromium-tools/get-chromium-toolchain-strings.py + +VIRTUALX_REQUIRED="pgo" + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + 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" + +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-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 + test? ( + https://chromium-tarballs.distfiles.gentoo.org/${P}-testdata.tar.xz -> ${P}-testdata-gentoo.tar.xz + https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz + ) + ppc64? ( + https://gitlab.solidsilicon.io/public-development/open-source/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 + ) + pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" + +LICENSE="BSD" +SLOT="0/stable" +# 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="~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" +RESTRICT=" + !bindist? ( bindist ) + !test? ( test ) +" + +REQUIRED_USE=" + !headless? ( || ( X wayland ) ) + pgo? ( X !wayland ) + qt6? ( qt5 ) + screencast? ( wayland ) + ffmpeg-chromium? ( bindist proprietary-codecs ) +" + +COMMON_X_DEPEND=" + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXtst:= + x11-libs/libxshmfence:= +" + +COMMON_SNAPSHOT_DEPEND=" + system-icu? ( >=dev-libs/icu-73.0:= ) + >=dev-libs/libxml2-2.12.4:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + dev-libs/libxslt:= + media-libs/fontconfig:= + >=media-libs/freetype-2.11.0-r1:= + system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) + media-libs/libjpeg-turbo:= + system-png? ( media-libs/libpng:=[-apng(-)] ) + system-zstd? ( >=app-arch/zstd-1.5.5:= ) + >=media-libs/libwebp-0.4.0:= + media-libs/mesa:=[gbm(+)] + >=media-libs/openh264-1.6.0:= + sys-libs/zlib:= + x11-libs/libdrm:= + !headless? ( + dev-libs/glib:2 + >=media-libs/alsa-lib-1.0.19:= + pulseaudio? ( media-libs/libpulse:= ) + sys-apps/pciutils:= + kerberos? ( virtual/krb5 ) + vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) + X? ( + x11-base/xorg-proto:= + x11-libs/libX11:= + x11-libs/libxcb:= + x11-libs/libXext:= + ) + x11-libs/libxkbcommon:= + wayland? ( + dev-libs/libffi:= + dev-libs/wayland:= + screencast? ( media-video/pipewire:= ) + ) + ) +" + +COMMON_DEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + app-arch/bzip2:= + dev-libs/expat:= + net-misc/curl[ssl] + sys-apps/dbus:= + media-libs/flac:= + sys-libs/zlib:=[minizip] + !headless? ( + X? ( ${COMMON_X_DEPEND} ) + >=app-accessibility/at-spi2-core-2.46.0:2 + media-libs/mesa:=[X?,wayland?] + cups? ( >=net-print/cups-1.3.11:= ) + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/pango:= + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + ) +" +RDEPEND="${COMMON_DEPEND} + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[X?,wayland?] + ) + qt5? ( dev-qt/qtgui:5[X?,wayland?] ) + qt6? ( dev-qt/qtbase:6[X?,wayland?] ) + ) + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) + bindist? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) + ) +" +DEPEND="${COMMON_DEPEND} + !headless? ( + gtk4? ( gui-libs/gtk:4[X?,wayland?] ) + !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) + ) +" + +BDEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + >=app-arch/gzip-1.7 + !headless? ( + qt5? ( dev-qt/qtcore:5 ) + qt6? ( dev-qt/qtbase:6 ) + ) + $(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 + ) + >=dev-util/bindgen-0.68.0 + >=dev-build/gn-${GN_MIN_VER} + dev-build/ninja + dev-lang/perl + >=dev-util/gperf-3.0.3 + dev-vcs/git + >=net-libs/nodejs-7.6.0[inspector] + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig +" + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS=" +Some web pages may require additional fonts to display properly. +Try installing some of the following packages if some characters +are not displayed properly: +- media-fonts/arphicfonts +- media-fonts/droid +- media-fonts/ipamonafont +- media-fonts/noto +- media-fonts/ja-ipafonts +- media-fonts/takao-fonts +- media-fonts/wqy-microhei +- media-fonts/wqy-zenhei + +To fix broken icons on the Downloads page, you should install an icon +theme that covers the appropriate MIME types, and configure this as your +GTK+ icon theme. + +For native file dialogs in KDE, install kde-apps/kdialog. + +To make password storage work with your desktop environment you may +have install one of the supported credentials management applications: +- app-crypt/libsecret (GNOME) +- kde-frameworks/kwallet (KDE) +If you have one of above packages installed, but don't want to use +them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS +in /etc/chromium/default. +" + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +pre_build_checks() { + # Check build requirements: bugs #471810, #541816, #914220 + # We're going to start doing maths here on the size of an unpacked source tarball, + # this should make updates easier as chromium continues to balloon in size. + local BASE_DISK=24 + local EXTRA_DISK=1 + local CHECKREQS_MEMORY="4G" + tc-is-cross-compiler && EXTRA_DISK=2 + if tc-is-lto || use pgo; then + CHECKREQS_MEMORY="9G" + tc-is-cross-compiler && EXTRA_DISK=4 + use pgo && EXTRA_DISK=8 + fi + if is-flagq '-g?(gdb)?([1-9])'; then + if use custom-cflags; then + EXTRA_DISK=13 + fi + CHECKREQS_MEMORY="16G" + fi + CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" + check-reqs_${EBUILD_PHASE_FUNC} +} + +pkg_pretend() { + 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 + fi + + if use headless; then + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") + for myiuse in ${headless_unused_flags[@]}; do + use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." + done + fi + + if ! use bindist && use ffmpeg-chromium; then + ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." + fi +} + +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 + # This is effectively the 'force-clang' path if GCC support is re-added. + use_lto="false" + if tc-is-lto; then + use_lto="true" + # We can rely on GN to do this for us; anecdotally without this builds + # take significantly longer with LTO enabled and it doesn't hurt anything. + filter-lto + fi + + if [ "$use_lto" = "false" ] && use official; then + einfo "USE=official selected and LTO not detected." + einfo "It is _highly_ recommended that LTO be enabled for performance reasons" + einfo "and to be consistent with the upstream \"official\" build optimisations." + fi + + if [ "$use_lto" = "false" ] && use test; then + die "Tests require CFI which requires LTO" + fi + + export use_lto + + # 936858 + if tc-ld-is-mold; then + eerror "Your toolchain is using the mold linker." + eerror "This is not supported by Chromium." + die "Please switch to a different linker." + fi + + # We're forcing Clang here. User choice is respected via llvm_slot_# USE flags. + AR=llvm-ar + CPP="${CHOST}-clang++ -E" + NM=llvm-nm + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + + if tc-is-cross-compiler; then + use pgo && die "The pgo USE flag cannot be used when cross-compiling" + CPP="${CBUILD}-clang++ -E" + fi + + llvm-r1_pkg_setup + rust_pkg_setup + + einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" + 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 + + # 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" + fi + fi + + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + unpack ${P}.tar.xz + unpack chromium-patches-${PATCH_V}.tar.bz2 + + use pgo && unpack chromium-profiler-0.2.tar + + if use test; then + # 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.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" + tar xf "${DISTDIR}/${P%%\.*}-testfonts.tar.gz" -C "${testfonts_dir}" || die "Failed to unpack testfonts" + fi + + if use ppc64; then + unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 + fi +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # disable global media controls, crashes with libstdc++ + sed -i -e \ + "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ + "chrome/browser/media/router/media_router_feature.cc" + + local PATCHES=( + "${FILESDIR}/chromium-cross-compile.patch" + "${FILESDIR}/chromium-109-system-zlib.patch" + "${FILESDIR}/chromium-111-InkDropHost-crash.patch" + "${FILESDIR}/chromium-126-oauth2-client-switches.patch" + "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" + ) + + shopt -s globstar nullglob + # 130: moved the PPC64 patches into the chromium-patches repo + local patch + for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do + elog "Applying patch: ${patch}" + if [[ ${patch} == *"ppc64le"* ]]; then + use ppc64 && PATCHES+=( "${patch}" ) + else + PATCHES+=( "${patch}" ) + fi + done + + # We can't use the bundled compiler builtins with the system toolchain + # `grep` is a development convenience to ensure we fail early when google changes something. + local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" + grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" + sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn + + if use ppc64; then + # Above this level there are ungoogled-chromium patches that we can't apply + local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches/ppc64le" + # Apply the OpenPOWER patches + local power9_patch="patches/ppc64le/core/baseline-isa-3-0.patch" + for patch in ${patchset_dir}/**/*.{patch,diff}; do + if [[ ${patch} == *"${power9_patch}" ]]; then + use cpu_flags_ppc_vsx3 && PATCHES+=( "${patch}" ) + else + PATCHES+=( "${patch}" ) + fi + done + + PATCHES+=( "${WORKDIR}/openpower-patches-${PPC64_HASH}/patches/upstream/blink-fix-size-assertions.patch" ) + fi + + shopt -u globstar nullglob + + default + + rm third_party/node/linux/node-linux-x64/bin/node || die + ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die + + # adjust python interpreter version + sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die + + # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party' + # whitelist matches use the right-most matching path component, so we need to whitelist from that point down. + local keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + chrome/third_party/mozilla_security_manager + net/third_party/mozilla_security_manager + net/third_party/nss + net/third_party/quic + net/third_party/uri_template + third_party/abseil-cpp + third_party/angle + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/ceval + third_party/angle/src/third_party/libXNVCtrl + third_party/angle/src/third_party/volk + third_party/anonymous_tokens + third_party/apple_apsl + third_party/axe-core + third_party/bidimapper + third_party/blink + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + third_party/brotli + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4-4.9.3 + third_party/catapult/third_party/html5lib-1.1 + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + third_party/catapult/tracing/third_party/d3 + third_party/catapult/tracing/third_party/gl-matrix + third_party/catapult/tracing/third_party/jpeg-js + third_party/catapult/tracing/third_party/jszip + third_party/catapult/tracing/third_party/mannwhitneyu + third_party/catapult/tracing/third_party/oboe + third_party/catapult/tracing/third_party/pako + third_party/ced + third_party/cld_3 + third_party/closure_compiler + third_party/content_analysis_sdk + third_party/cpuinfo + third_party/crabbyavif + third_party/crashpad + third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib + third_party/crc32c + third_party/cros_system_api + third_party/d3 + third_party/dav1d + third_party/dawn + third_party/dawn/third_party/gn/webgpu-cts + third_party/dawn/third_party/khronos + third_party/depot_tools + third_party/devscripts + third_party/devtools-frontend + third_party/devtools-frontend/src/front_end/third_party/acorn + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/devtools-frontend/src/front_end/third_party/axe-core + third_party/devtools-frontend/src/front_end/third_party/chromium + third_party/devtools-frontend/src/front_end/third_party/codemirror + third_party/devtools-frontend/src/front_end/third_party/csp_evaluator + third_party/devtools-frontend/src/front_end/third_party/diff + third_party/devtools-frontend/src/front_end/third_party/i18n + third_party/devtools-frontend/src/front_end/third_party/intl-messageformat + third_party/devtools-frontend/src/front_end/third_party/lighthouse + third_party/devtools-frontend/src/front_end/third_party/lit + third_party/devtools-frontend/src/front_end/third_party/lodash-isequal + third_party/devtools-frontend/src/front_end/third_party/marked + third_party/devtools-frontend/src/front_end/third_party/puppeteer + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/third-party-web + third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data + third_party/devtools-frontend/src/front_end/third_party/wasmparser + third_party/devtools-frontend/src/front_end/third_party/web-vitals + third_party/devtools-frontend/src/third_party + third_party/distributed_point_functions + third_party/dom_distiller_js + third_party/eigen3 + third_party/emoji-segmenter + third_party/farmhash + third_party/fast_float + third_party/fdlibm + third_party/ffmpeg + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/freetype + third_party/fusejs + third_party/fxdiv + third_party/gemmlowp + third_party/google_input_tools + third_party/google_input_tools/third_party/closure_library + third_party/google_input_tools/third_party/closure_library/third_party/closure + third_party/googletest + third_party/highway + third_party/hunspell + third_party/iccjpeg + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + third_party/jsoncpp + third_party/jstemplate + third_party/khronos + third_party/lens_server_proto + third_party/leveldatabase + third_party/libaddressinput + third_party/libaom + third_party/libaom/source/libaom/third_party/fastfeat + third_party/libaom/source/libaom/third_party/SVT-AV1 + third_party/libaom/source/libaom/third_party/vector + third_party/libaom/source/libaom/third_party/x86inc + third_party/libavif + third_party/libc++ + third_party/libevent + third_party/libgav1 + third_party/libjingle + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/liburlpattern + third_party/libva_protected_content + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc + third_party/libwebm + third_party/libx11 + third_party/libxcb-keysyms + third_party/libxml/chromium + third_party/libyuv + third_party/libzip + third_party/lit + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/markupsafe + third_party/material_color_utilities + third_party/mesa + third_party/metrics_proto + third_party/minigbm + third_party/modp_b64 + third_party/nasm + third_party/nearby + third_party/neon_2_sse + third_party/node + third_party/omnibox_proto + third_party/one_euro_filter + third_party/openscreen + third_party/openscreen/src/third_party/ + third_party/openscreen/src/third_party/tinycbor/src/src + third_party/opus + third_party/ots + third_party/pdfium + third_party/pdfium/third_party/agg23 + third_party/pdfium/third_party/bigint + third_party/pdfium/third_party/freetype + third_party/pdfium/third_party/lcms + third_party/pdfium/third_party/libopenjpeg + third_party/pdfium/third_party/libtiff + third_party/perfetto + third_party/perfetto/protos/third_party/chromium + third_party/perfetto/protos/third_party/simpleperf + third_party/pffft + third_party/ply + third_party/polymer + third_party/private_membership + third_party/private-join-and-compute + third_party/protobuf + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/qcms + third_party/rapidhash + third_party/re2 + third_party/rnnoise + third_party/rust + third_party/ruy + third_party/s2cellid + third_party/securemessage + third_party/selenium-atoms + third_party/sentencepiece + third_party/sentencepiece/src/third_party/darts_clone + third_party/shell-encryption + third_party/simplejson + third_party/six + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/snappy + third_party/spirv-headers + third_party/spirv-tools + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv + third_party/swiftshader/third_party/SPIRV-Tools + third_party/swiftshader/third_party/subzero + third_party/tensorflow_models + third_party/tensorflow-text + third_party/tflite + third_party/tflite/src/third_party/eigen3 + third_party/tflite/src/third_party/fft2d + third_party/tflite/src/third_party/xla/third_party/tsl + third_party/tflite/src/third_party/xla/xla/tsl/util + third_party/tflite/src/third_party/xla/xla/tsl/framework + third_party/ukey2 + third_party/unrar + third_party/utf + third_party/vulkan + third_party/wayland + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + third_party/webrtc/common_audio/third_party/spl_sqrt_floor + third_party/webrtc/modules/third_party/fft + third_party/webrtc/modules/third_party/g711 + third_party/webrtc/modules/third_party/g722 + third_party/webrtc/rtc_base/third_party/base64 + third_party/webrtc/rtc_base/third_party/sigslot + third_party/widevine + third_party/woff2 + third_party/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zlib/google + third_party/zxcvbn-cpp + url/third_party/mozilla + v8/src/third_party/siphash + v8/src/third_party/utf8-decoder + v8/src/third_party/valgrind + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/v8 + + # gyp -> gn leftovers + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + ) + + if use test; then + # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}' + keeplibs+=( + third_party/google_benchmark/src/include/benchmark + third_party/google_benchmark/src/src + third_party/perfetto/protos/third_party/pprof + third_party/test_fonts + third_party/test_fonts/fontconfig + ) + fi + + # USE=system-* + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi + + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + + if ! use system-png; then + keeplibs+=( third_party/libpng ) + fi + + if ! use system-zstd; then + keeplibs+=( third_party/zstd ) + fi + + # Arch-specific + if use arm64 || use ppc64 ; then + keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) + fi + # we need to generate ppc64 stuff because upstream does not ship it yet + # it has to be done before unbundling. + if use ppc64; then + pushd third_party/libvpx >/dev/null || die + mkdir -p source/config/linux/ppc64 || die + # requires git and clang, bug #832803 + # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh + # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh + # since we're not in a git repo + sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ + generate_gni.sh || die + ./generate_gni.sh || die + popd >/dev/null || die + + pushd third_party/ffmpeg >/dev/null || die + cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die + cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die + popd >/dev/null || die + fi + + # Sanity check keeplibs, on major version bumps it is often necessary to update this list + # and this enables us to hit them all at once. + # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) + whitelist_libs=( + net/third_party/quic + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/libjingle + third_party/mesa + third_party/skia/third_party/vulkan + third_party/vulkan + ) + local not_found_libs=() + for lib in "${keeplibs[@]}"; do + if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then + not_found_libs+=( "${lib}" ) + fi + done + + if [[ ${#not_found_libs[@]} -gt 0 ]]; then + eerror "The following \`keeplibs\` directories were not found in the source tree:" + for lib in "${not_found_libs[@]}"; do + eerror " ${lib}" + done + die "Please update the ebuild." + fi + + # Remove most bundled libraries. Some are still needed. + einfo "Unbundling third-party libraries ..." + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die + + # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed. + + # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries + mkdir -p buildtools/third_party/eu-strip/bin || die + ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die +} + +chromium_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + # We already forced the "correct" clang via pkg_setup + + if tc-is-cross-compiler; then + CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_AR=${AR} + BUILD_CC=${CC} + BUILD_CXX=${CXX} + BUILD_NM=${NM} + fi + + strip-unsupported-flags + + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + # https://bugs.gentoo.org/918897#c32 + append-ldflags -Wl,--undefined-version + myconf_gn+=" use_lld=true" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + + if tc-is-cross-compiler; then + tc-export BUILD_{AR,CC,CXX,NM} + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" + myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" + + # setup cups-config, build system only uses --libs option + if use cups; then + mkdir "${T}/cups-config" || die + cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die + export PATH="${PATH}:${T}/cups-config" + fi + + # Don't inherit PKG_CONFIG_PATH from environment + local -x PKG_CONFIG_PATH= + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + # bindgen settings + # From 127, to make bindgen work, we need to provide a location for libclang. + # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch + # rust_bindgen_root = directory with `bin/bindgen` beneath it. + myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" + + 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 + 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" + + # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. + # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. + myconf_gn+=" dcheck_always_on=$(usex debug true false)" + myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" + + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + myconf_gn+=" is_component_build=false" + + # Disable nacl, we can't build without pnacl (http://crbug.com/269560). + myconf_gn+=" enable_nacl=false" + + # Use system-provided libraries. + # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_sqlite (http://crbug.com/22208). + + # libevent: https://bugs.gentoo.org/593458 + local gn_system_libraries=( + flac + fontconfig + freetype + # Need harfbuzz_from_pkgconfig target + #harfbuzz-ng + libdrm + libjpeg + libwebp + libxml + libxslt + openh264 + zlib + ) + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-png; then + gn_system_libraries+=( libpng ) + fi + if use system-zstd; then + gn_system_libraries+=( zstd ) + fi + + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die + + # See dependency logic in third_party/BUILD.gn + myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" + + # Optional dependencies. + myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" + myconf_gn+=" enable_widevine=$(usex widevine true false)" + + if use headless; then + myconf_gn+=" use_cups=false" + myconf_gn+=" use_kerberos=false" + myconf_gn+=" use_pulseaudio=false" + myconf_gn+=" use_vaapi=false" + myconf_gn+=" rtc_use_pipewire=false" + else + myconf_gn+=" use_cups=$(usex cups true false)" + myconf_gn+=" use_kerberos=$(usex kerberos true false)" + myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" + myconf_gn+=" use_vaapi=$(usex vaapi true false)" + myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" + myconf_gn+=" gtk_version=$(usex gtk4 4 3)" + fi + + # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of + # using dlopen. This helps with automated detection of ABI mismatches and + # prevents silent errors. + if use pulseaudio; then + myconf_gn+=" link_pulseaudio=true" + fi + + # Non-developer builds of Chromium (for example, non-Chrome browsers, or + # Chromium builds provided by Linux distros) should disable the testing config + myconf_gn+=" disable_fieldtrial_testing_config=true" + + # The sysroot is the oldest debian image that chromium supports, we don't need it + myconf_gn+=" use_sysroot=false" + + # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) + # instead of the system C++ library for C++ standard library support. + # default: true, but let's be explicit (forced since 120 ; USE removed 127). + myconf_gn+=" use_custom_libcxx=true" + + # Disable pseudolocales, only used for testing + myconf_gn+=" enable_pseudolocales=false" + + # Disable code formating of generated files + myconf_gn+=" blink_enable_generated_code_formatting=false" + + if use bindist ; then + # proprietary_codecs just forces Chromium to say that it can use h264/aac, + # the work is still done by ffmpeg. If this is set to no Chromium + # won't be able to load the codec even if the library can handle it + myconf_gn+=" proprietary_codecs=true" + myconf_gn+=" ffmpeg_branding=\"Chrome\"" + # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute + myconf_gn+=" is_component_ffmpeg=true" + else + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" + myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" + fi + + # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . + # Note: these are for Gentoo use ONLY. For your own distribution, + # please get your own set of keys. Feel free to contact chromium@gentoo.org + # for more info. The OAuth2 credentials, however, have been left out. + # Those OAuth2 credentials have been broken for quite some time anyway. + # Instead we apply a patch to use the --oauth2-client-id= and + # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and + # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into + # Chromium without baked-in values. + local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" + myconf_gn+=" google_api_key=\"${google_api_key}\"" + local myarch="$(tc-arch)" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + + # Debug info section overflows without component build + # Prevent linker from running out of address space, bug #471810 . + filter-flags "-g*" + + # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. + if [[ ${myarch} == amd64 ]]; then + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a + fi + fi + + if [[ $myarch = amd64 ]] ; then + myconf_gn+=" target_cpu=\"x64\"" + ffmpeg_target_arch=x64 + elif [[ $myarch = arm64 ]] ; then + myconf_gn+=" target_cpu=\"arm64\"" + ffmpeg_target_arch=arm64 + elif [[ $myarch = ppc64 ]] ; then + myconf_gn+=" target_cpu=\"ppc64\"" + ffmpeg_target_arch=ppc64 + else + die "Failed to determine target arch, got '$myarch'." + fi + + myconf_gn+=" treat_warnings_as_errors=false" + # Disable fatal linker warnings, bug 506268. + myconf_gn+=" fatal_linker_warnings=false" + + # Disable external code space for V8 for ppc64. It is disabled for ppc64 + # by default, but cross-compiling on amd64 enables it again. + if tc-is-cross-compiler; then + if ! use amd64 && ! use arm64; then + myconf_gn+=" v8_enable_external_code_space=false" + fi + fi + + # Only enabled for clang, but gcc has endian macros too + myconf_gn+=" v8_use_libm_trig_functions=true" + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + # We don't use the same clang version as upstream, and with -Werror + # we need to make sure that we don't get superfluous warnings. + append-flags -Wno-unknown-warning-option + if tc-is-cross-compiler; then + export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" + export BUILD_CFLAGS+=" -Wno-unknown-warning-option" + fi + + # Explicitly disable ICU data file support for system-icu/headless builds. + if use system-icu || use headless; then + myconf_gn+=" icu_use_data_file=false" + fi + + # Don't need nocompile checks and GN crashes with our config + myconf_gn+=" enable_nocompile_tests=false" + + # Enable ozone wayland and/or headless support + myconf_gn+=" use_ozone=true ozone_auto_platforms=false" + myconf_gn+=" ozone_platform_headless=true" + if use headless; then + myconf_gn+=" ozone_platform=\"headless\"" + myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" + myconf_gn+=" use_glib=false use_gio=false" + myconf_gn+=" use_pangocairo=false use_alsa=false" + myconf_gn+=" use_libpci=false use_udev=false" + myconf_gn+=" enable_print_preview=false" + myconf_gn+=" enable_remoting=false" + else + myconf_gn+=" use_system_libdrm=true" + myconf_gn+=" use_system_minigbm=true" + myconf_gn+=" use_xkbcommon=true" + if use qt5 || use qt6; then + local cbuild_libdir=$(get_libdir) + if tc-is-cross-compiler; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) + cbuild_libdir=${cbuild_libdir:2} + cbuild_libdir=${cbuild_libdir/% } + fi + if use qt5; then + if tc-is-cross-compiler; then + myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" + else + myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" + fi + fi + if use qt6; then + myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" + fi + + myconf_gn+=" use_qt=true" + myconf_gn+=" use_qt6=$(usex qt6 true false)" + else + myconf_gn+=" use_qt=false" + fi + myconf_gn+=" ozone_platform_x11=$(usex X true false)" + myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" + myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" + use wayland && myconf_gn+=" use_system_libffi=true" + fi + + myconf_gn+=" use_thin_lto=${use_lto}" + myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" + + # Enable official builds + myconf_gn+=" is_official_build=$(usex official true false)" + if use official; then + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py || die + myconf_gn+=" is_cfi=${use_lto}" + # Don't add symbols to build + myconf_gn+=" symbol_level=0" + fi + + if use pgo; then + myconf_gn+=" chrome_pgo_phase=${1}" + if [[ "$1" == "2" ]]; then + myconf_gn+=" pgo_data_path=\"${2}\"" + fi + else + # Disable PGO + myconf_gn+=" chrome_pgo_phase=0" + fi + + # skipping typecheck is only supported on amd64, bug #876157 + if ! use amd64; then + myconf_gn+=" devtools_skip_typecheck=false" + fi + + einfo "Configuring Chromium ..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_configure() { + chromium_configure $(usex pgo 1 0) +} + +chromium_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # Don't inherit PYTHONPATH from environment, bug #789021, #812689 + local -x PYTHONPATH= + + # Build mksnapshot and pax-mark it. + if use pax-kernel; then + local x + for x in mksnapshot v8_context_snapshot_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + fi + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests") + + pax-mark m out/Release/chrome + +} + +# This function is called from virtx, and must always return so that Xvfb +# session isn't left running. If we return 1, virtx will call die(). +chromium_profile() { + einfo "Profiling for PGO" + + pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 + + # Remove old profdata in case profiling was interrupted. + rm -rf "${1}" || return 1 + + if ! "${EPYTHON}" ./chromium_profiler.py \ + --chrome-executable "${S}/out/Release/chrome" \ + --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ + --add-arg no-sandbox --add-arg disable-dev-shm-usage \ + --profile-output "${1}"; then + eerror "Profiling failed" + return 1 + fi + + popd >/dev/null || return 1 +} + +src_compile() { + if use pgo; then + local profdata + + profdata="${WORKDIR}/chromium.profdata" + + if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then + chromium_compile + virtx chromium_profile "$profdata" + + touch "${WORKDIR}/.pgo-profiled" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then + # Remove phase 1 output + rm -r out/Release || die + + chromium_configure 2 "$profdata" + + touch "${WORKDIR}/.pgo-phase-2-configured" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then + chromium_compile + touch "${WORKDIR}/.pgo-phase-2-compiled" || die + fi + else + chromium_compile + fi + + mv out/Release/chromedriver{.unstripped,} || die + + rm -f out/Release/locales/*.pak.info || die + + # Build manpage; bug #684550 + sed -e 's|@@PACKAGE@@|chromium-browser|g; + s|@@MENUNAME@@|Chromium|g;' \ + chrome/app/resources/manpage.1.in > \ + out/Release/chromium-browser.1 || die + + # Build desktop file; bug #706786 + sed -e 's|@@MENUNAME@@|Chromium|g; + s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; + s|@@PACKAGE@@|chromium-browser|g; + s|\(^Exec=\)/usr/bin/|\1|g;' \ + chrome/installer/linux/common/desktop.template > \ + out/Release/chromium-browser-chromium.desktop || die + + # Build vk_swiftshader_icd.json; bug #827861 + sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ + third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ + out/Release/vk_swiftshader_icd.json || die +} + +src_test() { + # Initial list of tests to skip pulled from Alpine. Thanks Lauren! + # https://issues.chromium.org/issues/40939315 + local skip_tests=( + 'MessagePumpLibeventTest.NestedNotification*' + ClampTest.Death + OptionalTest.DereferencingNoValueCrashes + PlatformThreadTest.SetCurrentThreadTypeTest + RawPtrTest.TrivialRelocability + SafeNumerics.IntMaxOperations + StackTraceTest.TraceStackFramePointersFromBuffer + StringPieceTest.InvalidLengthDeath + StringPieceTest.OutOfBoundsDeath + ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker + ValuesUtilTest.FilePath + ) + 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 \ + --test-launcher-jobs="$(makeopts_jobs)" \ + --gtest_filter="${test_filter}" || die "Tests failed!" +} + +src_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + + doexe out/Release/chromedriver + doexe out/Release/chrome_crashpad_handler + + ozone_auto_session () { + use X && use wayland && ! use headless && echo true || echo false + } + local sedargs=( -e + "s:/usr/lib/:/usr/$(get_libdir)/:g; + s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" + ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die + doexe chromium-launcher.sh + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium + + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver + + # Allow users to override command-line options, bug #357629. + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + + if use bindist; then + # We built libffmpeg as a component library, but we can't distribute it + # with proprietary codec support. Remove it and make a symlink to the requested + # system library. + rm -f out/Release/libffmpeg.so \ + || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" + # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. + einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." + dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ + /usr/$(get_libdir)/chromium-browser/libffmpeg.so + fi + + ( + shopt -s nullglob + local files=(out/Release/*.so out/Release/*.so.[0-9]) + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" + ) + + # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" + doins out/Release/xdg-{settings,mime} + + if ! use system-icu && ! use headless; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/MEIPreload + + # Install vk_swiftshader_icd.json; bug #827861 + doins out/Release/vk_swiftshader_icd.json + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + # Install icons + local branding size + for size in 16 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser.png + done + + # Install desktop entry + domenu out/Release/chromium-browser-chromium.desktop + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml + + # Install manpage; bug #684550 + doman out/Release/chromium-browser.1 + dosym chromium-browser.1 /usr/share/man/man1/chromium.1 + + readme.gentoo_create_doc +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + readme.gentoo_print_elog + + if ! use headless; then + if use vaapi; then + elog "VA-API is disabled by default at runtime. You have to enable it" + elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" + elog "in /etc/chromium/default." + fi + if use screencast; then + elog "Screencast is disabled by default at runtime. Either enable it" + elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" + elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use gtk4; then + elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" + elog "behavior you need to pass --gtk-version=4, e.g. by adding it" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use qt5 && use qt6; then + elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" + elog "environment. To override you need to pass --qt-version=5 or" + elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" + elog "/etc/chromium/default." + fi + fi + + if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then + ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" + ewarn "indicates that the Gentoo handbook was not followed to completion." + ewarn "" + ewarn "Chromium is known to behave unpredictably with this system configuration;" + ewarn "please complete the configuration of this system before logging any bugs." + fi +} diff --git a/www-client/chromium/chromium-130.0.6723.116.ebuild b/www-client/chromium/chromium-130.0.6723.116.ebuild deleted file mode 100644 index b8702db794c7..000000000000 --- a/www-client/chromium/chromium-130.0.6723.116.ebuild +++ /dev/null @@ -1,1523 +0,0 @@ -# Copyright 2009-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# PACKAGING NOTES - -# This uses a gentoo-created tarball due to Google CI Failures. -# 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" - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 ) -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="xml(+)" - -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 - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://www.chromium.org/" -PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6" -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 - test? ( - https://chromium-tarballs.distfiles.gentoo.org/${P}-testdata.tar.xz -> ${P}-testdata-gentoo.tar.xz - https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz - ) - ppc64? ( - https://gitlab.solidsilicon.io/public-development/open-source/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 - ) - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -LICENSE="BSD" -SLOT="0/stable" -# 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="~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" -RESTRICT=" - !bindist? ( bindist ) - !test? ( test ) -" - -REQUIRED_USE=" - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) - qt6? ( qt5 ) - screencast? ( wayland ) - ffmpeg-chromium? ( bindist proprietary-codecs ) -" - -COMMON_X_DEPEND=" - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-73.0:= ) - >=dev-libs/libxml2-2.12.4:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng(-)] ) - system-zstd? ( >=app-arch/zstd-1.5.5:= ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-libs/libpulse:= ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) - X? ( - x11-base/xorg-proto:= - x11-libs/libX11:= - x11-libs/libxcb:= - x11-libs/libXext:= - ) - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/libffi:= - dev-libs/wayland:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - X? ( ${COMMON_X_DEPEND} ) - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - cups? ( >=net-print/cups-1.3.11:= ) - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[X?,wayland?] - ) - qt5? ( dev-qt/qtgui:5[X?,wayland?] ) - qt6? ( dev-qt/qtbase:6[X?,wayland?] ) - ) - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - bindist? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) - ) -" -DEPEND="${COMMON_DEPEND} - !headless? ( - gtk4? ( gui-libs/gtk:4[X?,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) - ) -" - -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} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - !headless? ( - qt5? ( dev-qt/qtcore:5 ) - qt6? ( dev-qt/qtbase:6 ) - ) - $(depend_clang_llvm_versions) - pgo? ( - >=dev-python/selenium-3.141.0 - >=dev-util/web_page_replay_go-20220314 - ) - >=dev-util/bindgen-0.68.0 - >=dev-build/gn-${GN_MIN_VER} - dev-build/ninja - dev-lang/perl - >=dev-util/gperf-3.0.3 - dev-vcs/git - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig -" - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - # Check build requirements: bugs #471810, #541816, #914220 - # We're going to start doing maths here on the size of an unpacked source tarball, - # this should make updates easier as chromium continues to balloon in size. - local BASE_DISK=24 - local EXTRA_DISK=1 - local CHECKREQS_MEMORY="4G" - tc-is-cross-compiler && EXTRA_DISK=2 - if tc-is-lto || use pgo; then - CHECKREQS_MEMORY="9G" - tc-is-cross-compiler && EXTRA_DISK=4 - use pgo && EXTRA_DISK=8 - fi - if is-flagq '-g?(gdb)?([1-9])'; then - if use custom-cflags; then - EXTRA_DISK=13 - fi - CHECKREQS_MEMORY="16G" - fi - CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" - check-reqs_${EBUILD_PHASE_FUNC} -} - -pkg_pretend() { - 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 - fi - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." - done - fi - - if ! use bindist && use ffmpeg-chromium; then - ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." - 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" - # We can rely on GN to do this for us; anecdotally without this builds - # take significantly longer with LTO enabled and it doesn't hurt anything. - filter-lto - fi - - if [ "$use_lto" = "false" ] && use official; then - einfo "USE=official selected and LTO not detected." - einfo "It is _highly_ recommended that LTO be enabled for performance reasons" - einfo "and to be consistent with the upstream \"official\" build optimisations." - fi - - if [ "$use_lto" = "false" ] && use test; then - die "Tests require CFI which requires LTO" - fi - - export use_lto - - # 936858 - if tc-ld-is-mold; then - eerror "Your toolchain is using the mold linker." - eerror "This is not supported by Chromium." - 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 - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - - if tc-is-cross-compiler; then - use pgo && die "The pgo USE flag cannot be used when cross-compiling" - 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 - - # 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" - fi - fi - - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - unpack ${P}-gentoo.tar.xz - unpack chromium-patches-${PATCH_V}.tar.bz2 - - use pgo && unpack chromium-profiler-0.2.tar - - if use test; then - # 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 - # 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" - fi - - if use ppc64; then - unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # disable global media controls, crashes with libstdc++ - sed -i -e \ - "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ - "chrome/browser/media/router/media_router_feature.cc" - - local PATCHES=( - "${FILESDIR}/chromium-cross-compile.patch" - "${FILESDIR}/chromium-109-system-zlib.patch" - "${FILESDIR}/chromium-111-InkDropHost-crash.patch" - "${FILESDIR}/chromium-126-oauth2-client-switches.patch" - "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" - ) - - shopt -s globstar nullglob - # 130: moved the PPC64 patches into the chromium-patches repo - local patch - for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do - elog "Applying patch: ${patch}" - if [[ ${patch} == *"ppc64le"* ]]; then - use ppc64 && PATCHES+=( "${patch}" ) - else - PATCHES+=( "${patch}" ) - fi - done - - # We can't use the bundled compiler builtins with the system toolchain - # `grep` is a development convenience to ensure we fail early when google changes something. - local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" - grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" - sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn - - if use ppc64; then - # Above this level there are ungoogled-chromium patches that we can't apply - local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches/ppc64le" - # Apply the OpenPOWER patches - local power9_patch="patches/ppc64le/core/baseline-isa-3-0.patch" - for patch in ${patchset_dir}/**/*.{patch,diff}; do - if [[ ${patch} == *"${power9_patch}" ]]; then - use cpu_flags_ppc_vsx3 && PATCHES+=( "${patch}" ) - else - PATCHES+=( "${patch}" ) - fi - done - - PATCHES+=( "${WORKDIR}/openpower-patches-${PPC64_HASH}/patches/upstream/blink-fix-size-assertions.patch" ) - fi - - shopt -u globstar nullglob - - default - - rm third_party/node/linux/node-linux-x64/bin/node || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party' - # whitelist matches use the right-most matching path component, so we need to whitelist from that point down. - local keeplibs=( - base/third_party/cityhash - base/third_party/double_conversion - base/third_party/icu - base/third_party/nspr - base/third_party/superfasthash - base/third_party/symbolize - base/third_party/xdg_user_dirs - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - chrome/third_party/mozilla_security_manager - net/third_party/mozilla_security_manager - net/third_party/nss - net/third_party/quic - net/third_party/uri_template - third_party/abseil-cpp - third_party/angle - third_party/angle/src/common/third_party/xxhash - third_party/angle/src/third_party/ceval - third_party/angle/src/third_party/libXNVCtrl - third_party/angle/src/third_party/volk - third_party/anonymous_tokens - third_party/apple_apsl - third_party/axe-core - third_party/bidimapper - third_party/blink - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/catapult - third_party/catapult/common/py_vulcanize/third_party/rcssmin - third_party/catapult/common/py_vulcanize/third_party/rjsmin - third_party/catapult/third_party/beautifulsoup4-4.9.3 - third_party/catapult/third_party/html5lib-1.1 - third_party/catapult/third_party/polymer - third_party/catapult/third_party/six - third_party/catapult/tracing/third_party/d3 - third_party/catapult/tracing/third_party/gl-matrix - third_party/catapult/tracing/third_party/jpeg-js - third_party/catapult/tracing/third_party/jszip - third_party/catapult/tracing/third_party/mannwhitneyu - third_party/catapult/tracing/third_party/oboe - third_party/catapult/tracing/third_party/pako - third_party/ced - third_party/cld_3 - third_party/closure_compiler - third_party/content_analysis_sdk - third_party/cpuinfo - third_party/crabbyavif - third_party/crashpad - third_party/crashpad/crashpad/third_party/lss - third_party/crashpad/crashpad/third_party/zlib - third_party/crc32c - third_party/cros_system_api - third_party/d3 - third_party/dav1d - third_party/dawn - third_party/dawn/third_party/gn/webgpu-cts - third_party/dawn/third_party/khronos - third_party/depot_tools - third_party/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/acorn - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/devtools-frontend/src/front_end/third_party/axe-core - third_party/devtools-frontend/src/front_end/third_party/chromium - third_party/devtools-frontend/src/front_end/third_party/codemirror - third_party/devtools-frontend/src/front_end/third_party/csp_evaluator - third_party/devtools-frontend/src/front_end/third_party/diff - third_party/devtools-frontend/src/front_end/third_party/i18n - third_party/devtools-frontend/src/front_end/third_party/intl-messageformat - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/front_end/third_party/lit - third_party/devtools-frontend/src/front_end/third_party/lodash-isequal - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/puppeteer - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs - third_party/devtools-frontend/src/front_end/third_party/third-party-web - third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/front_end/third_party/web-vitals - third_party/devtools-frontend/src/third_party - third_party/distributed_point_functions - third_party/dom_distiller_js - third_party/eigen3 - third_party/emoji-segmenter - third_party/farmhash - third_party/fast_float - third_party/fdlibm - third_party/ffmpeg - third_party/fft2d - third_party/flatbuffers - third_party/fp16 - third_party/freetype - third_party/fusejs - third_party/fxdiv - third_party/gemmlowp - third_party/google_input_tools - third_party/google_input_tools/third_party/closure_library - third_party/google_input_tools/third_party/closure_library/third_party/closure - third_party/googletest - third_party/highway - third_party/hunspell - third_party/iccjpeg - third_party/inspector_protocol - third_party/ipcz - third_party/jinja2 - third_party/jsoncpp - third_party/jstemplate - third_party/khronos - third_party/lens_server_proto - third_party/leveldatabase - third_party/libaddressinput - third_party/libaom - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libaom/source/libaom/third_party/SVT-AV1 - third_party/libaom/source/libaom/third_party/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libc++ - third_party/libevent - third_party/libgav1 - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/liburlpattern - third_party/libva_protected_content - third_party/libvpx - third_party/libvpx/source/libvpx/third_party/x86inc - third_party/libwebm - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - third_party/libzip - third_party/lit - third_party/lottie - third_party/lss - third_party/lzma_sdk - third_party/mako - third_party/markupsafe - third_party/material_color_utilities - third_party/mesa - third_party/metrics_proto - third_party/minigbm - third_party/modp_b64 - third_party/nasm - third_party/nearby - third_party/neon_2_sse - third_party/node - third_party/omnibox_proto - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/ - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/opus - third_party/ots - third_party/pdfium - third_party/pdfium/third_party/agg23 - third_party/pdfium/third_party/bigint - third_party/pdfium/third_party/freetype - third_party/pdfium/third_party/lcms - third_party/pdfium/third_party/libopenjpeg - third_party/pdfium/third_party/libtiff - third_party/perfetto - third_party/perfetto/protos/third_party/chromium - third_party/perfetto/protos/third_party/simpleperf - third_party/pffft - third_party/ply - third_party/polymer - third_party/private_membership - third_party/private-join-and-compute - third_party/protobuf - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/qcms - third_party/rapidhash - third_party/re2 - third_party/rnnoise - third_party/rust - third_party/ruy - third_party/s2cellid - third_party/securemessage - third_party/selenium-atoms - third_party/sentencepiece - third_party/sentencepiece/src/third_party/darts_clone - third_party/shell-encryption - third_party/simplejson - third_party/six - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/snappy - third_party/spirv-headers - third_party/spirv-tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/astc-encoder - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/marl - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv - third_party/swiftshader/third_party/SPIRV-Tools - third_party/swiftshader/third_party/subzero - third_party/tensorflow_models - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/tflite/src/third_party/xla/third_party/tsl - third_party/tflite/src/third_party/xla/xla/tsl/util - third_party/tflite/src/third_party/xla/xla/tsl/framework - third_party/ukey2 - third_party/unrar - third_party/utf - third_party/vulkan - third_party/wayland - third_party/webdriver - third_party/webgpu-cts - third_party/webrtc - third_party/webrtc/common_audio/third_party/ooura - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/modules/third_party/fft - third_party/webrtc/modules/third_party/g711 - third_party/webrtc/modules/third_party/g722 - third_party/webrtc/rtc_base/third_party/base64 - third_party/webrtc/rtc_base/third_party/sigslot - third_party/widevine - third_party/woff2 - third_party/wuffs - third_party/x11proto - third_party/xcbproto - third_party/xnnpack - third_party/zlib/google - third_party/zxcvbn-cpp - url/third_party/mozilla - v8/src/third_party/siphash - v8/src/third_party/utf8-decoder - v8/src/third_party/valgrind - v8/third_party/glibc - v8/third_party/inspector_protocol - v8/third_party/v8 - - # gyp -> gn leftovers - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - - if use test; then - # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}' - keeplibs+=( - third_party/google_benchmark/src/include/benchmark - third_party/google_benchmark/src/src - third_party/perfetto/protos/third_party/pprof - third_party/test_fonts - third_party/test_fonts/fontconfig - ) - fi - - # USE=system-* - if ! use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng ) - fi - - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - - if ! use system-zstd; then - keeplibs+=( third_party/zstd ) - fi - - # Arch-specific - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - # requires git and clang, bug #832803 - # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh - # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh - # since we're not in a git repo - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - - pushd third_party/ffmpeg >/dev/null || die - cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die - cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die - popd >/dev/null || die - fi - - # Sanity check keeplibs, on major version bumps it is often necessary to update this list - # and this enables us to hit them all at once. - # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) - whitelist_libs=( - net/third_party/quic - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/libjingle - third_party/mesa - third_party/skia/third_party/vulkan - third_party/vulkan - ) - local not_found_libs=() - for lib in "${keeplibs[@]}"; do - if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then - not_found_libs+=( "${lib}" ) - fi - done - - if [[ ${#not_found_libs[@]} -gt 0 ]]; then - eerror "The following \`keeplibs\` directories were not found in the source tree:" - for lib in "${not_found_libs[@]}"; do - eerror " ${lib}" - done - die "Please update the ebuild." - fi - - # Remove most bundled libraries. Some are still needed. - einfo "Unbundling third-party libraries ..." - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed. - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -chromium_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # We already forced the "correct" clang via pkg_setup - - if tc-is-cross-compiler; then - CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" - CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" - BUILD_AR=${AR} - BUILD_CC=${CC} - BUILD_CXX=${CXX} - BUILD_NM=${NM} - fi - - strip-unsupported-flags - - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - # https://bugs.gentoo.org/918897#c32 - append-ldflags -Wl,--undefined-version - myconf_gn+=" use_lld=true" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # bindgen settings - # From 127, to make bindgen work, we need to provide a location for libclang. - # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch - # 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)\"" - # 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}\"" - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=false" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - libxml - libxslt - openh264 - zlib - ) - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if use system-zstd; then - gn_system_libraries+=( zstd ) - fi - - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Optional dependencies. - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - - if use headless; then - myconf_gn+=" use_cups=false" - myconf_gn+=" use_kerberos=false" - myconf_gn+=" use_pulseaudio=false" - myconf_gn+=" use_vaapi=false" - myconf_gn+=" rtc_use_pipewire=false" - else - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - myconf_gn+=" gtk_version=$(usex gtk4 4 3)" - fi - - # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of - # using dlopen. This helps with automated detection of ABI mismatches and - # prevents silent errors. - if use pulseaudio; then - myconf_gn+=" link_pulseaudio=true" - fi - - # Non-developer builds of Chromium (for example, non-Chrome browsers, or - # Chromium builds provided by Linux distros) should disable the testing config - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # The sysroot is the oldest debian image that chromium supports, we don't need it - myconf_gn+=" use_sysroot=false" - - # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) - # instead of the system C++ library for C++ standard library support. - # default: true, but let's be explicit (forced since 120 ; USE removed 127). - myconf_gn+=" use_custom_libcxx=true" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - if use bindist ; then - # proprietary_codecs just forces Chromium to say that it can use h264/aac, - # the work is still done by ffmpeg. If this is set to no Chromium - # won't be able to load the codec even if the library can handle it - myconf_gn+=" proprietary_codecs=true" - myconf_gn+=" ffmpeg_branding=\"Chrome\"" - # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute - myconf_gn+=" is_component_ffmpeg=true" - else - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - fi - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - filter-flags "-g*" - - # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. - if [[ ${myarch} == amd64 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - die "Failed to determine target arch, got '$myarch'." - fi - - myconf_gn+=" treat_warnings_as_errors=false" - # Disable fatal linker warnings, bug 506268. - myconf_gn+=" fatal_linker_warnings=false" - - # Disable external code space for V8 for ppc64. It is disabled for ppc64 - # by default, but cross-compiling on amd64 enables it again. - if tc-is-cross-compiler; then - if ! use amd64 && ! use arm64; then - myconf_gn+=" v8_enable_external_code_space=false" - fi - fi - - # Only enabled for clang, but gcc has endian macros too - myconf_gn+=" v8_use_libm_trig_functions=true" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - # We don't use the same clang version as upstream, and with -Werror - # we need to make sure that we don't get superfluous warnings. - append-flags -Wno-unknown-warning-option - if tc-is-cross-compiler; then - export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" - export BUILD_CFLAGS+=" -Wno-unknown-warning-option" - fi - - # Explicitly disable ICU data file support for system-icu/headless builds. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Don't need nocompile checks and GN crashes with our config - myconf_gn+=" enable_nocompile_tests=false" - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" - myconf_gn+=" use_glib=false use_gio=false" - myconf_gn+=" use_pangocairo=false use_alsa=false" - myconf_gn+=" use_libpci=false use_udev=false" - myconf_gn+=" enable_print_preview=false" - myconf_gn+=" enable_remoting=false" - else - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - if use qt5 || use qt6; then - local cbuild_libdir=$(get_libdir) - if tc-is-cross-compiler; then - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) - cbuild_libdir=${cbuild_libdir:2} - cbuild_libdir=${cbuild_libdir/% } - fi - if use qt5; then - if tc-is-cross-compiler; then - myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" - else - myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" - fi - fi - if use qt6; then - myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" - fi - - myconf_gn+=" use_qt=true" - myconf_gn+=" use_qt6=$(usex qt6 true false)" - else - myconf_gn+=" use_qt=false" - fi - myconf_gn+=" ozone_platform_x11=$(usex X true false)" - myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" - myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" - use wayland && myconf_gn+=" use_system_libffi=true" - fi - - myconf_gn+=" use_thin_lto=${use_lto}" - myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ - tools/generate_shim_headers/generate_shim_headers.py || die - myconf_gn+=" is_cfi=${use_lto}" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - if use pgo; then - myconf_gn+=" chrome_pgo_phase=${1}" - if [[ "$1" == "2" ]]; then - myconf_gn+=" pgo_data_path=\"${2}\"" - fi - else - # Disable PGO - myconf_gn+=" chrome_pgo_phase=0" - fi - - # skipping typecheck is only supported on amd64, bug #876157 - if ! use amd64; then - myconf_gn+=" devtools_skip_typecheck=false" - fi - - einfo "Configuring Chromium ..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_configure() { - chromium_configure $(usex pgo 1 0) -} - -chromium_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - # Build mksnapshot and pax-mark it. - if use pax-kernel; then - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - fi - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests") - - pax-mark m out/Release/chrome - -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_test() { - # Initial list of tests to skip pulled from Alpine. Thanks Lauren! - # https://issues.chromium.org/issues/40939315 - local skip_tests=( - 'MessagePumpLibeventTest.NestedNotification*' - ClampTest.Death - OptionalTest.DereferencingNoValueCrashes - PlatformThreadTest.SetCurrentThreadTypeTest - RawPtrTest.TrivialRelocability - SafeNumerics.IntMaxOperations - StackTraceTest.TraceStackFramePointersFromBuffer - StringPieceTest.InvalidLengthDeath - 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 \ - --test-launcher-jobs="$(makeopts_jobs)" \ - --gtest_filter="${test_filter}" || die "Tests failed!" -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use X && use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - - if use bindist; then - # We built libffmpeg as a component library, but we can't distribute it - # with proprietary codec support. Remove it and make a symlink to the requested - # system library. - rm -f out/Release/libffmpeg.so \ - || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" - # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. - einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." - dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ - /usr/$(get_libdir)/chromium-browser/libffmpeg.so - fi - - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" - doins out/Release/xdg-{settings,mime} - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if ! use headless; then - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behavior you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use qt5 && use qt6; then - elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" - elog "environment. To override you need to pass --qt-version=5 or" - elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" - elog "/etc/chromium/default." - fi - fi - - if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then - ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" - ewarn "indicates that the Gentoo handbook was not followed to completion." - ewarn "" - ewarn "Chromium is known to behave unpredictably with this system configuration;" - ewarn "please complete the configuration of this system before logging any bugs." - fi -} diff --git a/www-client/chromium/chromium-130.0.6723.91-r1.ebuild b/www-client/chromium/chromium-130.0.6723.91-r1.ebuild new file mode 100644 index 000000000000..ca59fb8a697e --- /dev/null +++ b/www-client/chromium/chromium-130.0.6723.91-r1.ebuild @@ -0,0 +1,1385 @@ +# Copyright 2009-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# PACKAGING NOTES + +# This uses a gentoo-created tarball due to Google CI Failures. +# Use 132 as a base for new official tarballs. + +GN_MIN_VER=0.2165 +# chromium-tools/get-chromium-toolchain-strings.py + +VIRTUALX_REQUIRED="pgo" + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + 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" + +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-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 + test? ( + https://chromium-tarballs.distfiles.gentoo.org/${P}-testdata.tar.xz + https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz + ) + ppc64? ( + https://gitlab.solidsilicon.io/public-development/open-source/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 + ) + pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" + +LICENSE="BSD" +SLOT="0/stable" +# 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="~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" +RESTRICT=" + !bindist? ( bindist ) + !test? ( test ) +" + +REQUIRED_USE=" + !headless? ( || ( X wayland ) ) + pgo? ( X !wayland ) + qt6? ( qt5 ) + screencast? ( wayland ) + ffmpeg-chromium? ( bindist proprietary-codecs ) +" + +COMMON_X_DEPEND=" + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXtst:= + x11-libs/libxshmfence:= +" + +COMMON_SNAPSHOT_DEPEND=" + system-icu? ( >=dev-libs/icu-73.0:= ) + >=dev-libs/libxml2-2.12.4:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + dev-libs/libxslt:= + media-libs/fontconfig:= + >=media-libs/freetype-2.11.0-r1:= + system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) + media-libs/libjpeg-turbo:= + system-png? ( media-libs/libpng:=[-apng(-)] ) + system-zstd? ( >=app-arch/zstd-1.5.5:= ) + >=media-libs/libwebp-0.4.0:= + media-libs/mesa:=[gbm(+)] + >=media-libs/openh264-1.6.0:= + sys-libs/zlib:= + x11-libs/libdrm:= + !headless? ( + dev-libs/glib:2 + >=media-libs/alsa-lib-1.0.19:= + pulseaudio? ( media-libs/libpulse:= ) + sys-apps/pciutils:= + kerberos? ( virtual/krb5 ) + vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) + X? ( + x11-base/xorg-proto:= + x11-libs/libX11:= + x11-libs/libxcb:= + x11-libs/libXext:= + ) + x11-libs/libxkbcommon:= + wayland? ( + dev-libs/libffi:= + dev-libs/wayland:= + screencast? ( media-video/pipewire:= ) + ) + ) +" + +COMMON_DEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + app-arch/bzip2:= + dev-libs/expat:= + net-misc/curl[ssl] + sys-apps/dbus:= + media-libs/flac:= + sys-libs/zlib:=[minizip] + !headless? ( + X? ( ${COMMON_X_DEPEND} ) + >=app-accessibility/at-spi2-core-2.46.0:2 + media-libs/mesa:=[X?,wayland?] + cups? ( >=net-print/cups-1.3.11:= ) + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/pango:= + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + ) +" +RDEPEND="${COMMON_DEPEND} + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[X?,wayland?] + ) + qt5? ( dev-qt/qtgui:5[X?,wayland?] ) + qt6? ( dev-qt/qtbase:6[X?,wayland?] ) + ) + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) + bindist? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) + ) +" +DEPEND="${COMMON_DEPEND} + !headless? ( + gtk4? ( gui-libs/gtk:4[X?,wayland?] ) + !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) + ) +" + +BDEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + >=app-arch/gzip-1.7 + !headless? ( + qt5? ( dev-qt/qtcore:5 ) + qt6? ( dev-qt/qtbase:6 ) + ) + $(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 + ) + >=dev-util/bindgen-0.68.0 + >=dev-build/gn-${GN_MIN_VER} + dev-build/ninja + dev-lang/perl + >=dev-util/gperf-3.0.3 + dev-vcs/git + >=net-libs/nodejs-7.6.0[inspector] + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig +" + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS=" +Some web pages may require additional fonts to display properly. +Try installing some of the following packages if some characters +are not displayed properly: +- media-fonts/arphicfonts +- media-fonts/droid +- media-fonts/ipamonafont +- media-fonts/noto +- media-fonts/ja-ipafonts +- media-fonts/takao-fonts +- media-fonts/wqy-microhei +- media-fonts/wqy-zenhei + +To fix broken icons on the Downloads page, you should install an icon +theme that covers the appropriate MIME types, and configure this as your +GTK+ icon theme. + +For native file dialogs in KDE, install kde-apps/kdialog. + +To make password storage work with your desktop environment you may +have install one of the supported credentials management applications: +- app-crypt/libsecret (GNOME) +- kde-frameworks/kwallet (KDE) +If you have one of above packages installed, but don't want to use +them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS +in /etc/chromium/default. +" + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +pre_build_checks() { + # Check build requirements: bugs #471810, #541816, #914220 + # We're going to start doing maths here on the size of an unpacked source tarball, + # this should make updates easier as chromium continues to balloon in size. + local BASE_DISK=24 + local EXTRA_DISK=1 + local CHECKREQS_MEMORY="4G" + tc-is-cross-compiler && EXTRA_DISK=2 + if tc-is-lto || use pgo; then + CHECKREQS_MEMORY="9G" + tc-is-cross-compiler && EXTRA_DISK=4 + use pgo && EXTRA_DISK=8 + fi + if is-flagq '-g?(gdb)?([1-9])'; then + if use custom-cflags; then + EXTRA_DISK=13 + fi + CHECKREQS_MEMORY="16G" + fi + CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" + check-reqs_${EBUILD_PHASE_FUNC} +} + +pkg_pretend() { + 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 + fi + + if use headless; then + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") + for myiuse in ${headless_unused_flags[@]}; do + use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." + done + fi + + if ! use bindist && use ffmpeg-chromium; then + ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." + fi +} + +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 + # This is effectively the 'force-clang' path if GCC support is re-added. + use_lto="false" + if tc-is-lto; then + use_lto="true" + # We can rely on GN to do this for us; anecdotally without this builds + # take significantly longer with LTO enabled and it doesn't hurt anything. + filter-lto + fi + + if [ "$use_lto" = "false" ] && use official; then + einfo "USE=official selected and LTO not detected." + einfo "It is _highly_ recommended that LTO be enabled for performance reasons" + einfo "and to be consistent with the upstream \"official\" build optimisations." + fi + + if [ "$use_lto" = "false" ] && use test; then + die "Tests require CFI which requires LTO" + fi + + export use_lto + + # 936858 + if tc-ld-is-mold; then + eerror "Your toolchain is using the mold linker." + eerror "This is not supported by Chromium." + die "Please switch to a different linker." + fi + + # We're forcing Clang here. User choice is respected via llvm_slot_# USE flags. + AR=llvm-ar + CPP="${CHOST}-clang++ -E" + NM=llvm-nm + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + + if tc-is-cross-compiler; then + use pgo && die "The pgo USE flag cannot be used when cross-compiling" + CPP="${CBUILD}-clang++ -E" + fi + + llvm-r1_pkg_setup + rust_pkg_setup + + einfo "Using LLVM/Clang slot ${LLVM_SLOT} to build" + 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 + + # 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" + fi + fi + + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + unpack ${P}.tar.xz + unpack chromium-patches-${PATCH_V}.tar.bz2 + + use pgo && unpack chromium-profiler-0.2.tar + + if use test; then + # 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.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" + tar xf "${DISTDIR}/${P%%\.*}-testfonts.tar.gz" -C "${testfonts_dir}" || die "Failed to unpack testfonts" + fi + + if use ppc64; then + unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 + fi +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # disable global media controls, crashes with libstdc++ + sed -i -e \ + "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ + "chrome/browser/media/router/media_router_feature.cc" + + local PATCHES=( + "${FILESDIR}/chromium-cross-compile.patch" + "${FILESDIR}/chromium-109-system-zlib.patch" + "${FILESDIR}/chromium-111-InkDropHost-crash.patch" + "${FILESDIR}/chromium-126-oauth2-client-switches.patch" + "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" + ) + + shopt -s globstar nullglob + # 130: moved the PPC64 patches into the chromium-patches repo + local patch + for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do + elog "Applying patch: ${patch}" + if [[ ${patch} == *"ppc64le"* ]]; then + use ppc64 && PATCHES+=( "${patch}" ) + else + PATCHES+=( "${patch}" ) + fi + done + + # We can't use the bundled compiler builtins with the system toolchain + # `grep` is a development convenience to ensure we fail early when google changes something. + local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" + grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" + sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn + + if use ppc64; then + # Above this level there are ungoogled-chromium patches that we can't apply + local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches/ppc64le" + # Apply the OpenPOWER patches + local power9_patch="patches/ppc64le/core/baseline-isa-3-0.patch" + for patch in ${patchset_dir}/**/*.{patch,diff}; do + if [[ ${patch} == *"${power9_patch}" ]]; then + use cpu_flags_ppc_vsx3 && PATCHES+=( "${patch}" ) + else + PATCHES+=( "${patch}" ) + fi + done + + PATCHES+=( "${WORKDIR}/openpower-patches-${PPC64_HASH}/patches/upstream/blink-fix-size-assertions.patch" ) + fi + + shopt -u globstar nullglob + + default + + rm third_party/node/linux/node-linux-x64/bin/node || die + ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die + + # adjust python interpreter version + sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die + + # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party' + # whitelist matches use the right-most matching path component, so we need to whitelist from that point down. + local keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + chrome/third_party/mozilla_security_manager + net/third_party/mozilla_security_manager + net/third_party/nss + net/third_party/quic + net/third_party/uri_template + third_party/abseil-cpp + third_party/angle + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/ceval + third_party/angle/src/third_party/libXNVCtrl + third_party/angle/src/third_party/volk + third_party/anonymous_tokens + third_party/apple_apsl + third_party/axe-core + third_party/bidimapper + third_party/blink + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + third_party/brotli + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4-4.9.3 + third_party/catapult/third_party/html5lib-1.1 + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + third_party/catapult/tracing/third_party/d3 + third_party/catapult/tracing/third_party/gl-matrix + third_party/catapult/tracing/third_party/jpeg-js + third_party/catapult/tracing/third_party/jszip + third_party/catapult/tracing/third_party/mannwhitneyu + third_party/catapult/tracing/third_party/oboe + third_party/catapult/tracing/third_party/pako + third_party/ced + third_party/cld_3 + third_party/closure_compiler + third_party/content_analysis_sdk + third_party/cpuinfo + third_party/crabbyavif + third_party/crashpad + third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib + third_party/crc32c + third_party/cros_system_api + third_party/d3 + third_party/dav1d + third_party/dawn + third_party/dawn/third_party/gn/webgpu-cts + third_party/dawn/third_party/khronos + third_party/depot_tools + third_party/devscripts + third_party/devtools-frontend + third_party/devtools-frontend/src/front_end/third_party/acorn + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/devtools-frontend/src/front_end/third_party/axe-core + third_party/devtools-frontend/src/front_end/third_party/chromium + third_party/devtools-frontend/src/front_end/third_party/codemirror + third_party/devtools-frontend/src/front_end/third_party/csp_evaluator + third_party/devtools-frontend/src/front_end/third_party/diff + third_party/devtools-frontend/src/front_end/third_party/i18n + third_party/devtools-frontend/src/front_end/third_party/intl-messageformat + third_party/devtools-frontend/src/front_end/third_party/lighthouse + third_party/devtools-frontend/src/front_end/third_party/lit + third_party/devtools-frontend/src/front_end/third_party/lodash-isequal + third_party/devtools-frontend/src/front_end/third_party/marked + third_party/devtools-frontend/src/front_end/third_party/puppeteer + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/third-party-web + third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data + third_party/devtools-frontend/src/front_end/third_party/wasmparser + third_party/devtools-frontend/src/front_end/third_party/web-vitals + third_party/devtools-frontend/src/third_party + third_party/distributed_point_functions + third_party/dom_distiller_js + third_party/eigen3 + third_party/emoji-segmenter + third_party/farmhash + third_party/fast_float + third_party/fdlibm + third_party/ffmpeg + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/freetype + third_party/fusejs + third_party/fxdiv + third_party/gemmlowp + third_party/google_input_tools + third_party/google_input_tools/third_party/closure_library + third_party/google_input_tools/third_party/closure_library/third_party/closure + third_party/googletest + third_party/highway + third_party/hunspell + third_party/iccjpeg + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + third_party/jsoncpp + third_party/jstemplate + third_party/khronos + third_party/lens_server_proto + third_party/leveldatabase + third_party/libaddressinput + third_party/libaom + third_party/libaom/source/libaom/third_party/fastfeat + third_party/libaom/source/libaom/third_party/SVT-AV1 + third_party/libaom/source/libaom/third_party/vector + third_party/libaom/source/libaom/third_party/x86inc + third_party/libavif + third_party/libc++ + third_party/libevent + third_party/libgav1 + third_party/libjingle + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/liburlpattern + third_party/libva_protected_content + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc + third_party/libwebm + third_party/libx11 + third_party/libxcb-keysyms + third_party/libxml/chromium + third_party/libyuv + third_party/libzip + third_party/lit + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/markupsafe + third_party/material_color_utilities + third_party/mesa + third_party/metrics_proto + third_party/minigbm + third_party/modp_b64 + third_party/nasm + third_party/nearby + third_party/neon_2_sse + third_party/node + third_party/omnibox_proto + third_party/one_euro_filter + third_party/openscreen + third_party/openscreen/src/third_party/ + third_party/openscreen/src/third_party/tinycbor/src/src + third_party/opus + third_party/ots + third_party/pdfium + third_party/pdfium/third_party/agg23 + third_party/pdfium/third_party/bigint + third_party/pdfium/third_party/freetype + third_party/pdfium/third_party/lcms + third_party/pdfium/third_party/libopenjpeg + third_party/pdfium/third_party/libtiff + third_party/perfetto + third_party/perfetto/protos/third_party/chromium + third_party/perfetto/protos/third_party/simpleperf + third_party/pffft + third_party/ply + third_party/polymer + third_party/private_membership + third_party/private-join-and-compute + third_party/protobuf + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/qcms + third_party/rapidhash + third_party/re2 + third_party/rnnoise + third_party/rust + third_party/ruy + third_party/s2cellid + third_party/securemessage + third_party/selenium-atoms + third_party/sentencepiece + third_party/sentencepiece/src/third_party/darts_clone + third_party/shell-encryption + third_party/simplejson + third_party/six + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/snappy + third_party/spirv-headers + third_party/spirv-tools + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv + third_party/swiftshader/third_party/SPIRV-Tools + third_party/swiftshader/third_party/subzero + third_party/tensorflow_models + third_party/tensorflow-text + third_party/tflite + third_party/tflite/src/third_party/eigen3 + third_party/tflite/src/third_party/fft2d + third_party/tflite/src/third_party/xla/third_party/tsl + third_party/tflite/src/third_party/xla/xla/tsl/util + third_party/tflite/src/third_party/xla/xla/tsl/framework + third_party/ukey2 + third_party/unrar + third_party/utf + third_party/vulkan + third_party/wayland + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + third_party/webrtc/common_audio/third_party/spl_sqrt_floor + third_party/webrtc/modules/third_party/fft + third_party/webrtc/modules/third_party/g711 + third_party/webrtc/modules/third_party/g722 + third_party/webrtc/rtc_base/third_party/base64 + third_party/webrtc/rtc_base/third_party/sigslot + third_party/widevine + third_party/woff2 + third_party/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zlib/google + third_party/zxcvbn-cpp + url/third_party/mozilla + v8/src/third_party/siphash + v8/src/third_party/utf8-decoder + v8/src/third_party/valgrind + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/v8 + + # gyp -> gn leftovers + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + ) + + if use test; then + # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}' + keeplibs+=( + third_party/google_benchmark/src/include/benchmark + third_party/google_benchmark/src/src + third_party/perfetto/protos/third_party/pprof + third_party/test_fonts + third_party/test_fonts/fontconfig + ) + fi + + # USE=system-* + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi + + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + + if ! use system-png; then + keeplibs+=( third_party/libpng ) + fi + + if ! use system-zstd; then + keeplibs+=( third_party/zstd ) + fi + + # Arch-specific + if use arm64 || use ppc64 ; then + keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) + fi + # we need to generate ppc64 stuff because upstream does not ship it yet + # it has to be done before unbundling. + if use ppc64; then + pushd third_party/libvpx >/dev/null || die + mkdir -p source/config/linux/ppc64 || die + # requires git and clang, bug #832803 + # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh + # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh + # since we're not in a git repo + sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ + generate_gni.sh || die + ./generate_gni.sh || die + popd >/dev/null || die + + pushd third_party/ffmpeg >/dev/null || die + cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die + cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die + popd >/dev/null || die + fi + + # Sanity check keeplibs, on major version bumps it is often necessary to update this list + # and this enables us to hit them all at once. + # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) + whitelist_libs=( + net/third_party/quic + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/libjingle + third_party/mesa + third_party/skia/third_party/vulkan + third_party/vulkan + ) + local not_found_libs=() + for lib in "${keeplibs[@]}"; do + if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then + not_found_libs+=( "${lib}" ) + fi + done + + if [[ ${#not_found_libs[@]} -gt 0 ]]; then + eerror "The following \`keeplibs\` directories were not found in the source tree:" + for lib in "${not_found_libs[@]}"; do + eerror " ${lib}" + done + die "Please update the ebuild." + fi + + # Remove most bundled libraries. Some are still needed. + einfo "Unbundling third-party libraries ..." + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die + + # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed. + + # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries + mkdir -p buildtools/third_party/eu-strip/bin || die + ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die +} + +chromium_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + # We already forced the "correct" clang via pkg_setup + + if tc-is-cross-compiler; then + CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_AR=${AR} + BUILD_CC=${CC} + BUILD_CXX=${CXX} + BUILD_NM=${NM} + fi + + strip-unsupported-flags + + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + # https://bugs.gentoo.org/918897#c32 + append-ldflags -Wl,--undefined-version + myconf_gn+=" use_lld=true" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + + if tc-is-cross-compiler; then + tc-export BUILD_{AR,CC,CXX,NM} + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" + myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" + + # setup cups-config, build system only uses --libs option + if use cups; then + mkdir "${T}/cups-config" || die + cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die + export PATH="${PATH}:${T}/cups-config" + fi + + # Don't inherit PKG_CONFIG_PATH from environment + local -x PKG_CONFIG_PATH= + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + # bindgen settings + # From 127, to make bindgen work, we need to provide a location for libclang. + # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch + # rust_bindgen_root = directory with `bin/bindgen` beneath it. + myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" + + 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 + 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" + + # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. + # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. + myconf_gn+=" dcheck_always_on=$(usex debug true false)" + myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" + + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + myconf_gn+=" is_component_build=false" + + # Disable nacl, we can't build without pnacl (http://crbug.com/269560). + myconf_gn+=" enable_nacl=false" + + # Use system-provided libraries. + # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_sqlite (http://crbug.com/22208). + + # libevent: https://bugs.gentoo.org/593458 + local gn_system_libraries=( + flac + fontconfig + freetype + # Need harfbuzz_from_pkgconfig target + #harfbuzz-ng + libdrm + libjpeg + libwebp + libxml + libxslt + openh264 + zlib + ) + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-png; then + gn_system_libraries+=( libpng ) + fi + if use system-zstd; then + gn_system_libraries+=( zstd ) + fi + + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die + + # See dependency logic in third_party/BUILD.gn + myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" + + # Optional dependencies. + myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" + myconf_gn+=" enable_widevine=$(usex widevine true false)" + + if use headless; then + myconf_gn+=" use_cups=false" + myconf_gn+=" use_kerberos=false" + myconf_gn+=" use_pulseaudio=false" + myconf_gn+=" use_vaapi=false" + myconf_gn+=" rtc_use_pipewire=false" + else + myconf_gn+=" use_cups=$(usex cups true false)" + myconf_gn+=" use_kerberos=$(usex kerberos true false)" + myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" + myconf_gn+=" use_vaapi=$(usex vaapi true false)" + myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" + myconf_gn+=" gtk_version=$(usex gtk4 4 3)" + fi + + # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of + # using dlopen. This helps with automated detection of ABI mismatches and + # prevents silent errors. + if use pulseaudio; then + myconf_gn+=" link_pulseaudio=true" + fi + + # Non-developer builds of Chromium (for example, non-Chrome browsers, or + # Chromium builds provided by Linux distros) should disable the testing config + myconf_gn+=" disable_fieldtrial_testing_config=true" + + # The sysroot is the oldest debian image that chromium supports, we don't need it + myconf_gn+=" use_sysroot=false" + + # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) + # instead of the system C++ library for C++ standard library support. + # default: true, but let's be explicit (forced since 120 ; USE removed 127). + myconf_gn+=" use_custom_libcxx=true" + + # Disable pseudolocales, only used for testing + myconf_gn+=" enable_pseudolocales=false" + + # Disable code formating of generated files + myconf_gn+=" blink_enable_generated_code_formatting=false" + + if use bindist ; then + # proprietary_codecs just forces Chromium to say that it can use h264/aac, + # the work is still done by ffmpeg. If this is set to no Chromium + # won't be able to load the codec even if the library can handle it + myconf_gn+=" proprietary_codecs=true" + myconf_gn+=" ffmpeg_branding=\"Chrome\"" + # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute + myconf_gn+=" is_component_ffmpeg=true" + else + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" + myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" + fi + + # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . + # Note: these are for Gentoo use ONLY. For your own distribution, + # please get your own set of keys. Feel free to contact chromium@gentoo.org + # for more info. The OAuth2 credentials, however, have been left out. + # Those OAuth2 credentials have been broken for quite some time anyway. + # Instead we apply a patch to use the --oauth2-client-id= and + # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and + # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into + # Chromium without baked-in values. + local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" + myconf_gn+=" google_api_key=\"${google_api_key}\"" + local myarch="$(tc-arch)" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + + # Debug info section overflows without component build + # Prevent linker from running out of address space, bug #471810 . + filter-flags "-g*" + + # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. + if [[ ${myarch} == amd64 ]]; then + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a + fi + fi + + if [[ $myarch = amd64 ]] ; then + myconf_gn+=" target_cpu=\"x64\"" + ffmpeg_target_arch=x64 + elif [[ $myarch = arm64 ]] ; then + myconf_gn+=" target_cpu=\"arm64\"" + ffmpeg_target_arch=arm64 + elif [[ $myarch = ppc64 ]] ; then + myconf_gn+=" target_cpu=\"ppc64\"" + ffmpeg_target_arch=ppc64 + else + die "Failed to determine target arch, got '$myarch'." + fi + + myconf_gn+=" treat_warnings_as_errors=false" + # Disable fatal linker warnings, bug 506268. + myconf_gn+=" fatal_linker_warnings=false" + + # Disable external code space for V8 for ppc64. It is disabled for ppc64 + # by default, but cross-compiling on amd64 enables it again. + if tc-is-cross-compiler; then + if ! use amd64 && ! use arm64; then + myconf_gn+=" v8_enable_external_code_space=false" + fi + fi + + # Only enabled for clang, but gcc has endian macros too + myconf_gn+=" v8_use_libm_trig_functions=true" + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + # We don't use the same clang version as upstream, and with -Werror + # we need to make sure that we don't get superfluous warnings. + append-flags -Wno-unknown-warning-option + if tc-is-cross-compiler; then + export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" + export BUILD_CFLAGS+=" -Wno-unknown-warning-option" + fi + + # Explicitly disable ICU data file support for system-icu/headless builds. + if use system-icu || use headless; then + myconf_gn+=" icu_use_data_file=false" + fi + + # Don't need nocompile checks and GN crashes with our config + myconf_gn+=" enable_nocompile_tests=false" + + # Enable ozone wayland and/or headless support + myconf_gn+=" use_ozone=true ozone_auto_platforms=false" + myconf_gn+=" ozone_platform_headless=true" + if use headless; then + myconf_gn+=" ozone_platform=\"headless\"" + myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" + myconf_gn+=" use_glib=false use_gio=false" + myconf_gn+=" use_pangocairo=false use_alsa=false" + myconf_gn+=" use_libpci=false use_udev=false" + myconf_gn+=" enable_print_preview=false" + myconf_gn+=" enable_remoting=false" + else + myconf_gn+=" use_system_libdrm=true" + myconf_gn+=" use_system_minigbm=true" + myconf_gn+=" use_xkbcommon=true" + if use qt5 || use qt6; then + local cbuild_libdir=$(get_libdir) + if tc-is-cross-compiler; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) + cbuild_libdir=${cbuild_libdir:2} + cbuild_libdir=${cbuild_libdir/% } + fi + if use qt5; then + if tc-is-cross-compiler; then + myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" + else + myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" + fi + fi + if use qt6; then + myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" + fi + + myconf_gn+=" use_qt=true" + myconf_gn+=" use_qt6=$(usex qt6 true false)" + else + myconf_gn+=" use_qt=false" + fi + myconf_gn+=" ozone_platform_x11=$(usex X true false)" + myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" + myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" + use wayland && myconf_gn+=" use_system_libffi=true" + fi + + myconf_gn+=" use_thin_lto=${use_lto}" + myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" + + # Enable official builds + myconf_gn+=" is_official_build=$(usex official true false)" + if use official; then + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py || die + myconf_gn+=" is_cfi=${use_lto}" + # Don't add symbols to build + myconf_gn+=" symbol_level=0" + fi + + if use pgo; then + myconf_gn+=" chrome_pgo_phase=${1}" + if [[ "$1" == "2" ]]; then + myconf_gn+=" pgo_data_path=\"${2}\"" + fi + else + # Disable PGO + myconf_gn+=" chrome_pgo_phase=0" + fi + + # skipping typecheck is only supported on amd64, bug #876157 + if ! use amd64; then + myconf_gn+=" devtools_skip_typecheck=false" + fi + + einfo "Configuring Chromium ..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_configure() { + chromium_configure $(usex pgo 1 0) +} + +chromium_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # Don't inherit PYTHONPATH from environment, bug #789021, #812689 + local -x PYTHONPATH= + + # Build mksnapshot and pax-mark it. + if use pax-kernel; then + local x + for x in mksnapshot v8_context_snapshot_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + fi + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests") + + pax-mark m out/Release/chrome + +} + +# This function is called from virtx, and must always return so that Xvfb +# session isn't left running. If we return 1, virtx will call die(). +chromium_profile() { + einfo "Profiling for PGO" + + pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 + + # Remove old profdata in case profiling was interrupted. + rm -rf "${1}" || return 1 + + if ! "${EPYTHON}" ./chromium_profiler.py \ + --chrome-executable "${S}/out/Release/chrome" \ + --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ + --add-arg no-sandbox --add-arg disable-dev-shm-usage \ + --profile-output "${1}"; then + eerror "Profiling failed" + return 1 + fi + + popd >/dev/null || return 1 +} + +src_compile() { + if use pgo; then + local profdata + + profdata="${WORKDIR}/chromium.profdata" + + if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then + chromium_compile + virtx chromium_profile "$profdata" + + touch "${WORKDIR}/.pgo-profiled" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then + # Remove phase 1 output + rm -r out/Release || die + + chromium_configure 2 "$profdata" + + touch "${WORKDIR}/.pgo-phase-2-configured" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then + chromium_compile + touch "${WORKDIR}/.pgo-phase-2-compiled" || die + fi + else + chromium_compile + fi + + mv out/Release/chromedriver{.unstripped,} || die + + rm -f out/Release/locales/*.pak.info || die + + # Build manpage; bug #684550 + sed -e 's|@@PACKAGE@@|chromium-browser|g; + s|@@MENUNAME@@|Chromium|g;' \ + chrome/app/resources/manpage.1.in > \ + out/Release/chromium-browser.1 || die + + # Build desktop file; bug #706786 + sed -e 's|@@MENUNAME@@|Chromium|g; + s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; + s|@@PACKAGE@@|chromium-browser|g; + s|\(^Exec=\)/usr/bin/|\1|g;' \ + chrome/installer/linux/common/desktop.template > \ + out/Release/chromium-browser-chromium.desktop || die + + # Build vk_swiftshader_icd.json; bug #827861 + sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ + third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ + out/Release/vk_swiftshader_icd.json || die +} + +src_test() { + # Initial list of tests to skip pulled from Alpine. Thanks Lauren! + # https://issues.chromium.org/issues/40939315 + local skip_tests=( + 'MessagePumpLibeventTest.NestedNotification*' + ClampTest.Death + OptionalTest.DereferencingNoValueCrashes + PlatformThreadTest.SetCurrentThreadTypeTest + RawPtrTest.TrivialRelocability + SafeNumerics.IntMaxOperations + StackTraceTest.TraceStackFramePointersFromBuffer + StringPieceTest.InvalidLengthDeath + StringPieceTest.OutOfBoundsDeath + ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker + ValuesUtilTest.FilePath + ) + 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 \ + --test-launcher-jobs="$(makeopts_jobs)" \ + --gtest_filter="${test_filter}" || die "Tests failed!" +} + +src_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + + doexe out/Release/chromedriver + doexe out/Release/chrome_crashpad_handler + + ozone_auto_session () { + use X && use wayland && ! use headless && echo true || echo false + } + local sedargs=( -e + "s:/usr/lib/:/usr/$(get_libdir)/:g; + s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" + ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die + doexe chromium-launcher.sh + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium + + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver + + # Allow users to override command-line options, bug #357629. + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + + if use bindist; then + # We built libffmpeg as a component library, but we can't distribute it + # with proprietary codec support. Remove it and make a symlink to the requested + # system library. + rm -f out/Release/libffmpeg.so \ + || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" + # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. + einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." + dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ + /usr/$(get_libdir)/chromium-browser/libffmpeg.so + fi + + ( + shopt -s nullglob + local files=(out/Release/*.so out/Release/*.so.[0-9]) + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" + ) + + # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" + doins out/Release/xdg-{settings,mime} + + if ! use system-icu && ! use headless; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/MEIPreload + + # Install vk_swiftshader_icd.json; bug #827861 + doins out/Release/vk_swiftshader_icd.json + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + # Install icons + local branding size + for size in 16 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser.png + done + + # Install desktop entry + domenu out/Release/chromium-browser-chromium.desktop + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml + + # Install manpage; bug #684550 + doman out/Release/chromium-browser.1 + dosym chromium-browser.1 /usr/share/man/man1/chromium.1 + + readme.gentoo_create_doc +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + readme.gentoo_print_elog + + if ! use headless; then + if use vaapi; then + elog "VA-API is disabled by default at runtime. You have to enable it" + elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" + elog "in /etc/chromium/default." + fi + if use screencast; then + elog "Screencast is disabled by default at runtime. Either enable it" + elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" + elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use gtk4; then + elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" + elog "behavior you need to pass --gtk-version=4, e.g. by adding it" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use qt5 && use qt6; then + elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" + elog "environment. To override you need to pass --qt-version=5 or" + elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" + elog "/etc/chromium/default." + fi + fi + + if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then + ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" + ewarn "indicates that the Gentoo handbook was not followed to completion." + ewarn "" + ewarn "Chromium is known to behave unpredictably with this system configuration;" + ewarn "please complete the configuration of this system before logging any bugs." + fi +} diff --git a/www-client/chromium/chromium-130.0.6723.91.ebuild b/www-client/chromium/chromium-130.0.6723.91.ebuild deleted file mode 100644 index ed4c82004d6a..000000000000 --- a/www-client/chromium/chromium-130.0.6723.91.ebuild +++ /dev/null @@ -1,1496 +0,0 @@ -# Copyright 2009-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# PACKAGING NOTES - -# This uses a gentoo-created tarball due to Google CI Failures. -# 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" - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 ) -PYTHON_COMPAT=( python3_{11..13} ) -PYTHON_REQ_USE="xml(+)" - -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 - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://www.chromium.org/" -PPC64_HASH="a85b64f07b489b8c6fdb13ecf79c16c56c560fc6" -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 - test? ( - https://chromium-tarballs.distfiles.gentoo.org/${P}-testdata.tar.xz - https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz - ) - ppc64? ( - https://gitlab.solidsilicon.io/public-development/open-source/chromium/openpower-patches/-/archive/${PPC64_HASH}/openpower-patches-${PPC64_HASH}.tar.bz2 -> chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 - ) - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -LICENSE="BSD" -SLOT="0/stable" -# 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="~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" -RESTRICT=" - !bindist? ( bindist ) - !test? ( test ) -" - -REQUIRED_USE=" - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) - qt6? ( qt5 ) - screencast? ( wayland ) - ffmpeg-chromium? ( bindist proprietary-codecs ) -" - -COMMON_X_DEPEND=" - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-73.0:= ) - >=dev-libs/libxml2-2.12.4:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng(-)] ) - system-zstd? ( >=app-arch/zstd-1.5.5:= ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-libs/libpulse:= ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) - X? ( - x11-base/xorg-proto:= - x11-libs/libX11:= - x11-libs/libxcb:= - x11-libs/libXext:= - ) - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/libffi:= - dev-libs/wayland:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - X? ( ${COMMON_X_DEPEND} ) - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - cups? ( >=net-print/cups-1.3.11:= ) - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[X?,wayland?] - ) - qt5? ( dev-qt/qtgui:5[X?,wayland?] ) - qt6? ( dev-qt/qtbase:6[X?,wayland?] ) - ) - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - bindist? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) - ) -" -DEPEND="${COMMON_DEPEND} - !headless? ( - gtk4? ( gui-libs/gtk:4[X?,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) - ) -" - -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} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - !headless? ( - qt5? ( dev-qt/qtcore:5 ) - qt6? ( dev-qt/qtbase:6 ) - ) - $(depend_clang_llvm_versions) - pgo? ( - >=dev-python/selenium-3.141.0 - >=dev-util/web_page_replay_go-20220314 - ) - >=dev-util/bindgen-0.68.0 - >=dev-build/gn-${GN_MIN_VER} - dev-build/ninja - dev-lang/perl - >=dev-util/gperf-3.0.3 - dev-vcs/git - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig -" - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - # Check build requirements: bugs #471810, #541816, #914220 - # We're going to start doing maths here on the size of an unpacked source tarball, - # this should make updates easier as chromium continues to balloon in size. - local BASE_DISK=24 - local EXTRA_DISK=1 - local CHECKREQS_MEMORY="4G" - tc-is-cross-compiler && EXTRA_DISK=2 - if tc-is-lto || use pgo; then - CHECKREQS_MEMORY="9G" - tc-is-cross-compiler && EXTRA_DISK=4 - use pgo && EXTRA_DISK=8 - fi - if is-flagq '-g?(gdb)?([1-9])'; then - if use custom-cflags; then - EXTRA_DISK=13 - fi - CHECKREQS_MEMORY="16G" - fi - CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" - check-reqs_${EBUILD_PHASE_FUNC} -} - -pkg_pretend() { - 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 - fi - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." - done - fi - - if ! use bindist && use ffmpeg-chromium; then - ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." - 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" - # We can rely on GN to do this for us; anecdotally without this builds - # take significantly longer with LTO enabled and it doesn't hurt anything. - filter-lto - fi - - if [ "$use_lto" = "false" ] && use official; then - einfo "USE=official selected and LTO not detected." - einfo "It is _highly_ recommended that LTO be enabled for performance reasons" - einfo "and to be consistent with the upstream \"official\" build optimisations." - fi - - if [ "$use_lto" = "false" ] && use test; then - die "Tests require CFI which requires LTO" - fi - - export use_lto - - # 936858 - if tc-ld-is-mold; then - eerror "Your toolchain is using the mold linker." - eerror "This is not supported by Chromium." - 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 - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - - if tc-is-cross-compiler; then - use pgo && die "The pgo USE flag cannot be used when cross-compiling" - 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 - - # 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" - fi - fi - - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - unpack ${P}.tar.xz - unpack chromium-patches-${PATCH_V}.tar.bz2 - - use pgo && unpack chromium-profiler-0.2.tar - - if use test; then - # 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.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" - tar xf "${DISTDIR}/${P%%\.*}-testfonts.tar.gz" -C "${testfonts_dir}" || die "Failed to unpack testfonts" - fi - - if use ppc64; then - unpack chromium-openpower-${PPC64_HASH:0:10}.tar.bz2 - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # disable global media controls, crashes with libstdc++ - sed -i -e \ - "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ - "chrome/browser/media/router/media_router_feature.cc" - - local PATCHES=( - "${FILESDIR}/chromium-cross-compile.patch" - "${FILESDIR}/chromium-109-system-zlib.patch" - "${FILESDIR}/chromium-111-InkDropHost-crash.patch" - "${FILESDIR}/chromium-126-oauth2-client-switches.patch" - "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" - ) - - shopt -s globstar nullglob - # 130: moved the PPC64 patches into the chromium-patches repo - local patch - for patch in "${WORKDIR}/chromium-patches-${PATCH_V}"/**/*.patch; do - elog "Applying patch: ${patch}" - if [[ ${patch} == *"ppc64le"* ]]; then - use ppc64 && PATCHES+=( "${patch}" ) - else - PATCHES+=( "${patch}" ) - fi - done - - # We can't use the bundled compiler builtins with the system toolchain - # `grep` is a development convenience to ensure we fail early when google changes something. - local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" - grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" - sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn - - if use ppc64; then - # Above this level there are ungoogled-chromium patches that we can't apply - local patchset_dir="${WORKDIR}/openpower-patches-${PPC64_HASH}/patches/ppc64le" - # Apply the OpenPOWER patches - local power9_patch="patches/ppc64le/core/baseline-isa-3-0.patch" - for patch in ${patchset_dir}/**/*.{patch,diff}; do - if [[ ${patch} == *"${power9_patch}" ]]; then - use cpu_flags_ppc_vsx3 && PATCHES+=( "${patch}" ) - else - PATCHES+=( "${patch}" ) - fi - done - - PATCHES+=( "${WORKDIR}/openpower-patches-${PPC64_HASH}/patches/upstream/blink-fix-size-assertions.patch" ) - fi - - shopt -u globstar nullglob - - default - - rm third_party/node/linux/node-linux-x64/bin/node || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party' - # whitelist matches use the right-most matching path component, so we need to whitelist from that point down. - local keeplibs=( - base/third_party/cityhash - base/third_party/double_conversion - base/third_party/icu - base/third_party/nspr - base/third_party/superfasthash - base/third_party/symbolize - base/third_party/xdg_user_dirs - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - chrome/third_party/mozilla_security_manager - net/third_party/mozilla_security_manager - net/third_party/nss - net/third_party/quic - net/third_party/uri_template - third_party/abseil-cpp - third_party/angle - third_party/angle/src/common/third_party/xxhash - third_party/angle/src/third_party/ceval - third_party/angle/src/third_party/libXNVCtrl - third_party/angle/src/third_party/volk - third_party/anonymous_tokens - third_party/apple_apsl - third_party/axe-core - third_party/bidimapper - third_party/blink - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/catapult - third_party/catapult/common/py_vulcanize/third_party/rcssmin - third_party/catapult/common/py_vulcanize/third_party/rjsmin - third_party/catapult/third_party/beautifulsoup4-4.9.3 - third_party/catapult/third_party/html5lib-1.1 - third_party/catapult/third_party/polymer - third_party/catapult/third_party/six - third_party/catapult/tracing/third_party/d3 - third_party/catapult/tracing/third_party/gl-matrix - third_party/catapult/tracing/third_party/jpeg-js - third_party/catapult/tracing/third_party/jszip - third_party/catapult/tracing/third_party/mannwhitneyu - third_party/catapult/tracing/third_party/oboe - third_party/catapult/tracing/third_party/pako - third_party/ced - third_party/cld_3 - third_party/closure_compiler - third_party/content_analysis_sdk - third_party/cpuinfo - third_party/crabbyavif - third_party/crashpad - third_party/crashpad/crashpad/third_party/lss - third_party/crashpad/crashpad/third_party/zlib - third_party/crc32c - third_party/cros_system_api - third_party/d3 - third_party/dav1d - third_party/dawn - third_party/dawn/third_party/gn/webgpu-cts - third_party/dawn/third_party/khronos - third_party/depot_tools - third_party/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/acorn - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/devtools-frontend/src/front_end/third_party/axe-core - third_party/devtools-frontend/src/front_end/third_party/chromium - third_party/devtools-frontend/src/front_end/third_party/codemirror - third_party/devtools-frontend/src/front_end/third_party/csp_evaluator - third_party/devtools-frontend/src/front_end/third_party/diff - third_party/devtools-frontend/src/front_end/third_party/i18n - third_party/devtools-frontend/src/front_end/third_party/intl-messageformat - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/front_end/third_party/lit - third_party/devtools-frontend/src/front_end/third_party/lodash-isequal - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/puppeteer - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs - third_party/devtools-frontend/src/front_end/third_party/third-party-web - third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/front_end/third_party/web-vitals - third_party/devtools-frontend/src/third_party - third_party/distributed_point_functions - third_party/dom_distiller_js - third_party/eigen3 - third_party/emoji-segmenter - third_party/farmhash - third_party/fast_float - third_party/fdlibm - third_party/ffmpeg - third_party/fft2d - third_party/flatbuffers - third_party/fp16 - third_party/freetype - third_party/fusejs - third_party/fxdiv - third_party/gemmlowp - third_party/google_input_tools - third_party/google_input_tools/third_party/closure_library - third_party/google_input_tools/third_party/closure_library/third_party/closure - third_party/googletest - third_party/highway - third_party/hunspell - third_party/iccjpeg - third_party/inspector_protocol - third_party/ipcz - third_party/jinja2 - third_party/jsoncpp - third_party/jstemplate - third_party/khronos - third_party/lens_server_proto - third_party/leveldatabase - third_party/libaddressinput - third_party/libaom - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libaom/source/libaom/third_party/SVT-AV1 - third_party/libaom/source/libaom/third_party/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libc++ - third_party/libevent - third_party/libgav1 - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/liburlpattern - third_party/libva_protected_content - third_party/libvpx - third_party/libvpx/source/libvpx/third_party/x86inc - third_party/libwebm - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - third_party/libzip - third_party/lit - third_party/lottie - third_party/lss - third_party/lzma_sdk - third_party/mako - third_party/markupsafe - third_party/material_color_utilities - third_party/mesa - third_party/metrics_proto - third_party/minigbm - third_party/modp_b64 - third_party/nasm - third_party/nearby - third_party/neon_2_sse - third_party/node - third_party/omnibox_proto - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/ - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/opus - third_party/ots - third_party/pdfium - third_party/pdfium/third_party/agg23 - third_party/pdfium/third_party/bigint - third_party/pdfium/third_party/freetype - third_party/pdfium/third_party/lcms - third_party/pdfium/third_party/libopenjpeg - third_party/pdfium/third_party/libtiff - third_party/perfetto - third_party/perfetto/protos/third_party/chromium - third_party/perfetto/protos/third_party/simpleperf - third_party/pffft - third_party/ply - third_party/polymer - third_party/private_membership - third_party/private-join-and-compute - third_party/protobuf - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/qcms - third_party/rapidhash - third_party/re2 - third_party/rnnoise - third_party/rust - third_party/ruy - third_party/s2cellid - third_party/securemessage - third_party/selenium-atoms - third_party/sentencepiece - third_party/sentencepiece/src/third_party/darts_clone - third_party/shell-encryption - third_party/simplejson - third_party/six - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/snappy - third_party/spirv-headers - third_party/spirv-tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/astc-encoder - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/marl - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv - third_party/swiftshader/third_party/SPIRV-Tools - third_party/swiftshader/third_party/subzero - third_party/tensorflow_models - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/tflite/src/third_party/xla/third_party/tsl - third_party/tflite/src/third_party/xla/xla/tsl/util - third_party/tflite/src/third_party/xla/xla/tsl/framework - third_party/ukey2 - third_party/unrar - third_party/utf - third_party/vulkan - third_party/wayland - third_party/webdriver - third_party/webgpu-cts - third_party/webrtc - third_party/webrtc/common_audio/third_party/ooura - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/modules/third_party/fft - third_party/webrtc/modules/third_party/g711 - third_party/webrtc/modules/third_party/g722 - third_party/webrtc/rtc_base/third_party/base64 - third_party/webrtc/rtc_base/third_party/sigslot - third_party/widevine - third_party/woff2 - third_party/wuffs - third_party/x11proto - third_party/xcbproto - third_party/xnnpack - third_party/zlib/google - third_party/zxcvbn-cpp - url/third_party/mozilla - v8/src/third_party/siphash - v8/src/third_party/utf8-decoder - v8/src/third_party/valgrind - v8/third_party/glibc - v8/third_party/inspector_protocol - v8/third_party/v8 - - # gyp -> gn leftovers - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - - if use test; then - # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}' - keeplibs+=( - third_party/google_benchmark/src/include/benchmark - third_party/google_benchmark/src/src - third_party/perfetto/protos/third_party/pprof - third_party/test_fonts - third_party/test_fonts/fontconfig - ) - fi - - # USE=system-* - if ! use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng ) - fi - - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - - if ! use system-zstd; then - keeplibs+=( third_party/zstd ) - fi - - # Arch-specific - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - # requires git and clang, bug #832803 - # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh - # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh - # since we're not in a git repo - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - - pushd third_party/ffmpeg >/dev/null || die - cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die - cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die - popd >/dev/null || die - fi - - # Sanity check keeplibs, on major version bumps it is often necessary to update this list - # and this enables us to hit them all at once. - # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) - whitelist_libs=( - net/third_party/quic - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/libjingle - third_party/mesa - third_party/skia/third_party/vulkan - third_party/vulkan - ) - local not_found_libs=() - for lib in "${keeplibs[@]}"; do - if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then - not_found_libs+=( "${lib}" ) - fi - done - - if [[ ${#not_found_libs[@]} -gt 0 ]]; then - eerror "The following \`keeplibs\` directories were not found in the source tree:" - for lib in "${not_found_libs[@]}"; do - eerror " ${lib}" - done - die "Please update the ebuild." - fi - - # Remove most bundled libraries. Some are still needed. - einfo "Unbundling third-party libraries ..." - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed. - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -chromium_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # We already forced the "correct" clang via pkg_setup - - if tc-is-cross-compiler; then - CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" - CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" - BUILD_AR=${AR} - BUILD_CC=${CC} - BUILD_CXX=${CXX} - BUILD_NM=${NM} - fi - - strip-unsupported-flags - - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - # https://bugs.gentoo.org/918897#c32 - append-ldflags -Wl,--undefined-version - myconf_gn+=" use_lld=true" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # bindgen settings - # From 127, to make bindgen work, we need to provide a location for libclang. - # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch - # 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)\"" - # 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}\"" - - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=false" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - libxml - libxslt - openh264 - zlib - ) - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if use system-zstd; then - gn_system_libraries+=( zstd ) - fi - - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Optional dependencies. - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - - if use headless; then - myconf_gn+=" use_cups=false" - myconf_gn+=" use_kerberos=false" - myconf_gn+=" use_pulseaudio=false" - myconf_gn+=" use_vaapi=false" - myconf_gn+=" rtc_use_pipewire=false" - else - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - myconf_gn+=" gtk_version=$(usex gtk4 4 3)" - fi - - # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of - # using dlopen. This helps with automated detection of ABI mismatches and - # prevents silent errors. - if use pulseaudio; then - myconf_gn+=" link_pulseaudio=true" - fi - - # Non-developer builds of Chromium (for example, non-Chrome browsers, or - # Chromium builds provided by Linux distros) should disable the testing config - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # The sysroot is the oldest debian image that chromium supports, we don't need it - myconf_gn+=" use_sysroot=false" - - # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) - # instead of the system C++ library for C++ standard library support. - # default: true, but let's be explicit (forced since 120 ; USE removed 127). - myconf_gn+=" use_custom_libcxx=true" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - if use bindist ; then - # proprietary_codecs just forces Chromium to say that it can use h264/aac, - # the work is still done by ffmpeg. If this is set to no Chromium - # won't be able to load the codec even if the library can handle it - myconf_gn+=" proprietary_codecs=true" - myconf_gn+=" ffmpeg_branding=\"Chrome\"" - # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute - myconf_gn+=" is_component_ffmpeg=true" - else - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - fi - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - filter-flags "-g*" - - # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. - if [[ ${myarch} == amd64 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - die "Failed to determine target arch, got '$myarch'." - fi - - myconf_gn+=" treat_warnings_as_errors=false" - # Disable fatal linker warnings, bug 506268. - myconf_gn+=" fatal_linker_warnings=false" - - # Disable external code space for V8 for ppc64. It is disabled for ppc64 - # by default, but cross-compiling on amd64 enables it again. - if tc-is-cross-compiler; then - if ! use amd64 && ! use arm64; then - myconf_gn+=" v8_enable_external_code_space=false" - fi - fi - - # Only enabled for clang, but gcc has endian macros too - myconf_gn+=" v8_use_libm_trig_functions=true" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - # We don't use the same clang version as upstream, and with -Werror - # we need to make sure that we don't get superfluous warnings. - append-flags -Wno-unknown-warning-option - if tc-is-cross-compiler; then - export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" - export BUILD_CFLAGS+=" -Wno-unknown-warning-option" - fi - - # Explicitly disable ICU data file support for system-icu/headless builds. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Don't need nocompile checks and GN crashes with our config - myconf_gn+=" enable_nocompile_tests=false" - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" - myconf_gn+=" use_glib=false use_gio=false" - myconf_gn+=" use_pangocairo=false use_alsa=false" - myconf_gn+=" use_libpci=false use_udev=false" - myconf_gn+=" enable_print_preview=false" - myconf_gn+=" enable_remoting=false" - else - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - if use qt5 || use qt6; then - local cbuild_libdir=$(get_libdir) - if tc-is-cross-compiler; then - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) - cbuild_libdir=${cbuild_libdir:2} - cbuild_libdir=${cbuild_libdir/% } - fi - if use qt5; then - if tc-is-cross-compiler; then - myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" - else - myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" - fi - fi - if use qt6; then - myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" - fi - - myconf_gn+=" use_qt=true" - myconf_gn+=" use_qt6=$(usex qt6 true false)" - else - myconf_gn+=" use_qt=false" - fi - myconf_gn+=" ozone_platform_x11=$(usex X true false)" - myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" - myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" - use wayland && myconf_gn+=" use_system_libffi=true" - fi - - myconf_gn+=" use_thin_lto=${use_lto}" - myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ - tools/generate_shim_headers/generate_shim_headers.py || die - myconf_gn+=" is_cfi=${use_lto}" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - if use pgo; then - myconf_gn+=" chrome_pgo_phase=${1}" - if [[ "$1" == "2" ]]; then - myconf_gn+=" pgo_data_path=\"${2}\"" - fi - else - # Disable PGO - myconf_gn+=" chrome_pgo_phase=0" - fi - - # skipping typecheck is only supported on amd64, bug #876157 - if ! use amd64; then - myconf_gn+=" devtools_skip_typecheck=false" - fi - - einfo "Configuring Chromium ..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_configure() { - chromium_configure $(usex pgo 1 0) -} - -chromium_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - # Build mksnapshot and pax-mark it. - if use pax-kernel; then - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - fi - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests") - - pax-mark m out/Release/chrome - -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_test() { - # Initial list of tests to skip pulled from Alpine. Thanks Lauren! - # https://issues.chromium.org/issues/40939315 - local skip_tests=( - 'MessagePumpLibeventTest.NestedNotification*' - ClampTest.Death - OptionalTest.DereferencingNoValueCrashes - PlatformThreadTest.SetCurrentThreadTypeTest - RawPtrTest.TrivialRelocability - SafeNumerics.IntMaxOperations - StackTraceTest.TraceStackFramePointersFromBuffer - StringPieceTest.InvalidLengthDeath - StringPieceTest.OutOfBoundsDeath - ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker - ValuesUtilTest.FilePath - ) - 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 \ - --test-launcher-jobs="$(makeopts_jobs)" \ - --gtest_filter="${test_filter}" || die "Tests failed!" -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use X && use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - - if use bindist; then - # We built libffmpeg as a component library, but we can't distribute it - # with proprietary codec support. Remove it and make a symlink to the requested - # system library. - rm -f out/Release/libffmpeg.so \ - || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" - # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. - einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." - dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ - /usr/$(get_libdir)/chromium-browser/libffmpeg.so - fi - - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" - doins out/Release/xdg-{settings,mime} - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if ! use headless; then - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behavior you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use qt5 && use qt6; then - elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" - elog "environment. To override you need to pass --qt-version=5 or" - elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" - elog "/etc/chromium/default." - fi - fi - - if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then - ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" - ewarn "indicates that the Gentoo handbook was not followed to completion." - ewarn "" - ewarn "Chromium is known to behave unpredictably with this system configuration;" - ewarn "please complete the configuration of this system before logging any bugs." - fi -} diff --git a/www-client/chromium/chromium-131.0.6753.0-r1.ebuild b/www-client/chromium/chromium-131.0.6753.0-r1.ebuild new file mode 100644 index 000000000000..082a394cd0a8 --- /dev/null +++ b/www-client/chromium/chromium-131.0.6753.0-r1.ebuild @@ -0,0 +1,1393 @@ +# Copyright 2009-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# PACKAGING NOTES + +# Google roll their bundled Clang every two weeks, and the bundled Rust +# is rolled regularly and depends on that. While we do our best to build +# with system Clang, we will eventually hit the point where we need to use +# the bundled Clang due to the use of prerelease features. We've been lucky +# enough so far that this hasn't been an issue. +# We use llvm-utils.eclass directly due to chromium's inherent Googliness. + +# GN is bundled with Chromium, but we always use the system version. Remember to +# check for upstream changes to GN and update ebuild (and version below) as required. + +# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able +# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so), +# then we remove ffmpeg from the image to ensure that the built package is distributable +# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place; +# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system. + +# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's +# no reason not to. Todo: Re-enable USE=system-ffmpeg. + +GN_MIN_VER=0.2200 +RUST_MIN_VER=1.78.0 +# chromium-tools/get-chromium-toolchain-strings.sh +GOOGLE_CLANG_VER=llvmorg-20-init-3847-g69c43468-28 +# Upstream this is -3 but google haven't published the chromium-dev rust toolchain. +GOOGLE_RUST_VER=009e73825af0e59ad4fc603562e038b3dbd6593a-2 + +: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no} + +VIRTUALX_REQUIRED="pgo" + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + 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" + +LLVM_COMPAT=( 17 18 ) +PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_REQ_USE="xml(+)" + +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/" +PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1" +PATCH_V="${PV%%\.*}-1" +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz + system-toolchain? ( + https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 + ) + !system-toolchain? ( + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz + -> chromium-${PV%%\.*}-clang.tar.xz + https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz + -> chromium-${PV%%\.*}-rust.tar.xz + ) + ppc64? ( + https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz + https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz + ) + pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" + +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="~amd64 ~arm64" +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 +system-toolchain +vaapi +wayland +widevine" +RESTRICT="!bindist? ( bindist )" + +REQUIRED_USE=" + !headless? ( || ( X wayland ) ) + pgo? ( X !wayland ) + qt6? ( qt5 ) + screencast? ( wayland ) + ffmpeg-chromium? ( bindist proprietary-codecs ) +" + +COMMON_X_DEPEND=" + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXtst:= + x11-libs/libxshmfence:= +" + +COMMON_SNAPSHOT_DEPEND=" + system-icu? ( >=dev-libs/icu-73.0:= ) + >=dev-libs/libxml2-2.12.4:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + dev-libs/libxslt:= + media-libs/fontconfig:= + >=media-libs/freetype-2.11.0-r1:= + system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) + media-libs/libjpeg-turbo:= + system-png? ( media-libs/libpng:=[-apng(-)] ) + system-zstd? ( >=app-arch/zstd-1.5.5:= ) + >=media-libs/libwebp-0.4.0:= + media-libs/mesa:=[gbm(+)] + >=media-libs/openh264-1.6.0:= + sys-libs/zlib:= + x11-libs/libdrm:= + !headless? ( + dev-libs/glib:2 + >=media-libs/alsa-lib-1.0.19:= + pulseaudio? ( media-libs/libpulse:= ) + sys-apps/pciutils:= + kerberos? ( virtual/krb5 ) + vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) + X? ( + x11-base/xorg-proto:= + x11-libs/libX11:= + x11-libs/libxcb:= + x11-libs/libXext:= + ) + x11-libs/libxkbcommon:= + wayland? ( + dev-libs/libffi:= + dev-libs/wayland:= + screencast? ( media-video/pipewire:= ) + ) + ) +" + +COMMON_DEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + app-arch/bzip2:= + dev-libs/expat:= + net-misc/curl[ssl] + sys-apps/dbus:= + media-libs/flac:= + sys-libs/zlib:=[minizip] + !headless? ( + X? ( ${COMMON_X_DEPEND} ) + >=app-accessibility/at-spi2-core-2.46.0:2 + media-libs/mesa:=[X?,wayland?] + cups? ( >=net-print/cups-1.3.11:= ) + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/pango:= + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + ) +" +RDEPEND="${COMMON_DEPEND} + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[X?,wayland?] + ) + qt5? ( dev-qt/qtgui:5[X?,wayland?] ) + qt6? ( dev-qt/qtbase:6[X?,wayland?] ) + ) + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) + bindist? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) + ) +" +DEPEND="${COMMON_DEPEND} + !headless? ( + gtk4? ( gui-libs/gtk:4[X?,wayland?] ) + !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) + ) +" + +BDEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + >=app-arch/gzip-1.7 + !headless? ( + qt5? ( dev-qt/qtcore:5 ) + qt6? ( dev-qt/qtbase:6 ) + ) + system-toolchain? ( + $() + pgo? ( + >=dev-python/selenium-3.141.0 + >=dev-util/web_page_replay_go-20220314 + ) + >=dev-util/bindgen-0.68.0 + ) + >=dev-build/gn-${GN_MIN_VER} + dev-build/ninja + dev-lang/perl + >=dev-util/gperf-3.0.3 + dev-vcs/git + >=net-libs/nodejs-7.6.0[inspector] + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig +" + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS=" +Some web pages may require additional fonts to display properly. +Try installing some of the following packages if some characters +are not displayed properly: +- media-fonts/arphicfonts +- media-fonts/droid +- media-fonts/ipamonafont +- media-fonts/noto +- media-fonts/ja-ipafonts +- media-fonts/takao-fonts +- media-fonts/wqy-microhei +- media-fonts/wqy-zenhei + +To fix broken icons on the Downloads page, you should install an icon +theme that covers the appropriate MIME types, and configure this as your +GTK+ icon theme. + +For native file dialogs in KDE, install kde-apps/kdialog. + +To make password storage work with your desktop environment you may +have install one of the supported credentials management applications: +- app-crypt/libsecret (GNOME) +- kde-frameworks/kwallet (KDE) +If you have one of above packages installed, but don't want to use +them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS +in /etc/chromium/default. +" + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +pre_build_checks() { + # Check build requirements: bugs #471810, #541816, #914220 + # We're going to start doing maths here on the size of an unpacked source tarball, + # this should make updates easier as chromium continues to balloon in size. + local BASE_DISK=24 + local EXTRA_DISK=1 + local CHECKREQS_MEMORY="4G" + tc-is-cross-compiler && EXTRA_DISK=2 + if tc-is-lto || use pgo; then + CHECKREQS_MEMORY="9G" + tc-is-cross-compiler && EXTRA_DISK=4 + use pgo && EXTRA_DISK=8 + fi + if is-flagq '-g?(gdb)?([1-9])'; then + if use custom-cflags; then + EXTRA_DISK=13 + fi + CHECKREQS_MEMORY="16G" + fi + CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" + check-reqs_${EBUILD_PHASE_FUNC} +} + +pkg_pretend() { + 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 + fi + + if use headless; then + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") + for myiuse in ${headless_unused_flags[@]}; do + use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." + done + fi + + if ! use bindist && use ffmpeg-chromium; then + ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." + fi +} + +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 + + 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 and security reasons," + einfo "and to be consistent with the upstream \"official\" build optimisations." + fi + + use_lto="false" + if tc-is-lto; then + use_lto="true" + # We can rely on GN to do this for us; anecdotally without this builds + # take significantly longer with LTO enabled and it doesn't hurt anything. + # TODO: compare build time, memory and disk usage on several builds. + filter-lto + fi + + export use_lto + + # 936858 + if tc-ld-is-mold; then + eerror "Your toolchain is using the mold linker." + eerror "This is not supported by Chromium." + die "Please switch to a different linker." + fi + + AR=llvm-ar + CPP="${CHOST}-clang++ -E" + NM=llvm-nm + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + + if tc-is-cross-compiler; then + use pgo && die "The pgo USE flag cannot be used when cross-compiling" + CPP="${CBUILD}-clang++ -E" + 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 + 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" + fi + fi + + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + # In 126 Chromium upstream decided to change the way that the rust toolchain is packaged + # so now we get a fancy src_unpack function to ensure that we don't accidentally unpack + # one toolchain over the other. The addtional control over over unpacking also helps us + # ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system + # package by just not unpacking it unless we're using the bundled toolchain. + unpack ${P}.tar.xz + if use system-toolchain; then + unpack chromium-patches-${PATCH_V}.tar.bz2 + else + unpack chromium-${PV%%\.*}-clang.tar.xz + local rust_dir="${WORKDIR}/rust-toolchain" + mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory" + tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain" + fi + + use pgo && unpack chromium-profiler-0.2.tar + + if use ppc64; then + unpack chromium_${PATCHSET_PPC64}.debian.tar.xz + unpack chromium-ppc64le-gentoo-patches-1.tar.xz + fi +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # disable global media controls, crashes with libstdc++ + sed -i -e \ + "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ + "chrome/browser/media/router/media_router_feature.cc" + + local PATCHES=( + "${FILESDIR}/chromium-cross-compile.patch" + "${FILESDIR}/chromium-109-system-zlib.patch" + "${FILESDIR}/chromium-111-InkDropHost-crash.patch" + "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" + "${FILESDIR}/chromium-131-unbundle-icu-target.patch" + "${FILESDIR}/chromium-131-oauth2-client-switches.patch" + "${FILESDIR}/chromium-131-const-atomicstring-conversion.patch" + ) + + if use system-toolchain; then + # The patchset is really only required if we're using the system-toolchain + PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" ) + # We can't use the bundled compiler builtins with the system toolchain + # `grep` is a development convenience to ensure we fail early when google changes something. + local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" + grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" + sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn + + else + mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm" + ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin" + ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib" + echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \ + die "Failed to set clang version" + ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" + cp "${WORKDIR}"/rust-toolchain/VERSION \ + "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" + fi + + if use ppc64 ; then + local p + for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do + if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then + eapply "${WORKDIR}/debian/patches/${p}" + fi + done + PATCHES+=( "${WORKDIR}/ppc64le" ) + PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" ) + fi + + default + + rm third_party/node/linux/node-linux-x64/bin/node || die + ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die + + # adjust python interpreter version + sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die + + local keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + chrome/third_party/mozilla_security_manager + net/third_party/mozilla_security_manager + net/third_party/nss + net/third_party/quic + net/third_party/uri_template + third_party/abseil-cpp + third_party/angle + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/ceval + third_party/angle/src/third_party/libXNVCtrl + third_party/angle/src/third_party/volk + third_party/anonymous_tokens + third_party/apple_apsl + third_party/axe-core + third_party/bidimapper + third_party/blink + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + third_party/brotli + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4-4.9.3 + third_party/catapult/third_party/html5lib-1.1 + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + third_party/catapult/tracing/third_party/d3 + third_party/catapult/tracing/third_party/gl-matrix + third_party/catapult/tracing/third_party/jpeg-js + third_party/catapult/tracing/third_party/jszip + third_party/catapult/tracing/third_party/mannwhitneyu + third_party/catapult/tracing/third_party/oboe + third_party/catapult/tracing/third_party/pako + third_party/ced + third_party/cld_3 + third_party/closure_compiler + third_party/content_analysis_sdk + third_party/cpuinfo + third_party/crabbyavif + third_party/crashpad + third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib + third_party/crc32c + third_party/cros_system_api + third_party/d3 + third_party/dav1d + third_party/dawn + third_party/dawn/third_party/gn/webgpu-cts + third_party/dawn/third_party/khronos + third_party/depot_tools + third_party/devscripts + third_party/devtools-frontend + third_party/devtools-frontend/src/front_end/third_party/acorn + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/devtools-frontend/src/front_end/third_party/axe-core + third_party/devtools-frontend/src/front_end/third_party/chromium + third_party/devtools-frontend/src/front_end/third_party/codemirror + third_party/devtools-frontend/src/front_end/third_party/csp_evaluator + third_party/devtools-frontend/src/front_end/third_party/diff + third_party/devtools-frontend/src/front_end/third_party/i18n + third_party/devtools-frontend/src/front_end/third_party/intl-messageformat + third_party/devtools-frontend/src/front_end/third_party/lighthouse + third_party/devtools-frontend/src/front_end/third_party/lit + third_party/devtools-frontend/src/front_end/third_party/marked + third_party/devtools-frontend/src/front_end/third_party/puppeteer + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/third-party-web + third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data + third_party/devtools-frontend/src/front_end/third_party/wasmparser + third_party/devtools-frontend/src/front_end/third_party/web-vitals + third_party/devtools-frontend/src/third_party + third_party/distributed_point_functions + third_party/dom_distiller_js + third_party/eigen3 + third_party/emoji-segmenter + third_party/farmhash + third_party/fast_float + third_party/fdlibm + third_party/ffmpeg + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/freetype + third_party/fusejs + third_party/fxdiv + third_party/gemmlowp + third_party/google_input_tools + third_party/google_input_tools/third_party/closure_library + third_party/google_input_tools/third_party/closure_library/third_party/closure + third_party/googletest + third_party/highway + third_party/hunspell + third_party/iccjpeg + third_party/ink_stroke_modeler/src/ink_stroke_modeler + third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal + third_party/ink/src/ink/brush + third_party/ink/src/ink/color + third_party/ink/src/ink/geometry + third_party/ink/src/ink/rendering/skia/common_internal + third_party/ink/src/ink/rendering/skia/native + third_party/ink/src/ink/rendering/skia/native/internal + third_party/ink/src/ink/strokes + third_party/ink/src/ink/types + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + third_party/jsoncpp + third_party/jstemplate + third_party/khronos + third_party/lens_server_proto + third_party/leveldatabase + third_party/libaddressinput + third_party/libaom + third_party/libaom/source/libaom/third_party/fastfeat + third_party/libaom/source/libaom/third_party/SVT-AV1 + third_party/libaom/source/libaom/third_party/vector + third_party/libaom/source/libaom/third_party/x86inc + third_party/libavif + third_party/libc++ + third_party/libevent + third_party/libgav1 + third_party/libjingle + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/liburlpattern + third_party/libva_protected_content + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc + third_party/libwebm + third_party/libx11 + third_party/libxcb-keysyms + third_party/libxml/chromium + third_party/libyuv + third_party/libzip + third_party/lit + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/markupsafe + third_party/material_color_utilities + third_party/mesa + third_party/metrics_proto + third_party/minigbm + third_party/modp_b64 + third_party/nasm + third_party/nearby + third_party/neon_2_sse + third_party/node + third_party/omnibox_proto + third_party/one_euro_filter + third_party/openscreen + third_party/openscreen/src/third_party/ + third_party/openscreen/src/third_party/tinycbor/src/src + third_party/opus + third_party/ots + third_party/pdfium + third_party/pdfium/third_party/agg23 + third_party/pdfium/third_party/bigint + third_party/pdfium/third_party/freetype + third_party/pdfium/third_party/lcms + third_party/pdfium/third_party/libopenjpeg + third_party/pdfium/third_party/libtiff + third_party/perfetto + third_party/perfetto/protos/third_party/chromium + third_party/perfetto/protos/third_party/simpleperf + third_party/pffft + third_party/ply + third_party/polymer + third_party/private_membership + third_party/private-join-and-compute + third_party/protobuf + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/qcms + third_party/rapidhash + third_party/re2 + third_party/rnnoise + third_party/rust + third_party/ruy + third_party/s2cellid + third_party/securemessage + third_party/selenium-atoms + third_party/sentencepiece + third_party/sentencepiece/src/third_party/darts_clone + third_party/shell-encryption + third_party/simplejson + third_party/six + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/snappy + third_party/spirv-headers + third_party/spirv-tools + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv + third_party/swiftshader/third_party/SPIRV-Tools + third_party/swiftshader/third_party/subzero + third_party/tensorflow_models + third_party/tensorflow-text + third_party/tflite + third_party/tflite/src/third_party/eigen3 + third_party/tflite/src/third_party/fft2d + third_party/tflite/src/third_party/xla/third_party/tsl + third_party/tflite/src/third_party/xla/xla/tsl/framework + third_party/tflite/src/third_party/xla/xla/tsl/util + third_party/ukey2 + third_party/unrar + third_party/utf + third_party/vulkan + third_party/wayland + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + third_party/webrtc/common_audio/third_party/spl_sqrt_floor + third_party/webrtc/modules/third_party/fft + third_party/webrtc/modules/third_party/g711 + third_party/webrtc/modules/third_party/g722 + third_party/webrtc/rtc_base/third_party/base64 + third_party/webrtc/rtc_base/third_party/sigslot + third_party/widevine + third_party/woff2 + third_party/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zlib/google + third_party/zxcvbn-cpp + url/third_party/mozilla + v8/src/third_party/siphash + v8/src/third_party/utf8-decoder + v8/src/third_party/valgrind + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/v8 + + # gyp -> gn leftovers + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + ) + + # USE=system-* + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi + + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + + if ! use system-png; then + keeplibs+=( third_party/libpng ) + fi + + if ! use system-zstd; then + keeplibs+=( third_party/zstd ) + fi + + if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then + keeplibs+=( third_party/llvm ) + fi + + # Arch-specific + if use arm64 || use ppc64 ; then + keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) + fi + # we need to generate ppc64 stuff because upstream does not ship it yet + # it has to be done before unbundling. + if use ppc64; then + pushd third_party/libvpx >/dev/null || die + mkdir -p source/config/linux/ppc64 || die + # requires git and clang, bug #832803 + # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh + # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh + # since we're not in a git repo + sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ + generate_gni.sh || die + ./generate_gni.sh || die + popd >/dev/null || die + + pushd third_party/ffmpeg >/dev/null || die + cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die + cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die + popd >/dev/null || die + fi + + # Sanity check keeplibs, on major version bumps it is often necessary to update this list + # and this enables us to hit them all at once. + # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) + whitelist_libs=( + net/third_party/quic + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/libjingle + third_party/mesa + third_party/skia/third_party/vulkan + third_party/vulkan + ) + local not_found_libs=() + for lib in "${keeplibs[@]}"; do + if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then + not_found_libs+=( "${lib}" ) + fi + done + + if [[ ${#not_found_libs[@]} -gt 0 ]]; then + eerror "The following \`keeplibs\` directories were not found in the source tree:" + for lib in "${not_found_libs[@]}"; do + eerror " ${lib}" + done + die "Please update the ebuild." + fi + + # Remove most bundled libraries. Some are still needed. + einfo "Unbundling third-party libraries ..." + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die + + # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries + mkdir -p buildtools/third_party/eu-strip/bin || die + ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die +} + +chromium_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + # We already forced the "correct" clang via pkg_setup + if use system-toolchain; then + if tc-is-cross-compiler; then + CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_AR=${AR} + BUILD_CC=${CC} + BUILD_CXX=${CXX} + BUILD_NM=${NM} + fi + + strip-unsupported-flags + + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + # https://bugs.gentoo.org/918897#c32 + append-ldflags -Wl,--undefined-version + myconf_gn+=" use_lld=true" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + + if tc-is-cross-compiler; then + tc-export BUILD_{AR,CC,CXX,NM} + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" + myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" + + # setup cups-config, build system only uses --libs option + if use cups; then + mkdir "${T}/cups-config" || die + cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die + export PATH="${PATH}:${T}/cups-config" + fi + + # Don't inherit PKG_CONFIG_PATH from environment + local -x PKG_CONFIG_PATH= + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + # bindgen settings + # From 127, to make bindgen work, we need to provide a location for libclang. + # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch + # rust_bindgen_root = directory with `bin/bindgen` beneath it. + myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" + + + 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}/\"" + 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. + myconf_gn+=" is_debug=false" + + # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. + # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. + myconf_gn+=" dcheck_always_on=$(usex debug true false)" + myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" + + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + myconf_gn+=" is_component_build=false" + + # Disable nacl, we can't build without pnacl (http://crbug.com/269560). + myconf_gn+=" enable_nacl=false" + + # Use system-provided libraries. + # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_sqlite (http://crbug.com/22208). + + # libevent: https://bugs.gentoo.org/593458 + local gn_system_libraries=( + flac + fontconfig + freetype + # Need harfbuzz_from_pkgconfig target + #harfbuzz-ng + libdrm + libjpeg + libwebp + libxml + libxslt + openh264 + zlib + ) + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-png; then + gn_system_libraries+=( libpng ) + fi + if use system-zstd; then + gn_system_libraries+=( zstd ) + fi + + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die + + # See dependency logic in third_party/BUILD.gn + myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" + + # Optional dependencies. + myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" + myconf_gn+=" enable_widevine=$(usex widevine true false)" + + if use headless; then + myconf_gn+=" use_cups=false" + myconf_gn+=" use_kerberos=false" + myconf_gn+=" use_pulseaudio=false" + myconf_gn+=" use_vaapi=false" + myconf_gn+=" rtc_use_pipewire=false" + else + myconf_gn+=" use_cups=$(usex cups true false)" + myconf_gn+=" use_kerberos=$(usex kerberos true false)" + myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" + myconf_gn+=" use_vaapi=$(usex vaapi true false)" + myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" + myconf_gn+=" gtk_version=$(usex gtk4 4 3)" + fi + + # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of + # using dlopen. This helps with automated detection of ABI mismatches and + # prevents silent errors. + if use pulseaudio; then + myconf_gn+=" link_pulseaudio=true" + fi + + # Non-developer builds of Chromium (for example, non-Chrome browsers, or + # Chromium builds provided by Linux distros) should disable the testing config + myconf_gn+=" disable_fieldtrial_testing_config=true" + + # The sysroot is the oldest debian image that chromium supports, we don't need it + myconf_gn+=" use_sysroot=false" + + # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) + # instead of the system C++ library for C++ standard library support. + # default: true, but let's be explicit (forced since 120 ; USE removed 127). + myconf_gn+=" use_custom_libcxx=true" + + # Disable pseudolocales, only used for testing + myconf_gn+=" enable_pseudolocales=false" + + # Disable code formating of generated files + myconf_gn+=" blink_enable_generated_code_formatting=false" + + if use bindist ; then + # proprietary_codecs just forces Chromium to say that it can use h264/aac, + # the work is still done by ffmpeg. If this is set to no Chromium + # won't be able to load the codec even if the library can handle it + myconf_gn+=" proprietary_codecs=true" + myconf_gn+=" ffmpeg_branding=\"Chrome\"" + # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute + myconf_gn+=" is_component_ffmpeg=true" + else + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" + myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" + fi + + # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . + # Note: these are for Gentoo use ONLY. For your own distribution, + # please get your own set of keys. Feel free to contact chromium@gentoo.org + # for more info. The OAuth2 credentials, however, have been left out. + # Those OAuth2 credentials have been broken for quite some time anyway. + # Instead we apply a patch to use the --oauth2-client-id= and + # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and + # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into + # Chromium without baked-in values. + local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" + myconf_gn+=" google_api_key=\"${google_api_key}\"" + local myarch="$(tc-arch)" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + + # Debug info section overflows without component build + # Prevent linker from running out of address space, bug #471810 . + filter-flags "-g*" + + # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. + if [[ ${myarch} == amd64 ]]; then + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a + fi + fi + + if [[ $myarch = amd64 ]] ; then + myconf_gn+=" target_cpu=\"x64\"" + ffmpeg_target_arch=x64 + elif [[ $myarch = arm64 ]] ; then + myconf_gn+=" target_cpu=\"arm64\"" + ffmpeg_target_arch=arm64 + elif [[ $myarch = ppc64 ]] ; then + myconf_gn+=" target_cpu=\"ppc64\"" + ffmpeg_target_arch=ppc64 + else + die "Failed to determine target arch, got '$myarch'." + fi + + myconf_gn+=" treat_warnings_as_errors=false" + # Disable fatal linker warnings, bug 506268. + myconf_gn+=" fatal_linker_warnings=false" + + # Disable external code space for V8 for ppc64. It is disabled for ppc64 + # by default, but cross-compiling on amd64 enables it again. + if tc-is-cross-compiler; then + if ! use amd64 && ! use arm64; then + myconf_gn+=" v8_enable_external_code_space=false" + fi + fi + + # Only enabled for clang, but gcc has endian macros too + myconf_gn+=" v8_use_libm_trig_functions=true" + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + # We don't use the same clang version as upstream, and with -Werror + # we need to make sure that we don't get superfluous warnings. + append-flags -Wno-unknown-warning-option + if tc-is-cross-compiler; then + export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" + export BUILD_CFLAGS+=" -Wno-unknown-warning-option" + fi + + # Explicitly disable ICU data file support for system-icu/headless builds. + if use system-icu || use headless; then + myconf_gn+=" icu_use_data_file=false" + fi + + # Don't need nocompile checks and GN crashes with our config + myconf_gn+=" enable_nocompile_tests=false" + + # Enable ozone wayland and/or headless support + myconf_gn+=" use_ozone=true ozone_auto_platforms=false" + myconf_gn+=" ozone_platform_headless=true" + if use headless; then + myconf_gn+=" ozone_platform=\"headless\"" + myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" + myconf_gn+=" use_glib=false use_gio=false" + myconf_gn+=" use_pangocairo=false use_alsa=false" + myconf_gn+=" use_libpci=false use_udev=false" + myconf_gn+=" enable_print_preview=false" + myconf_gn+=" enable_remoting=false" + else + myconf_gn+=" use_system_libdrm=true" + myconf_gn+=" use_system_minigbm=true" + myconf_gn+=" use_xkbcommon=true" + if use qt5 || use qt6; then + local cbuild_libdir=$(get_libdir) + if tc-is-cross-compiler; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) + cbuild_libdir=${cbuild_libdir:2} + cbuild_libdir=${cbuild_libdir/% } + fi + if use qt5; then + if tc-is-cross-compiler; then + myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" + else + myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" + fi + fi + if use qt6; then + myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" + fi + + myconf_gn+=" use_qt=true" + myconf_gn+=" use_qt6=$(usex qt6 true false)" + else + myconf_gn+=" use_qt=false" + fi + myconf_gn+=" ozone_platform_x11=$(usex X true false)" + myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" + myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" + use wayland && myconf_gn+=" use_system_libffi=true" + fi + + myconf_gn+=" use_thin_lto=${use_lto}" + myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" + + # Enable official builds + myconf_gn+=" is_official_build=$(usex official true false)" + if use official; then + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py || die + # This may need to be filtered on non-amd64 arches + # Also these options are listed in upstream docs: use_cfi_icall=true use_cfi_cast=true (This may be for testing only?) + # https://www.chromium.org/developers/testing/control-flow-integrity/ + myconf_gn+=" is_cfi=${use_lto}" + # Don't add symbols to build + myconf_gn+=" symbol_level=0" + fi + + if use pgo; then + myconf_gn+=" chrome_pgo_phase=${1}" + if [[ "$1" == "2" ]]; then + myconf_gn+=" pgo_data_path=\"${2}\"" + fi + else + # Disable PGO + myconf_gn+=" chrome_pgo_phase=0" + fi + + # skipping typecheck is only supported on amd64, bug #876157 + if ! use amd64; then + myconf_gn+=" devtools_skip_typecheck=false" + fi + + einfo "Configuring Chromium ..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_configure() { + chromium_configure $(usex pgo 1 0) +} + +chromium_compile() { + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # Don't inherit PYTHONPATH from environment, bug #789021, #812689 + local -x PYTHONPATH= + + # Build mksnapshot and pax-mark it. + if use pax-kernel; then + local x + for x in mksnapshot v8_context_snapshot_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + fi + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chromedriver chrome_sandbox + + pax-mark m out/Release/chrome + + if ! use system-toolchain; then + QA_FLAGS_IGNORED=" + usr/lib64/chromium-browser/chrome + usr/lib64/chromium-browser/chrome-sandbox + usr/lib64/chromium-browser/chromedriver + usr/lib64/chromium-browser/chrome_crashpad_handler + usr/lib64/chromium-browser/libEGL.so + usr/lib64/chromium-browser/libGLESv2.so + usr/lib64/chromium-browser/libVkICD_mock_icd.so + usr/lib64/chromium-browser/libVkLayer_khronos_validation.so + usr/lib64/chromium-browser/libqt5_shim.so + usr/lib64/chromium-browser/libvk_swiftshader.so + usr/lib64/chromium-browser/libvulkan.so.1 + " + fi +} + +# This function is called from virtx, and must always return so that Xvfb +# session isn't left running. If we return 1, virtx will call die(). +chromium_profile() { + einfo "Profiling for PGO" + + pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 + + # Remove old profdata in case profiling was interrupted. + rm -rf "${1}" || return 1 + + if ! "${EPYTHON}" ./chromium_profiler.py \ + --chrome-executable "${S}/out/Release/chrome" \ + --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ + --add-arg no-sandbox --add-arg disable-dev-shm-usage \ + --profile-output "${1}"; then + eerror "Profiling failed" + return 1 + fi + + popd >/dev/null || return 1 +} + +src_compile() { + if use pgo; then + local profdata + + profdata="${WORKDIR}/chromium.profdata" + + if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then + chromium_compile + virtx chromium_profile "$profdata" + + touch "${WORKDIR}/.pgo-profiled" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then + # Remove phase 1 output + rm -r out/Release || die + + chromium_configure 2 "$profdata" + + touch "${WORKDIR}/.pgo-phase-2-configured" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then + chromium_compile + touch "${WORKDIR}/.pgo-phase-2-compiled" || die + fi + else + chromium_compile + fi + + mv out/Release/chromedriver{.unstripped,} || die + + rm -f out/Release/locales/*.pak.info || die + + # Build manpage; bug #684550 + sed -e 's|@@PACKAGE@@|chromium-browser|g; + s|@@MENUNAME@@|Chromium|g;' \ + chrome/app/resources/manpage.1.in > \ + out/Release/chromium-browser.1 || die + + # Build desktop file; bug #706786 + sed -e 's|@@MENUNAME@@|Chromium|g; + s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; + s|@@PACKAGE@@|chromium-browser|g; + s|\(^Exec=\)/usr/bin/|\1|g;' \ + chrome/installer/linux/common/desktop.template > \ + out/Release/chromium-browser-chromium.desktop || die + + # Build vk_swiftshader_icd.json; bug #827861 + sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ + third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ + out/Release/vk_swiftshader_icd.json || die +} + +src_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + + doexe out/Release/chromedriver + doexe out/Release/chrome_crashpad_handler + + ozone_auto_session () { + use X && use wayland && ! use headless && echo true || echo false + } + local sedargs=( -e + "s:/usr/lib/:/usr/$(get_libdir)/:g; + s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" + ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die + doexe chromium-launcher.sh + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium + + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver + + # Allow users to override command-line options, bug #357629. + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + + if use bindist; then + # We built libffmpeg as a component library, but we can't distribute it + # with proprietary codec support. Remove it and make a symlink to the requested + # system library. + rm -f out/Release/libffmpeg.so \ + || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" + # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. + einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." + dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ + /usr/$(get_libdir)/chromium-browser/libffmpeg.so + fi + + ( + shopt -s nullglob + local files=(out/Release/*.so out/Release/*.so.[0-9]) + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" + ) + + # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" + doins out/Release/xdg-{settings,mime} + + if ! use system-icu && ! use headless; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/MEIPreload + + # Install vk_swiftshader_icd.json; bug #827861 + doins out/Release/vk_swiftshader_icd.json + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + # Install icons + local branding size + for size in 16 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser.png + done + + # Install desktop entry + domenu out/Release/chromium-browser-chromium.desktop + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml + + # Install manpage; bug #684550 + doman out/Release/chromium-browser.1 + dosym chromium-browser.1 /usr/share/man/man1/chromium.1 + + readme.gentoo_create_doc +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + readme.gentoo_print_elog + + if ! use headless; then + if use vaapi; then + elog "VA-API is disabled by default at runtime. You have to enable it" + elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" + elog "in /etc/chromium/default." + fi + if use screencast; then + elog "Screencast is disabled by default at runtime. Either enable it" + elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" + elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use gtk4; then + elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" + elog "behavior you need to pass --gtk-version=4, e.g. by adding it" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use qt5 && use qt6; then + elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" + elog "environment. To override you need to pass --qt-version=5 or" + elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" + elog "/etc/chromium/default." + fi + fi + + if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then + ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" + ewarn "indicates that the Gentoo handbook was not followed to completion." + ewarn "" + ewarn "Chromium is known to behave unpredictably with this system configuration;" + ewarn "please complete the configuration of this system before logging any bugs." + fi +} diff --git a/www-client/chromium/chromium-131.0.6753.0.ebuild b/www-client/chromium/chromium-131.0.6753.0.ebuild deleted file mode 100644 index b9fbbe6b9e34..000000000000 --- a/www-client/chromium/chromium-131.0.6753.0.ebuild +++ /dev/null @@ -1,1510 +0,0 @@ -# Copyright 2009-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# PACKAGING NOTES - -# Google roll their bundled Clang every two weeks, and the bundled Rust -# is rolled regularly and depends on that. While we do our best to build -# with system Clang, we will eventually hit the point where we need to use -# the bundled Clang due to the use of prerelease features. We've been lucky -# enough so far that this hasn't been an issue. -# We use llvm-utils.eclass directly due to chromium's inherent Googliness. - -# GN is bundled with Chromium, but we always use the system version. Remember to -# check for upstream changes to GN and update ebuild (and version below) as required. - -# For binhost users, if USE=bindist is set, we configure Chromium in a way that it is able -# to use proprietary codecs, and so that ffmpeg is an external component (libffmpeg.so), -# then we remove ffmpeg from the image to ensure that the built package is distributable -# (i.e. we don't owe royalties). A suitable libffmpeg.so is symlinked in its place; -# as a result of this, ffmpeg[chromium] or ffmpeg-chromium must be installed on the system. - -# For non-binhost builds, we build the bundled ffmpeg and enable proprietary codecs because there's -# no reason not to. Todo: Re-enable USE=system-ffmpeg. - -GN_MIN_VER=0.2200 -RUST_MIN_VER=1.78.0 -# chromium-tools/get-chromium-toolchain-strings.sh -GOOGLE_CLANG_VER=llvmorg-20-init-3847-g69c43468-28 -# Upstream this is -3 but google haven't published the chromium-dev rust toolchain. -GOOGLE_RUST_VER=009e73825af0e59ad4fc603562e038b3dbd6593a-2 - -: ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN=no} - -VIRTUALX_REQUIRED="pgo" - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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 - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://www.chromium.org/" -PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1" -PATCH_V="${PV%%\.*}-1" -SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.xz - system-toolchain? ( - https://gitlab.com/Matt.Jolly/chromium-patches/-/archive/${PATCH_V}/chromium-patches-${PATCH_V}.tar.bz2 - ) - !system-toolchain? ( - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-${GOOGLE_CLANG_VER}.tar.xz - -> chromium-${PV%%\.*}-clang.tar.xz - https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-${GOOGLE_RUST_VER}-${GOOGLE_CLANG_VER%???}.tar.xz - -> chromium-${PV%%\.*}-rust.tar.xz - ) - ppc64? ( - https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz - https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz - ) - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -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 - KEYWORDS="~amd64 ~arm64" -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 +system-toolchain +vaapi +wayland +widevine" -RESTRICT="!bindist? ( bindist )" - -REQUIRED_USE=" - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) - qt6? ( qt5 ) - screencast? ( wayland ) - ffmpeg-chromium? ( bindist proprietary-codecs ) -" - -COMMON_X_DEPEND=" - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-73.0:= ) - >=dev-libs/libxml2-2.12.4:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng(-)] ) - system-zstd? ( >=app-arch/zstd-1.5.5:= ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-libs/libpulse:= ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) - X? ( - x11-base/xorg-proto:= - x11-libs/libX11:= - x11-libs/libxcb:= - x11-libs/libXext:= - ) - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/libffi:= - dev-libs/wayland:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - X? ( ${COMMON_X_DEPEND} ) - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - cups? ( >=net-print/cups-1.3.11:= ) - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[X?,wayland?] - ) - qt5? ( dev-qt/qtgui:5[X?,wayland?] ) - qt6? ( dev-qt/qtbase:6[X?,wayland?] ) - ) - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - bindist? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) - ) -" -DEPEND="${COMMON_DEPEND} - !headless? ( - gtk4? ( gui-libs/gtk:4[X?,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) - ) -" - -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} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - !headless? ( - qt5? ( dev-qt/qtcore:5 ) - 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 - ) - >=dev-util/bindgen-0.68.0 - ) - >=dev-build/gn-${GN_MIN_VER} - dev-build/ninja - dev-lang/perl - >=dev-util/gperf-3.0.3 - dev-vcs/git - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig -" - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - # Check build requirements: bugs #471810, #541816, #914220 - # We're going to start doing maths here on the size of an unpacked source tarball, - # this should make updates easier as chromium continues to balloon in size. - local BASE_DISK=24 - local EXTRA_DISK=1 - local CHECKREQS_MEMORY="4G" - tc-is-cross-compiler && EXTRA_DISK=2 - if tc-is-lto || use pgo; then - CHECKREQS_MEMORY="9G" - tc-is-cross-compiler && EXTRA_DISK=4 - use pgo && EXTRA_DISK=8 - fi - if is-flagq '-g?(gdb)?([1-9])'; then - if use custom-cflags; then - EXTRA_DISK=13 - fi - CHECKREQS_MEMORY="16G" - fi - CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" - check-reqs_${EBUILD_PHASE_FUNC} -} - -pkg_pretend() { - 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 - fi - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." - done - fi - - if ! use bindist && use ffmpeg-chromium; then - ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." - 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 - - 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 and security reasons," - einfo "and to be consistent with the upstream \"official\" build optimisations." - fi - - use_lto="false" - if tc-is-lto; then - use_lto="true" - # We can rely on GN to do this for us; anecdotally without this builds - # take significantly longer with LTO enabled and it doesn't hurt anything. - # TODO: compare build time, memory and disk usage on several builds. - filter-lto - fi - - export use_lto - - # 936858 - if tc-ld-is-mold; then - eerror "Your toolchain is using the mold linker." - eerror "This is not supported by Chromium." - 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 - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - - if tc-is-cross-compiler; then - use pgo && die "The pgo USE flag cannot be used when cross-compiling" - 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 - - # 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 - if ver_test $(gn --version || die) -lt ${GN_MIN_VER}; then - die "dev-build/gn >= ${GN_MIN_VER} is required to build this Chromium" - fi - fi - - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - # In 126 Chromium upstream decided to change the way that the rust toolchain is packaged - # so now we get a fancy src_unpack function to ensure that we don't accidentally unpack - # one toolchain over the other. The addtional control over over unpacking also helps us - # ensure that GN doesn't try and use some bundled tool (like bindgen) instead of the system - # package by just not unpacking it unless we're using the bundled toolchain. - unpack ${P}.tar.xz - if use system-toolchain; then - unpack chromium-patches-${PATCH_V}.tar.bz2 - else - unpack chromium-${PV%%\.*}-clang.tar.xz - local rust_dir="${WORKDIR}/rust-toolchain" - mkdir -p ${rust_dir} || die "Failed to create rust toolchain directory" - tar xf "${DISTDIR}/chromium-${PV%%\.*}-rust.tar.xz" -C ${rust_dir} || die "Failed to unpack rust toolchain" - fi - - use pgo && unpack chromium-profiler-0.2.tar - - if use ppc64; then - unpack chromium_${PATCHSET_PPC64}.debian.tar.xz - unpack chromium-ppc64le-gentoo-patches-1.tar.xz - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # disable global media controls, crashes with libstdc++ - sed -i -e \ - "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ - "chrome/browser/media/router/media_router_feature.cc" - - local PATCHES=( - "${FILESDIR}/chromium-cross-compile.patch" - "${FILESDIR}/chromium-109-system-zlib.patch" - "${FILESDIR}/chromium-111-InkDropHost-crash.patch" - "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" - "${FILESDIR}/chromium-131-unbundle-icu-target.patch" - "${FILESDIR}/chromium-131-oauth2-client-switches.patch" - "${FILESDIR}/chromium-131-const-atomicstring-conversion.patch" - ) - - if use system-toolchain; then - # The patchset is really only required if we're using the system-toolchain - PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" ) - # We can't use the bundled compiler builtins with the system toolchain - # `grep` is a development convenience to ensure we fail early when google changes something. - local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" - grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" - sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn - - else - mkdir -p third_party/llvm-build/Release+Asserts || die "Failed to bundle llvm" - ln -s "${WORKDIR}"/bin third_party/llvm-build/Release+Asserts/bin || die "Failed to symlink llvm bin" - ln -s "${WORKDIR}"/lib third_party/llvm-build/Release+Asserts/lib || die "Failed to symlink llvm lib" - echo "${GOOGLE_CLANG_VER}" > third_party/llvm-build/Release+Asserts/cr_build_revision || \ - die "Failed to set clang version" - ln -s "${WORKDIR}"/rust-toolchain third_party/rust-toolchain || die "Failed to bundle rust" - cp "${WORKDIR}"/rust-toolchain/VERSION \ - "${WORKDIR}"/rust-toolchain/INSTALLED_VERSION || die "Failed to set rust version" - fi - - if use ppc64 ; then - local p - for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do - if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then - eapply "${WORKDIR}/debian/patches/${p}" - fi - done - PATCHES+=( "${WORKDIR}/ppc64le" ) - PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" ) - fi - - default - - rm third_party/node/linux/node-linux-x64/bin/node || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - local keeplibs=( - base/third_party/cityhash - base/third_party/double_conversion - base/third_party/icu - base/third_party/nspr - base/third_party/superfasthash - base/third_party/symbolize - base/third_party/xdg_user_dirs - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - chrome/third_party/mozilla_security_manager - net/third_party/mozilla_security_manager - net/third_party/nss - net/third_party/quic - net/third_party/uri_template - third_party/abseil-cpp - third_party/angle - third_party/angle/src/common/third_party/xxhash - third_party/angle/src/third_party/ceval - third_party/angle/src/third_party/libXNVCtrl - third_party/angle/src/third_party/volk - third_party/anonymous_tokens - third_party/apple_apsl - third_party/axe-core - third_party/bidimapper - third_party/blink - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/catapult - third_party/catapult/common/py_vulcanize/third_party/rcssmin - third_party/catapult/common/py_vulcanize/third_party/rjsmin - third_party/catapult/third_party/beautifulsoup4-4.9.3 - third_party/catapult/third_party/html5lib-1.1 - third_party/catapult/third_party/polymer - third_party/catapult/third_party/six - third_party/catapult/tracing/third_party/d3 - third_party/catapult/tracing/third_party/gl-matrix - third_party/catapult/tracing/third_party/jpeg-js - third_party/catapult/tracing/third_party/jszip - third_party/catapult/tracing/third_party/mannwhitneyu - third_party/catapult/tracing/third_party/oboe - third_party/catapult/tracing/third_party/pako - third_party/ced - third_party/cld_3 - third_party/closure_compiler - third_party/content_analysis_sdk - third_party/cpuinfo - third_party/crabbyavif - third_party/crashpad - third_party/crashpad/crashpad/third_party/lss - third_party/crashpad/crashpad/third_party/zlib - third_party/crc32c - third_party/cros_system_api - third_party/d3 - third_party/dav1d - third_party/dawn - third_party/dawn/third_party/gn/webgpu-cts - third_party/dawn/third_party/khronos - third_party/depot_tools - third_party/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/acorn - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/devtools-frontend/src/front_end/third_party/axe-core - third_party/devtools-frontend/src/front_end/third_party/chromium - third_party/devtools-frontend/src/front_end/third_party/codemirror - third_party/devtools-frontend/src/front_end/third_party/csp_evaluator - third_party/devtools-frontend/src/front_end/third_party/diff - third_party/devtools-frontend/src/front_end/third_party/i18n - third_party/devtools-frontend/src/front_end/third_party/intl-messageformat - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/front_end/third_party/lit - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/puppeteer - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs - third_party/devtools-frontend/src/front_end/third_party/third-party-web - third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/front_end/third_party/web-vitals - third_party/devtools-frontend/src/third_party - third_party/distributed_point_functions - third_party/dom_distiller_js - third_party/eigen3 - third_party/emoji-segmenter - third_party/farmhash - third_party/fast_float - third_party/fdlibm - third_party/ffmpeg - third_party/fft2d - third_party/flatbuffers - third_party/fp16 - third_party/freetype - third_party/fusejs - third_party/fxdiv - third_party/gemmlowp - third_party/google_input_tools - third_party/google_input_tools/third_party/closure_library - third_party/google_input_tools/third_party/closure_library/third_party/closure - third_party/googletest - third_party/highway - third_party/hunspell - third_party/iccjpeg - third_party/ink_stroke_modeler/src/ink_stroke_modeler - third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal - third_party/ink/src/ink/brush - third_party/ink/src/ink/color - third_party/ink/src/ink/geometry - third_party/ink/src/ink/rendering/skia/common_internal - third_party/ink/src/ink/rendering/skia/native - third_party/ink/src/ink/rendering/skia/native/internal - third_party/ink/src/ink/strokes - third_party/ink/src/ink/types - third_party/inspector_protocol - third_party/ipcz - third_party/jinja2 - third_party/jsoncpp - third_party/jstemplate - third_party/khronos - third_party/lens_server_proto - third_party/leveldatabase - third_party/libaddressinput - third_party/libaom - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libaom/source/libaom/third_party/SVT-AV1 - third_party/libaom/source/libaom/third_party/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libc++ - third_party/libevent - third_party/libgav1 - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/liburlpattern - third_party/libva_protected_content - third_party/libvpx - third_party/libvpx/source/libvpx/third_party/x86inc - third_party/libwebm - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - third_party/libzip - third_party/lit - third_party/lottie - third_party/lss - third_party/lzma_sdk - third_party/mako - third_party/markupsafe - third_party/material_color_utilities - third_party/mesa - third_party/metrics_proto - third_party/minigbm - third_party/modp_b64 - third_party/nasm - third_party/nearby - third_party/neon_2_sse - third_party/node - third_party/omnibox_proto - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/ - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/opus - third_party/ots - third_party/pdfium - third_party/pdfium/third_party/agg23 - third_party/pdfium/third_party/bigint - third_party/pdfium/third_party/freetype - third_party/pdfium/third_party/lcms - third_party/pdfium/third_party/libopenjpeg - third_party/pdfium/third_party/libtiff - third_party/perfetto - third_party/perfetto/protos/third_party/chromium - third_party/perfetto/protos/third_party/simpleperf - third_party/pffft - third_party/ply - third_party/polymer - third_party/private_membership - third_party/private-join-and-compute - third_party/protobuf - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/qcms - third_party/rapidhash - third_party/re2 - third_party/rnnoise - third_party/rust - third_party/ruy - third_party/s2cellid - third_party/securemessage - third_party/selenium-atoms - third_party/sentencepiece - third_party/sentencepiece/src/third_party/darts_clone - third_party/shell-encryption - third_party/simplejson - third_party/six - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/snappy - third_party/spirv-headers - third_party/spirv-tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/astc-encoder - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/marl - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv - third_party/swiftshader/third_party/SPIRV-Tools - third_party/swiftshader/third_party/subzero - third_party/tensorflow_models - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/tflite/src/third_party/xla/third_party/tsl - third_party/tflite/src/third_party/xla/xla/tsl/framework - third_party/tflite/src/third_party/xla/xla/tsl/util - third_party/ukey2 - third_party/unrar - third_party/utf - third_party/vulkan - third_party/wayland - third_party/webdriver - third_party/webgpu-cts - third_party/webrtc - third_party/webrtc/common_audio/third_party/ooura - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/modules/third_party/fft - third_party/webrtc/modules/third_party/g711 - third_party/webrtc/modules/third_party/g722 - third_party/webrtc/rtc_base/third_party/base64 - third_party/webrtc/rtc_base/third_party/sigslot - third_party/widevine - third_party/woff2 - third_party/wuffs - third_party/x11proto - third_party/xcbproto - third_party/xnnpack - third_party/zlib/google - third_party/zxcvbn-cpp - url/third_party/mozilla - v8/src/third_party/siphash - v8/src/third_party/utf8-decoder - v8/src/third_party/valgrind - v8/third_party/glibc - v8/third_party/inspector_protocol - v8/third_party/v8 - - # gyp -> gn leftovers - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - - # USE=system-* - if ! use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng ) - fi - - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - - if ! use system-zstd; then - keeplibs+=( third_party/zstd ) - fi - - if ! use system-toolchain || [[ ${CHROMIUM_FORCE_GOOGLE_TOOLCHAIN} == yes ]]; then - keeplibs+=( third_party/llvm ) - fi - - # Arch-specific - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - # requires git and clang, bug #832803 - # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh - # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh - # since we're not in a git repo - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - - pushd third_party/ffmpeg >/dev/null || die - cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die - cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die - popd >/dev/null || die - fi - - # Sanity check keeplibs, on major version bumps it is often necessary to update this list - # and this enables us to hit them all at once. - # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) - whitelist_libs=( - net/third_party/quic - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/libjingle - third_party/mesa - third_party/skia/third_party/vulkan - third_party/vulkan - ) - local not_found_libs=() - for lib in "${keeplibs[@]}"; do - if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then - not_found_libs+=( "${lib}" ) - fi - done - - if [[ ${#not_found_libs[@]} -gt 0 ]]; then - eerror "The following \`keeplibs\` directories were not found in the source tree:" - for lib in "${not_found_libs[@]}"; do - eerror " ${lib}" - done - die "Please update the ebuild." - fi - - # Remove most bundled libraries. Some are still needed. - einfo "Unbundling third-party libraries ..." - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -chromium_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # We already forced the "correct" clang via pkg_setup - if use system-toolchain; then - if tc-is-cross-compiler; then - CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" - CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" - BUILD_AR=${AR} - BUILD_CC=${CC} - BUILD_CXX=${CXX} - BUILD_NM=${NM} - fi - - strip-unsupported-flags - - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - # https://bugs.gentoo.org/918897#c32 - append-ldflags -Wl,--undefined-version - myconf_gn+=" use_lld=true" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # bindgen settings - # From 127, to make bindgen work, we need to provide a location for libclang. - # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch - # 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)\"" - # 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}\"" - fi - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=false" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - libxml - libxslt - openh264 - zlib - ) - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if use system-zstd; then - gn_system_libraries+=( zstd ) - fi - - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Optional dependencies. - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - - if use headless; then - myconf_gn+=" use_cups=false" - myconf_gn+=" use_kerberos=false" - myconf_gn+=" use_pulseaudio=false" - myconf_gn+=" use_vaapi=false" - myconf_gn+=" rtc_use_pipewire=false" - else - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - myconf_gn+=" gtk_version=$(usex gtk4 4 3)" - fi - - # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of - # using dlopen. This helps with automated detection of ABI mismatches and - # prevents silent errors. - if use pulseaudio; then - myconf_gn+=" link_pulseaudio=true" - fi - - # Non-developer builds of Chromium (for example, non-Chrome browsers, or - # Chromium builds provided by Linux distros) should disable the testing config - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # The sysroot is the oldest debian image that chromium supports, we don't need it - myconf_gn+=" use_sysroot=false" - - # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) - # instead of the system C++ library for C++ standard library support. - # default: true, but let's be explicit (forced since 120 ; USE removed 127). - myconf_gn+=" use_custom_libcxx=true" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - if use bindist ; then - # proprietary_codecs just forces Chromium to say that it can use h264/aac, - # the work is still done by ffmpeg. If this is set to no Chromium - # won't be able to load the codec even if the library can handle it - myconf_gn+=" proprietary_codecs=true" - myconf_gn+=" ffmpeg_branding=\"Chrome\"" - # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute - myconf_gn+=" is_component_ffmpeg=true" - else - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - fi - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - filter-flags "-g*" - - # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. - if [[ ${myarch} == amd64 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - die "Failed to determine target arch, got '$myarch'." - fi - - myconf_gn+=" treat_warnings_as_errors=false" - # Disable fatal linker warnings, bug 506268. - myconf_gn+=" fatal_linker_warnings=false" - - # Disable external code space for V8 for ppc64. It is disabled for ppc64 - # by default, but cross-compiling on amd64 enables it again. - if tc-is-cross-compiler; then - if ! use amd64 && ! use arm64; then - myconf_gn+=" v8_enable_external_code_space=false" - fi - fi - - # Only enabled for clang, but gcc has endian macros too - myconf_gn+=" v8_use_libm_trig_functions=true" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - # We don't use the same clang version as upstream, and with -Werror - # we need to make sure that we don't get superfluous warnings. - append-flags -Wno-unknown-warning-option - if tc-is-cross-compiler; then - export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" - export BUILD_CFLAGS+=" -Wno-unknown-warning-option" - fi - - # Explicitly disable ICU data file support for system-icu/headless builds. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Don't need nocompile checks and GN crashes with our config - myconf_gn+=" enable_nocompile_tests=false" - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" - myconf_gn+=" use_glib=false use_gio=false" - myconf_gn+=" use_pangocairo=false use_alsa=false" - myconf_gn+=" use_libpci=false use_udev=false" - myconf_gn+=" enable_print_preview=false" - myconf_gn+=" enable_remoting=false" - else - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - if use qt5 || use qt6; then - local cbuild_libdir=$(get_libdir) - if tc-is-cross-compiler; then - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) - cbuild_libdir=${cbuild_libdir:2} - cbuild_libdir=${cbuild_libdir/% } - fi - if use qt5; then - if tc-is-cross-compiler; then - myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" - else - myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" - fi - fi - if use qt6; then - myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" - fi - - myconf_gn+=" use_qt=true" - myconf_gn+=" use_qt6=$(usex qt6 true false)" - else - myconf_gn+=" use_qt=false" - fi - myconf_gn+=" ozone_platform_x11=$(usex X true false)" - myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" - myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" - use wayland && myconf_gn+=" use_system_libffi=true" - fi - - myconf_gn+=" use_thin_lto=${use_lto}" - myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ - tools/generate_shim_headers/generate_shim_headers.py || die - # This may need to be filtered on non-amd64 arches - # Also these options are listed in upstream docs: use_cfi_icall=true use_cfi_cast=true (This may be for testing only?) - # https://www.chromium.org/developers/testing/control-flow-integrity/ - myconf_gn+=" is_cfi=${use_lto}" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - if use pgo; then - myconf_gn+=" chrome_pgo_phase=${1}" - if [[ "$1" == "2" ]]; then - myconf_gn+=" pgo_data_path=\"${2}\"" - fi - else - # Disable PGO - myconf_gn+=" chrome_pgo_phase=0" - fi - - # skipping typecheck is only supported on amd64, bug #876157 - if ! use amd64; then - myconf_gn+=" devtools_skip_typecheck=false" - fi - - einfo "Configuring Chromium ..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_configure() { - chromium_configure $(usex pgo 1 0) -} - -chromium_compile() { - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - # Build mksnapshot and pax-mark it. - if use pax-kernel; then - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - fi - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver chrome_sandbox - - pax-mark m out/Release/chrome - - if ! use system-toolchain; then - QA_FLAGS_IGNORED=" - usr/lib64/chromium-browser/chrome - usr/lib64/chromium-browser/chrome-sandbox - usr/lib64/chromium-browser/chromedriver - usr/lib64/chromium-browser/chrome_crashpad_handler - usr/lib64/chromium-browser/libEGL.so - usr/lib64/chromium-browser/libGLESv2.so - usr/lib64/chromium-browser/libVkICD_mock_icd.so - usr/lib64/chromium-browser/libVkLayer_khronos_validation.so - usr/lib64/chromium-browser/libqt5_shim.so - usr/lib64/chromium-browser/libvk_swiftshader.so - usr/lib64/chromium-browser/libvulkan.so.1 - " - fi -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use X && use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - - if use bindist; then - # We built libffmpeg as a component library, but we can't distribute it - # with proprietary codec support. Remove it and make a symlink to the requested - # system library. - rm -f out/Release/libffmpeg.so \ - || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" - # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. - einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." - dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ - /usr/$(get_libdir)/chromium-browser/libffmpeg.so - fi - - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" - doins out/Release/xdg-{settings,mime} - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if ! use headless; then - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behavior you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use qt5 && use qt6; then - elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" - elog "environment. To override you need to pass --qt-version=5 or" - elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" - elog "/etc/chromium/default." - fi - fi - - if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then - ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" - ewarn "indicates that the Gentoo handbook was not followed to completion." - ewarn "" - ewarn "Chromium is known to behave unpredictably with this system configuration;" - ewarn "please complete the configuration of this system before logging any bugs." - fi -} diff --git a/www-client/chromium/chromium-131.0.6778.24-r1.ebuild b/www-client/chromium/chromium-131.0.6778.24-r1.ebuild new file mode 100644 index 000000000000..981c37fea572 --- /dev/null +++ b/www-client/chromium/chromium-131.0.6778.24-r1.ebuild @@ -0,0 +1,1395 @@ +# Copyright 2009-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# PACKAGING NOTES + +# This uses a gentoo-created tarball due to Google CI Failures. +# Use 132 as a base for new official tarballs. + +GN_MIN_VER=0.2165 +# chromium-tools/get-chromium-toolchain-strings.py +TEST_FONT=f26f29c9d3bfae588207bbc9762de8d142e58935c62a86f67332819b15203b35 + +VIRTUALX_REQUIRED="pgo" + +CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he + 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" + +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-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/" +PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1" +PATCH_V="${PV%%\.*}-1" +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 + test? ( + https://chromium-tarballs.distfiles.gentoo.org/${P}-testdata.tar.xz + https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz + ) + ppc64? ( + https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz + https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz + ) + pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" + +LICENSE="BSD" +SLOT="0/beta" +# 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="~amd64 ~arm64" +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" +RESTRICT=" + !bindist? ( bindist ) + !test? ( test ) +" + +REQUIRED_USE=" + !headless? ( || ( X wayland ) ) + pgo? ( X !wayland ) + qt6? ( qt5 ) + screencast? ( wayland ) + ffmpeg-chromium? ( bindist proprietary-codecs ) +" + +COMMON_X_DEPEND=" + x11-libs/libXcomposite:= + x11-libs/libXcursor:= + x11-libs/libXdamage:= + x11-libs/libXfixes:= + >=x11-libs/libXi-1.6.0:= + x11-libs/libXrandr:= + x11-libs/libXrender:= + x11-libs/libXtst:= + x11-libs/libxshmfence:= +" + +COMMON_SNAPSHOT_DEPEND=" + system-icu? ( >=dev-libs/icu-73.0:= ) + >=dev-libs/libxml2-2.12.4:=[icu] + dev-libs/nspr:= + >=dev-libs/nss-3.26:= + dev-libs/libxslt:= + media-libs/fontconfig:= + >=media-libs/freetype-2.11.0-r1:= + system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) + media-libs/libjpeg-turbo:= + system-png? ( media-libs/libpng:=[-apng(-)] ) + system-zstd? ( >=app-arch/zstd-1.5.5:= ) + >=media-libs/libwebp-0.4.0:= + media-libs/mesa:=[gbm(+)] + >=media-libs/openh264-1.6.0:= + sys-libs/zlib:= + x11-libs/libdrm:= + !headless? ( + dev-libs/glib:2 + >=media-libs/alsa-lib-1.0.19:= + pulseaudio? ( media-libs/libpulse:= ) + sys-apps/pciutils:= + kerberos? ( virtual/krb5 ) + vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) + X? ( + x11-base/xorg-proto:= + x11-libs/libX11:= + x11-libs/libxcb:= + x11-libs/libXext:= + ) + x11-libs/libxkbcommon:= + wayland? ( + dev-libs/libffi:= + dev-libs/wayland:= + screencast? ( media-video/pipewire:= ) + ) + ) +" + +COMMON_DEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + app-arch/bzip2:= + dev-libs/expat:= + net-misc/curl[ssl] + sys-apps/dbus:= + media-libs/flac:= + sys-libs/zlib:=[minizip] + !headless? ( + X? ( ${COMMON_X_DEPEND} ) + >=app-accessibility/at-spi2-core-2.46.0:2 + media-libs/mesa:=[X?,wayland?] + cups? ( >=net-print/cups-1.3.11:= ) + virtual/udev + x11-libs/cairo:= + x11-libs/gdk-pixbuf:2 + x11-libs/pango:= + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtwidgets:5 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + ) +" +RDEPEND="${COMMON_DEPEND} + !headless? ( + || ( + x11-libs/gtk+:3[X?,wayland?] + gui-libs/gtk:4[X?,wayland?] + ) + qt5? ( dev-qt/qtgui:5[X?,wayland?] ) + qt6? ( dev-qt/qtbase:6[X?,wayland?] ) + ) + virtual/ttf-fonts + selinux? ( sec-policy/selinux-chromium ) + bindist? ( + !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) + ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) + ) +" +DEPEND="${COMMON_DEPEND} + !headless? ( + gtk4? ( gui-libs/gtk:4[X?,wayland?] ) + !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) + ) +" + +BDEPEND=" + ${COMMON_SNAPSHOT_DEPEND} + ${PYTHON_DEPS} + $(python_gen_any_dep ' + dev-python/setuptools[${PYTHON_USEDEP}] + ') + >=app-arch/gzip-1.7 + !headless? ( + qt5? ( dev-qt/qtcore:5 ) + qt6? ( dev-qt/qtbase:6 ) + ) + $(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 + ) + >=dev-util/bindgen-0.68.0 + >=dev-build/gn-${GN_MIN_VER} + dev-build/ninja + dev-lang/perl + >=dev-util/gperf-3.0.3 + dev-vcs/git + >=net-libs/nodejs-7.6.0[inspector] + >=sys-devel/bison-2.4.3 + sys-devel/flex + virtual/pkgconfig +" + +if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then + EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; +fi + +DISABLE_AUTOFORMATTING="yes" +DOC_CONTENTS=" +Some web pages may require additional fonts to display properly. +Try installing some of the following packages if some characters +are not displayed properly: +- media-fonts/arphicfonts +- media-fonts/droid +- media-fonts/ipamonafont +- media-fonts/noto +- media-fonts/ja-ipafonts +- media-fonts/takao-fonts +- media-fonts/wqy-microhei +- media-fonts/wqy-zenhei + +To fix broken icons on the Downloads page, you should install an icon +theme that covers the appropriate MIME types, and configure this as your +GTK+ icon theme. + +For native file dialogs in KDE, install kde-apps/kdialog. + +To make password storage work with your desktop environment you may +have install one of the supported credentials management applications: +- app-crypt/libsecret (GNOME) +- kde-frameworks/kwallet (KDE) +If you have one of above packages installed, but don't want to use +them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS +in /etc/chromium/default. +" + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +pre_build_checks() { + # Check build requirements: bugs #471810, #541816, #914220 + # We're going to start doing maths here on the size of an unpacked source tarball, + # this should make updates easier as chromium continues to balloon in size. + local BASE_DISK=24 + local EXTRA_DISK=1 + local CHECKREQS_MEMORY="4G" + tc-is-cross-compiler && EXTRA_DISK=2 + if tc-is-lto || use pgo; then + CHECKREQS_MEMORY="9G" + tc-is-cross-compiler && EXTRA_DISK=4 + use pgo && EXTRA_DISK=8 + fi + if is-flagq '-g?(gdb)?([1-9])'; then + if use custom-cflags; then + EXTRA_DISK=13 + fi + CHECKREQS_MEMORY="16G" + fi + CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" + check-reqs_${EBUILD_PHASE_FUNC} +} + +pkg_pretend() { + 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 + fi + + if use headless; then + local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") + for myiuse in ${headless_unused_flags[@]}; do + use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." + done + fi + + if ! use bindist && use ffmpeg-chromium; then + ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." + fi +} + +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" + # We can rely on GN to do this for us; anecdotally without this builds + # take significantly longer with LTO enabled and it doesn't hurt anything. + filter-lto + fi + + if [ "$use_lto" = "false" ] && use official; then + einfo "USE=official selected and LTO not detected." + einfo "It is _highly_ recommended that LTO be enabled for performance reasons" + einfo "and to be consistent with the upstream \"official\" build optimisations." + fi + + if [ "$use_lto" = "false" ] && use test; then + die "Tests require CFI which requires LTO" + fi + + export use_lto + + # 936858 + if tc-ld-is-mold; then + eerror "Your toolchain is using the mold linker." + eerror "This is not supported by Chromium." + die "Please switch to a different linker." + fi + + # Forcing clang; user choice respected by llvm_slot_x USE + AR=llvm-ar + CPP="${CHOST}-clang++ -E" + NM=llvm-nm + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + + if tc-is-cross-compiler; then + use pgo && die "The pgo USE flag cannot be used when cross-compiling" + CPP="${CBUILD}-clang++ -E" + 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 + + # 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" + fi + fi + + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + unpack ${P}.tar.xz + unpack chromium-patches-${PATCH_V}.tar.bz2 + + use pgo && unpack chromium-profiler-0.2.tar + + if use test; then + # 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.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}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz" + tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts" + fi + + if use ppc64; then + unpack chromium_${PATCHSET_PPC64}.debian.tar.xz + unpack chromium-ppc64le-gentoo-patches-1.tar.xz + fi +} + +src_prepare() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # disable global media controls, crashes with libstdc++ + sed -i -e \ + "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ + "chrome/browser/media/router/media_router_feature.cc" + + local PATCHES=( + "${FILESDIR}/chromium-cross-compile.patch" + "${FILESDIR}/chromium-109-system-zlib.patch" + "${FILESDIR}/chromium-111-InkDropHost-crash.patch" + "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" + "${FILESDIR}/chromium-131-unbundle-icu-target.patch" + "${FILESDIR}/chromium-131-oauth2-client-switches.patch" + "${FILESDIR}/chromium-131-const-atomicstring-conversion.patch" + ) + + PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" ) + # We can't use the bundled compiler builtins with the system toolchain + # `grep` is a development convenience to ensure we fail early when google changes something. + local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" + grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" + sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn + + if use ppc64 ; then + local p + for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do + if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then + eapply "${WORKDIR}/debian/patches/${p}" + fi + done + PATCHES+=( "${WORKDIR}/ppc64le" ) + PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" ) + fi + + default + + rm third_party/node/linux/node-linux-x64/bin/node || die + ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die + + # adjust python interpreter version + sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die + + # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party' + # whitelist matches use the right-most matching path component, so we need to whitelist from that point down. + local keeplibs=( + base/third_party/cityhash + base/third_party/double_conversion + base/third_party/icu + base/third_party/nspr + base/third_party/superfasthash + base/third_party/symbolize + base/third_party/xdg_user_dirs + buildtools/third_party/libc++ + buildtools/third_party/libc++abi + chrome/third_party/mozilla_security_manager + net/third_party/mozilla_security_manager + net/third_party/nss + net/third_party/quic + net/third_party/uri_template + third_party/abseil-cpp + third_party/angle + third_party/angle/src/common/third_party/xxhash + third_party/angle/src/third_party/ceval + third_party/angle/src/third_party/libXNVCtrl + third_party/angle/src/third_party/volk + third_party/anonymous_tokens + third_party/apple_apsl + third_party/axe-core + third_party/bidimapper + third_party/blink + third_party/boringssl + third_party/boringssl/src/third_party/fiat + third_party/breakpad + third_party/breakpad/breakpad/src/third_party/curl + third_party/brotli + third_party/catapult + third_party/catapult/common/py_vulcanize/third_party/rcssmin + third_party/catapult/common/py_vulcanize/third_party/rjsmin + third_party/catapult/third_party/beautifulsoup4-4.9.3 + third_party/catapult/third_party/html5lib-1.1 + third_party/catapult/third_party/polymer + third_party/catapult/third_party/six + third_party/catapult/tracing/third_party/d3 + third_party/catapult/tracing/third_party/gl-matrix + third_party/catapult/tracing/third_party/jpeg-js + third_party/catapult/tracing/third_party/jszip + third_party/catapult/tracing/third_party/mannwhitneyu + third_party/catapult/tracing/third_party/oboe + third_party/catapult/tracing/third_party/pako + third_party/ced + third_party/cld_3 + third_party/closure_compiler + third_party/content_analysis_sdk + third_party/cpuinfo + third_party/crabbyavif + third_party/crashpad + third_party/crashpad/crashpad/third_party/lss + third_party/crashpad/crashpad/third_party/zlib + third_party/crc32c + third_party/cros_system_api + third_party/d3 + third_party/dav1d + third_party/dawn + third_party/dawn/third_party/gn/webgpu-cts + third_party/dawn/third_party/khronos + third_party/depot_tools + third_party/devscripts + third_party/devtools-frontend + third_party/devtools-frontend/src/front_end/third_party/acorn + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/devtools-frontend/src/front_end/third_party/axe-core + third_party/devtools-frontend/src/front_end/third_party/chromium + third_party/devtools-frontend/src/front_end/third_party/codemirror + third_party/devtools-frontend/src/front_end/third_party/csp_evaluator + third_party/devtools-frontend/src/front_end/third_party/diff + third_party/devtools-frontend/src/front_end/third_party/i18n + third_party/devtools-frontend/src/front_end/third_party/intl-messageformat + third_party/devtools-frontend/src/front_end/third_party/json5 + third_party/devtools-frontend/src/front_end/third_party/lighthouse + third_party/devtools-frontend/src/front_end/third_party/lit + third_party/devtools-frontend/src/front_end/third_party/marked + third_party/devtools-frontend/src/front_end/third_party/puppeteer + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js + third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs + third_party/devtools-frontend/src/front_end/third_party/third-party-web + third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data + third_party/devtools-frontend/src/front_end/third_party/wasmparser + third_party/devtools-frontend/src/front_end/third_party/web-vitals + third_party/devtools-frontend/src/third_party + third_party/distributed_point_functions + third_party/dom_distiller_js + third_party/eigen3 + third_party/emoji-segmenter + third_party/farmhash + third_party/fast_float + third_party/fdlibm + third_party/ffmpeg + third_party/fft2d + third_party/flatbuffers + third_party/fp16 + third_party/freetype + third_party/fusejs + third_party/fxdiv + third_party/gemmlowp + third_party/google_input_tools + third_party/google_input_tools/third_party/closure_library + third_party/google_input_tools/third_party/closure_library/third_party/closure + third_party/googletest + third_party/highway + third_party/hunspell + third_party/iccjpeg + third_party/ink_stroke_modeler/src/ink_stroke_modeler + third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal + third_party/ink/src/ink/brush + third_party/ink/src/ink/color + third_party/ink/src/ink/geometry + third_party/ink/src/ink/rendering + third_party/ink/src/ink/rendering/skia/common_internal + third_party/ink/src/ink/rendering/skia/native + third_party/ink/src/ink/rendering/skia/native/internal + third_party/ink/src/ink/strokes + third_party/ink/src/ink/types + third_party/inspector_protocol + third_party/ipcz + third_party/jinja2 + third_party/jsoncpp + third_party/jstemplate + third_party/khronos + third_party/lens_server_proto + third_party/leveldatabase + third_party/libaddressinput + third_party/libaom + third_party/libaom/source/libaom/third_party/fastfeat + third_party/libaom/source/libaom/third_party/SVT-AV1 + third_party/libaom/source/libaom/third_party/vector + third_party/libaom/source/libaom/third_party/x86inc + third_party/libavif + third_party/libc++ + third_party/libevent + third_party/libgav1 + third_party/libjingle + third_party/libphonenumber + third_party/libsecret + third_party/libsrtp + third_party/libsync + third_party/liburlpattern + third_party/libva_protected_content + third_party/libvpx + third_party/libvpx/source/libvpx/third_party/x86inc + third_party/libwebm + third_party/libx11 + third_party/libxcb-keysyms + third_party/libxml/chromium + third_party/libyuv + third_party/libzip + third_party/lit + third_party/lottie + third_party/lss + third_party/lzma_sdk + third_party/mako + third_party/markupsafe + third_party/material_color_utilities + third_party/mesa + third_party/metrics_proto + third_party/minigbm + third_party/modp_b64 + third_party/nasm + third_party/nearby + third_party/neon_2_sse + third_party/node + third_party/omnibox_proto + third_party/one_euro_filter + third_party/openscreen + third_party/openscreen/src/third_party/ + third_party/openscreen/src/third_party/tinycbor/src/src + third_party/opus + third_party/ots + third_party/pdfium + third_party/pdfium/third_party/agg23 + third_party/pdfium/third_party/bigint + third_party/pdfium/third_party/freetype + third_party/pdfium/third_party/lcms + third_party/pdfium/third_party/libopenjpeg + third_party/pdfium/third_party/libtiff + third_party/perfetto + third_party/perfetto/protos/third_party/chromium + third_party/perfetto/protos/third_party/simpleperf + third_party/pffft + third_party/ply + third_party/polymer + third_party/private_membership + third_party/private-join-and-compute + third_party/protobuf + third_party/pthreadpool + third_party/puffin + third_party/pyjson5 + third_party/pyyaml + third_party/qcms + third_party/rapidhash + third_party/re2 + third_party/rnnoise + third_party/rust + third_party/ruy + third_party/s2cellid + third_party/securemessage + third_party/selenium-atoms + third_party/sentencepiece + third_party/sentencepiece/src/third_party/darts_clone + third_party/shell-encryption + third_party/simplejson + third_party/six + third_party/skia + third_party/skia/include/third_party/vulkan + third_party/skia/third_party/vulkan + third_party/smhasher + third_party/snappy + third_party/spirv-headers + third_party/spirv-tools + third_party/sqlite + third_party/swiftshader + third_party/swiftshader/third_party/astc-encoder + third_party/swiftshader/third_party/llvm-subzero + third_party/swiftshader/third_party/marl + third_party/swiftshader/third_party/SPIRV-Headers/include/spirv + third_party/swiftshader/third_party/SPIRV-Tools + third_party/swiftshader/third_party/subzero + third_party/tensorflow_models + third_party/tensorflow-text + third_party/tflite + third_party/tflite/src/third_party/eigen3 + third_party/tflite/src/third_party/fft2d + third_party/tflite/src/third_party/xla/third_party/tsl + third_party/tflite/src/third_party/xla/xla/tsl/framework + third_party/tflite/src/third_party/xla/xla/tsl/lib/random + third_party/tflite/src/third_party/xla/xla/tsl/protobuf + third_party/tflite/src/third_party/xla/xla/tsl/util + third_party/ukey2 + third_party/unrar + third_party/utf + third_party/vulkan + third_party/wayland + third_party/webdriver + third_party/webgpu-cts + third_party/webrtc + third_party/webrtc/common_audio/third_party/ooura + third_party/webrtc/common_audio/third_party/spl_sqrt_floor + third_party/webrtc/modules/third_party/fft + third_party/webrtc/modules/third_party/g711 + third_party/webrtc/modules/third_party/g722 + third_party/webrtc/rtc_base/third_party/base64 + third_party/webrtc/rtc_base/third_party/sigslot + third_party/widevine + third_party/woff2 + third_party/wuffs + third_party/x11proto + third_party/xcbproto + third_party/xnnpack + third_party/zlib/google + third_party/zxcvbn-cpp + url/third_party/mozilla + v8/src/third_party/siphash + v8/src/third_party/utf8-decoder + v8/src/third_party/valgrind + v8/third_party/glibc + v8/third_party/inspector_protocol + v8/third_party/v8 + + # gyp -> gn leftovers + third_party/speech-dispatcher + third_party/usb_ids + third_party/xdg-utils + ) + + if use test; then + # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}' + keeplibs+=( + third_party/google_benchmark/src/include/benchmark + third_party/google_benchmark/src/src + third_party/perfetto/protos/third_party/pprof + third_party/test_fonts + third_party/test_fonts/fontconfig + ) + fi + + # USE=system-* + if ! use system-harfbuzz; then + keeplibs+=( third_party/harfbuzz-ng ) + fi + + if ! use system-icu; then + keeplibs+=( third_party/icu ) + fi + + if ! use system-png; then + keeplibs+=( third_party/libpng ) + fi + + if ! use system-zstd; then + keeplibs+=( third_party/zstd ) + fi + + # Arch-specific + if use arm64 || use ppc64 ; then + keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) + fi + # we need to generate ppc64 stuff because upstream does not ship it yet + # it has to be done before unbundling. + if use ppc64; then + pushd third_party/libvpx >/dev/null || die + mkdir -p source/config/linux/ppc64 || die + # requires git and clang, bug #832803 + # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh + # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh + # since we're not in a git repo + sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ + generate_gni.sh || die + ./generate_gni.sh || die + popd >/dev/null || die + + pushd third_party/ffmpeg >/dev/null || die + cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die + cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die + popd >/dev/null || die + fi + + # Sanity check keeplibs, on major version bumps it is often necessary to update this list + # and this enables us to hit them all at once. + # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) + whitelist_libs=( + net/third_party/quic + third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json + third_party/libjingle + third_party/mesa + third_party/skia/third_party/vulkan + third_party/vulkan + ) + local not_found_libs=() + for lib in "${keeplibs[@]}"; do + if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then + not_found_libs+=( "${lib}" ) + fi + done + + if [[ ${#not_found_libs[@]} -gt 0 ]]; then + eerror "The following \`keeplibs\` directories were not found in the source tree:" + for lib in "${not_found_libs[@]}"; do + eerror " ${lib}" + done + die "Please update the ebuild." + fi + + # Remove most bundled libraries. Some are still needed. + einfo "Unbundling third-party libraries ..." + build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die + + # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed. + + # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries + mkdir -p buildtools/third_party/eu-strip/bin || die + ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die +} + +chromium_configure() { + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + local myconf_gn="" + + # We already forced the "correct" clang via pkg_setup + + if tc-is-cross-compiler; then + CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" + CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" + BUILD_AR=${AR} + BUILD_CC=${CC} + BUILD_CXX=${CXX} + BUILD_NM=${NM} + fi + + strip-unsupported-flags + + myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" + # https://bugs.gentoo.org/918897#c32 + append-ldflags -Wl,--undefined-version + myconf_gn+=" use_lld=true" + + # Make sure the build system will use the right tools, bug #340795. + tc-export AR CC CXX NM + + myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" + + if tc-is-cross-compiler; then + tc-export BUILD_{AR,CC,CXX,NM} + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" + myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" + myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" + + # setup cups-config, build system only uses --libs option + if use cups; then + mkdir "${T}/cups-config" || die + cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die + export PATH="${PATH}:${T}/cups-config" + fi + + # Don't inherit PKG_CONFIG_PATH from environment + local -x PKG_CONFIG_PATH= + else + myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" + fi + + # bindgen settings + # From 127, to make bindgen work, we need to provide a location for libclang. + # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch + # rust_bindgen_root = directory with `bin/bindgen` beneath it. + myconf_gn+=" rust_bindgen_root=\"${EPREFIX}/usr/\"" + + 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}/\"" + + 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" + + # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. + # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. + myconf_gn+=" dcheck_always_on=$(usex debug true false)" + myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" + + # Component build isn't generally intended for use by end users. It's mostly useful + # for development and debugging. + myconf_gn+=" is_component_build=false" + + # Disable nacl, we can't build without pnacl (http://crbug.com/269560). + myconf_gn+=" enable_nacl=false" + + # Use system-provided libraries. + # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). + # TODO: use_system_hunspell (upstream changes needed). + # TODO: use_system_protobuf (bug #525560). + # TODO: use_system_sqlite (http://crbug.com/22208). + + # libevent: https://bugs.gentoo.org/593458 + local gn_system_libraries=( + flac + fontconfig + freetype + # Need harfbuzz_from_pkgconfig target + #harfbuzz-ng + libdrm + libjpeg + libwebp + libxml + libxslt + openh264 + zlib + ) + if use system-icu; then + gn_system_libraries+=( icu ) + fi + if use system-png; then + gn_system_libraries+=( libpng ) + fi + if use system-zstd; then + gn_system_libraries+=( zstd ) + fi + + build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die + + # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file + # drop the last line, then append the freetype line and a new curly brace to end the block + local freetype_gni="build/config/freetype/freetype.gni" + sed -i -e '$d' ${freetype_gni} || die + echo " enable_freetype = true" >> ${freetype_gni} || die + echo "}" >> ${freetype_gni} || die + + # See dependency logic in third_party/BUILD.gn + myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" + + # Optional dependencies. + myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" + myconf_gn+=" enable_widevine=$(usex widevine true false)" + + if use headless; then + myconf_gn+=" use_cups=false" + myconf_gn+=" use_kerberos=false" + myconf_gn+=" use_pulseaudio=false" + myconf_gn+=" use_vaapi=false" + myconf_gn+=" rtc_use_pipewire=false" + else + myconf_gn+=" use_cups=$(usex cups true false)" + myconf_gn+=" use_kerberos=$(usex kerberos true false)" + myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" + myconf_gn+=" use_vaapi=$(usex vaapi true false)" + myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" + myconf_gn+=" gtk_version=$(usex gtk4 4 3)" + fi + + # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of + # using dlopen. This helps with automated detection of ABI mismatches and + # prevents silent errors. + if use pulseaudio; then + myconf_gn+=" link_pulseaudio=true" + fi + + # Non-developer builds of Chromium (for example, non-Chrome browsers, or + # Chromium builds provided by Linux distros) should disable the testing config + myconf_gn+=" disable_fieldtrial_testing_config=true" + + # The sysroot is the oldest debian image that chromium supports, we don't need it + myconf_gn+=" use_sysroot=false" + + # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) + # instead of the system C++ library for C++ standard library support. + # default: true, but let's be explicit (forced since 120 ; USE removed 127). + myconf_gn+=" use_custom_libcxx=true" + + # Disable pseudolocales, only used for testing + myconf_gn+=" enable_pseudolocales=false" + + # Disable code formating of generated files + myconf_gn+=" blink_enable_generated_code_formatting=false" + + if use bindist ; then + # proprietary_codecs just forces Chromium to say that it can use h264/aac, + # the work is still done by ffmpeg. If this is set to no Chromium + # won't be able to load the codec even if the library can handle it + myconf_gn+=" proprietary_codecs=true" + myconf_gn+=" ffmpeg_branding=\"Chrome\"" + # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute + myconf_gn+=" is_component_ffmpeg=true" + else + ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" + myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" + myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" + fi + + # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . + # Note: these are for Gentoo use ONLY. For your own distribution, + # please get your own set of keys. Feel free to contact chromium@gentoo.org + # for more info. The OAuth2 credentials, however, have been left out. + # Those OAuth2 credentials have been broken for quite some time anyway. + # Instead we apply a patch to use the --oauth2-client-id= and + # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and + # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into + # Chromium without baked-in values. + local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" + myconf_gn+=" google_api_key=\"${google_api_key}\"" + local myarch="$(tc-arch)" + + # Avoid CFLAGS problems, bug #352457, bug #390147. + if ! use custom-cflags; then + replace-flags "-Os" "-O2" + strip-flags + + # Debug info section overflows without component build + # Prevent linker from running out of address space, bug #471810 . + filter-flags "-g*" + + # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. + if [[ ${myarch} == amd64 ]]; then + filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a + fi + fi + + if [[ $myarch = amd64 ]] ; then + myconf_gn+=" target_cpu=\"x64\"" + ffmpeg_target_arch=x64 + elif [[ $myarch = arm64 ]] ; then + myconf_gn+=" target_cpu=\"arm64\"" + ffmpeg_target_arch=arm64 + elif [[ $myarch = ppc64 ]] ; then + myconf_gn+=" target_cpu=\"ppc64\"" + ffmpeg_target_arch=ppc64 + else + die "Failed to determine target arch, got '$myarch'." + fi + + myconf_gn+=" treat_warnings_as_errors=false" + # Disable fatal linker warnings, bug 506268. + myconf_gn+=" fatal_linker_warnings=false" + + # Disable external code space for V8 for ppc64. It is disabled for ppc64 + # by default, but cross-compiling on amd64 enables it again. + if tc-is-cross-compiler; then + if ! use amd64 && ! use arm64; then + myconf_gn+=" v8_enable_external_code_space=false" + fi + fi + + # Only enabled for clang, but gcc has endian macros too + myconf_gn+=" v8_use_libm_trig_functions=true" + + # Bug 491582. + export TMPDIR="${WORKDIR}/temp" + mkdir -p -m 755 "${TMPDIR}" || die + + # https://bugs.gentoo.org/654216 + addpredict /dev/dri/ #nowarn + + # We don't use the same clang version as upstream, and with -Werror + # we need to make sure that we don't get superfluous warnings. + append-flags -Wno-unknown-warning-option + if tc-is-cross-compiler; then + export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" + export BUILD_CFLAGS+=" -Wno-unknown-warning-option" + fi + + # Explicitly disable ICU data file support for system-icu/headless builds. + if use system-icu || use headless; then + myconf_gn+=" icu_use_data_file=false" + fi + + # Don't need nocompile checks and GN crashes with our config + myconf_gn+=" enable_nocompile_tests=false" + + # 131 began laying the groundwork for replacing freetype with + # "Rust-based Fontations set of libraries plus Skia path rendering" + # We now need to opt-in + myconf_gn+=" enable_freetype=true" + + # Enable ozone wayland and/or headless support + myconf_gn+=" use_ozone=true ozone_auto_platforms=false" + myconf_gn+=" ozone_platform_headless=true" + if use headless; then + myconf_gn+=" ozone_platform=\"headless\"" + myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" + myconf_gn+=" use_glib=false use_gio=false" + myconf_gn+=" use_pangocairo=false use_alsa=false" + myconf_gn+=" use_libpci=false use_udev=false" + myconf_gn+=" enable_print_preview=false" + myconf_gn+=" enable_remoting=false" + else + myconf_gn+=" use_system_libdrm=true" + myconf_gn+=" use_system_minigbm=true" + myconf_gn+=" use_xkbcommon=true" + if use qt5 || use qt6; then + local cbuild_libdir=$(get_libdir) + if tc-is-cross-compiler; then + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) + cbuild_libdir=${cbuild_libdir:2} + cbuild_libdir=${cbuild_libdir/% } + fi + if use qt5; then + if tc-is-cross-compiler; then + myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" + else + myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" + fi + fi + if use qt6; then + myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" + fi + + myconf_gn+=" use_qt=true" + myconf_gn+=" use_qt6=$(usex qt6 true false)" + else + myconf_gn+=" use_qt=false" + fi + myconf_gn+=" ozone_platform_x11=$(usex X true false)" + myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" + myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" + use wayland && myconf_gn+=" use_system_libffi=true" + fi + + myconf_gn+=" use_thin_lto=${use_lto}" + myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" + + # Enable official builds + myconf_gn+=" is_official_build=$(usex official true false)" + if use official; then + # Allow building against system libraries in official builds + sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ + tools/generate_shim_headers/generate_shim_headers.py || die + myconf_gn+=" is_cfi=${use_lto}" + # Don't add symbols to build + myconf_gn+=" symbol_level=0" + fi + + if use pgo; then + myconf_gn+=" chrome_pgo_phase=${1}" + if [[ "$1" == "2" ]]; then + myconf_gn+=" pgo_data_path=\"${2}\"" + fi + else + # Disable PGO + myconf_gn+=" chrome_pgo_phase=0" + fi + + # skipping typecheck is only supported on amd64, bug #876157 + if ! use amd64; then + myconf_gn+=" devtools_skip_typecheck=false" + fi + + einfo "Configuring Chromium ..." + set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release + echo "$@" + "$@" || die +} + +src_configure() { + chromium_configure $(usex pgo 1 0) +} + +chromium_compile() { + + # Final link uses lots of file descriptors. + ulimit -n 2048 + + # Calling this here supports resumption via FEATURES=keepwork + python_setup + + # Don't inherit PYTHONPATH from environment, bug #789021, #812689 + local -x PYTHONPATH= + + # Build mksnapshot and pax-mark it. + if use pax-kernel; then + local x + for x in mksnapshot v8_context_snapshot_generator; do + if tc-is-cross-compiler; then + eninja -C out/Release "host/${x}" + pax-mark m "out/Release/host/${x}" + else + eninja -C out/Release "${x}" + pax-mark m "out/Release/${x}" + fi + done + fi + + # Even though ninja autodetects number of CPUs, we respect + # user's options, for debugging with -j 1 or any other reason. + eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests") + + pax-mark m out/Release/chrome + +} + +# This function is called from virtx, and must always return so that Xvfb +# session isn't left running. If we return 1, virtx will call die(). +chromium_profile() { + einfo "Profiling for PGO" + + pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 + + # Remove old profdata in case profiling was interrupted. + rm -rf "${1}" || return 1 + + if ! "${EPYTHON}" ./chromium_profiler.py \ + --chrome-executable "${S}/out/Release/chrome" \ + --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ + --add-arg no-sandbox --add-arg disable-dev-shm-usage \ + --profile-output "${1}"; then + eerror "Profiling failed" + return 1 + fi + + popd >/dev/null || return 1 +} + +src_compile() { + if use pgo; then + local profdata + + profdata="${WORKDIR}/chromium.profdata" + + if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then + chromium_compile + virtx chromium_profile "$profdata" + + touch "${WORKDIR}/.pgo-profiled" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then + # Remove phase 1 output + rm -r out/Release || die + + chromium_configure 2 "$profdata" + + touch "${WORKDIR}/.pgo-phase-2-configured" || die + fi + + if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then + chromium_compile + touch "${WORKDIR}/.pgo-phase-2-compiled" || die + fi + else + chromium_compile + fi + + mv out/Release/chromedriver{.unstripped,} || die + + rm -f out/Release/locales/*.pak.info || die + + # Build manpage; bug #684550 + sed -e 's|@@PACKAGE@@|chromium-browser|g; + s|@@MENUNAME@@|Chromium|g;' \ + chrome/app/resources/manpage.1.in > \ + out/Release/chromium-browser.1 || die + + # Build desktop file; bug #706786 + sed -e 's|@@MENUNAME@@|Chromium|g; + s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; + s|@@PACKAGE@@|chromium-browser|g; + s|\(^Exec=\)/usr/bin/|\1|g;' \ + chrome/installer/linux/common/desktop.template > \ + out/Release/chromium-browser-chromium.desktop || die + + # Build vk_swiftshader_icd.json; bug #827861 + sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ + third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ + out/Release/vk_swiftshader_icd.json || die +} + +src_test() { + # Initial list of tests to skip pulled from Alpine. Thanks Lauren! + # https://issues.chromium.org/issues/40939315 + local skip_tests=( + 'MessagePumpLibeventTest.NestedNotification*' + ClampTest.Death + OptionalTest.DereferencingNoValueCrashes + PlatformThreadTest.SetCurrentThreadTypeTest + RawPtrTest.TrivialRelocability + SafeNumerics.IntMaxOperations + StackTraceTest.TraceStackFramePointersFromBuffer + StringPieceTest.InvalidLengthDeath + StringPieceTest.OutOfBoundsDeath + ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker + ValuesUtilTest.FilePath + ) + 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 \ + --test-launcher-jobs="$(makeopts_jobs)" \ + --gtest_filter="${test_filter}" || die "Tests failed!" +} + +src_install() { + local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" + exeinto "${CHROMIUM_HOME}" + doexe out/Release/chrome + + newexe out/Release/chrome_sandbox chrome-sandbox + fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" + + doexe out/Release/chromedriver + doexe out/Release/chrome_crashpad_handler + + ozone_auto_session () { + use X && use wayland && ! use headless && echo true || echo false + } + local sedargs=( -e + "s:/usr/lib/:/usr/$(get_libdir)/:g; + s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" + ) + sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die + doexe chromium-launcher.sh + + # It is important that we name the target "chromium-browser", + # xdg-utils expect it; bug #355517. + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser + # keep the old symlink around for consistency + dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium + + dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver + + # Allow users to override command-line options, bug #357629. + insinto /etc/chromium + newins "${FILESDIR}/chromium.default" "default" + + pushd out/Release/locales > /dev/null || die + chromium_remove_language_paks + popd + + insinto "${CHROMIUM_HOME}" + doins out/Release/*.bin + doins out/Release/*.pak + + if use bindist; then + # We built libffmpeg as a component library, but we can't distribute it + # with proprietary codec support. Remove it and make a symlink to the requested + # system library. + rm -f out/Release/libffmpeg.so \ + || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" + # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. + einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." + dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ + /usr/$(get_libdir)/chromium-browser/libffmpeg.so + fi + + ( + shopt -s nullglob + local files=(out/Release/*.so out/Release/*.so.[0-9]) + [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" + ) + + # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" + doins out/Release/xdg-{settings,mime} + + if ! use system-icu && ! use headless; then + doins out/Release/icudtl.dat + fi + + doins -r out/Release/locales + doins -r out/Release/MEIPreload + + # Install vk_swiftshader_icd.json; bug #827861 + doins out/Release/vk_swiftshader_icd.json + + if [[ -d out/Release/swiftshader ]]; then + insinto "${CHROMIUM_HOME}/swiftshader" + doins out/Release/swiftshader/*.so + fi + + # Install icons + local branding size + for size in 16 24 32 48 64 128 256 ; do + case ${size} in + 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; + *) branding="chrome/app/theme/chromium" ;; + esac + newicon -s ${size} "${branding}/product_logo_${size}.png" \ + chromium-browser.png + done + + # Install desktop entry + domenu out/Release/chromium-browser-chromium.desktop + + # Install GNOME default application entry (bug #303100). + insinto /usr/share/gnome-control-center/default-apps + newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml + + # Install manpage; bug #684550 + doman out/Release/chromium-browser.1 + dosym chromium-browser.1 /usr/share/man/man1/chromium.1 + + readme.gentoo_create_doc +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + readme.gentoo_print_elog + + if ! use headless; then + if use vaapi; then + elog "VA-API is disabled by default at runtime. You have to enable it" + elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" + elog "in /etc/chromium/default." + fi + if use screencast; then + elog "Screencast is disabled by default at runtime. Either enable it" + elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" + elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use gtk4; then + elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" + elog "behavior you need to pass --gtk-version=4, e.g. by adding it" + elog "to CHROMIUM_FLAGS in /etc/chromium/default." + fi + if use qt5 && use qt6; then + elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" + elog "environment. To override you need to pass --qt-version=5 or" + elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" + elog "/etc/chromium/default." + fi + fi + + if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then + ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" + ewarn "indicates that the Gentoo handbook was not followed to completion." + ewarn "" + ewarn "Chromium is known to behave unpredictably with this system configuration;" + ewarn "please complete the configuration of this system before logging any bugs." + fi +} diff --git a/www-client/chromium/chromium-131.0.6778.24.ebuild b/www-client/chromium/chromium-131.0.6778.24.ebuild deleted file mode 100644 index 3a1fa9fc3807..000000000000 --- a/www-client/chromium/chromium-131.0.6778.24.ebuild +++ /dev/null @@ -1,1506 +0,0 @@ -# Copyright 2009-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -# PACKAGING NOTES - -# This uses a gentoo-created tarball due to Google CI Failures. -# 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" - -CHROMIUM_LANGS="af am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he - 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(+)" - -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 - -DESCRIPTION="Open-source version of Google Chrome web browser" -HOMEPAGE="https://www.chromium.org/" -PATCHSET_PPC64="128.0.6613.84-1raptor0~deb12u1" -PATCH_V="${PV%%\.*}-1" -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 - test? ( - https://chromium-tarballs.distfiles.gentoo.org/${P}-testdata.tar.xz - https://chromium-fonts.storage.googleapis.com/${TEST_FONT} -> chromium-testfonts-${TEST_FONT:0:10}.tar.gz - ) - ppc64? ( - https://quickbuild.io/~raptor-engineering-public/+archive/ubuntu/chromium/+files/chromium_${PATCHSET_PPC64}.debian.tar.xz - https://deps.gentoo.zip/chromium-ppc64le-gentoo-patches-1.tar.xz - ) - pgo? ( https://github.com/elkablo/chromium-profiler/releases/download/v0.2/chromium-profiler-0.2.tar )" - -LICENSE="BSD" -SLOT="0/beta" -# 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="~amd64 ~arm64" -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" -RESTRICT=" - !bindist? ( bindist ) - !test? ( test ) -" - -REQUIRED_USE=" - !headless? ( || ( X wayland ) ) - pgo? ( X !wayland ) - qt6? ( qt5 ) - screencast? ( wayland ) - ffmpeg-chromium? ( bindist proprietary-codecs ) -" - -COMMON_X_DEPEND=" - x11-libs/libXcomposite:= - x11-libs/libXcursor:= - x11-libs/libXdamage:= - x11-libs/libXfixes:= - >=x11-libs/libXi-1.6.0:= - x11-libs/libXrandr:= - x11-libs/libXrender:= - x11-libs/libXtst:= - x11-libs/libxshmfence:= -" - -COMMON_SNAPSHOT_DEPEND=" - system-icu? ( >=dev-libs/icu-73.0:= ) - >=dev-libs/libxml2-2.12.4:=[icu] - dev-libs/nspr:= - >=dev-libs/nss-3.26:= - dev-libs/libxslt:= - media-libs/fontconfig:= - >=media-libs/freetype-2.11.0-r1:= - system-harfbuzz? ( >=media-libs/harfbuzz-3:0=[icu(-)] ) - media-libs/libjpeg-turbo:= - system-png? ( media-libs/libpng:=[-apng(-)] ) - system-zstd? ( >=app-arch/zstd-1.5.5:= ) - >=media-libs/libwebp-0.4.0:= - media-libs/mesa:=[gbm(+)] - >=media-libs/openh264-1.6.0:= - sys-libs/zlib:= - x11-libs/libdrm:= - !headless? ( - dev-libs/glib:2 - >=media-libs/alsa-lib-1.0.19:= - pulseaudio? ( media-libs/libpulse:= ) - sys-apps/pciutils:= - kerberos? ( virtual/krb5 ) - vaapi? ( >=media-libs/libva-2.7:=[X?,wayland?] ) - X? ( - x11-base/xorg-proto:= - x11-libs/libX11:= - x11-libs/libxcb:= - x11-libs/libXext:= - ) - x11-libs/libxkbcommon:= - wayland? ( - dev-libs/libffi:= - dev-libs/wayland:= - screencast? ( media-video/pipewire:= ) - ) - ) -" - -COMMON_DEPEND=" - ${COMMON_SNAPSHOT_DEPEND} - app-arch/bzip2:= - dev-libs/expat:= - net-misc/curl[ssl] - sys-apps/dbus:= - media-libs/flac:= - sys-libs/zlib:=[minizip] - !headless? ( - X? ( ${COMMON_X_DEPEND} ) - >=app-accessibility/at-spi2-core-2.46.0:2 - media-libs/mesa:=[X?,wayland?] - cups? ( >=net-print/cups-1.3.11:= ) - virtual/udev - x11-libs/cairo:= - x11-libs/gdk-pixbuf:2 - x11-libs/pango:= - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtwidgets:5 - ) - qt6? ( dev-qt/qtbase:6[gui,widgets] ) - ) -" -RDEPEND="${COMMON_DEPEND} - !headless? ( - || ( - x11-libs/gtk+:3[X?,wayland?] - gui-libs/gtk:4[X?,wayland?] - ) - qt5? ( dev-qt/qtgui:5[X?,wayland?] ) - qt6? ( dev-qt/qtbase:6[X?,wayland?] ) - ) - virtual/ttf-fonts - selinux? ( sec-policy/selinux-chromium ) - bindist? ( - !ffmpeg-chromium? ( >=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] ) - ffmpeg-chromium? ( media-video/ffmpeg-chromium:${PV%%\.*} ) - ) -" -DEPEND="${COMMON_DEPEND} - !headless? ( - gtk4? ( gui-libs/gtk:4[X?,wayland?] ) - !gtk4? ( x11-libs/gtk+:3[X?,wayland?] ) - ) -" - -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} - $(python_gen_any_dep ' - dev-python/setuptools[${PYTHON_USEDEP}] - ') - >=app-arch/gzip-1.7 - !headless? ( - qt5? ( dev-qt/qtcore:5 ) - qt6? ( dev-qt/qtbase:6 ) - ) - $(depend_clang_llvm_versions) - pgo? ( - >=dev-python/selenium-3.141.0 - >=dev-util/web_page_replay_go-20220314 - ) - >=dev-util/bindgen-0.68.0 - >=dev-build/gn-${GN_MIN_VER} - dev-build/ninja - dev-lang/perl - >=dev-util/gperf-3.0.3 - dev-vcs/git - >=net-libs/nodejs-7.6.0[inspector] - >=sys-devel/bison-2.4.3 - sys-devel/flex - virtual/pkgconfig -" - -if ! has chromium_pkg_die ${EBUILD_DEATH_HOOKS}; then - EBUILD_DEATH_HOOKS+=" chromium_pkg_die"; -fi - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -Some web pages may require additional fonts to display properly. -Try installing some of the following packages if some characters -are not displayed properly: -- media-fonts/arphicfonts -- media-fonts/droid -- media-fonts/ipamonafont -- media-fonts/noto -- media-fonts/ja-ipafonts -- media-fonts/takao-fonts -- media-fonts/wqy-microhei -- media-fonts/wqy-zenhei - -To fix broken icons on the Downloads page, you should install an icon -theme that covers the appropriate MIME types, and configure this as your -GTK+ icon theme. - -For native file dialogs in KDE, install kde-apps/kdialog. - -To make password storage work with your desktop environment you may -have install one of the supported credentials management applications: -- app-crypt/libsecret (GNOME) -- kde-frameworks/kwallet (KDE) -If you have one of above packages installed, but don't want to use -them in Chromium, then add --password-store=basic to CHROMIUM_FLAGS -in /etc/chromium/default. -" - -python_check_deps() { - python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" -} - -pre_build_checks() { - # Check build requirements: bugs #471810, #541816, #914220 - # We're going to start doing maths here on the size of an unpacked source tarball, - # this should make updates easier as chromium continues to balloon in size. - local BASE_DISK=24 - local EXTRA_DISK=1 - local CHECKREQS_MEMORY="4G" - tc-is-cross-compiler && EXTRA_DISK=2 - if tc-is-lto || use pgo; then - CHECKREQS_MEMORY="9G" - tc-is-cross-compiler && EXTRA_DISK=4 - use pgo && EXTRA_DISK=8 - fi - if is-flagq '-g?(gdb)?([1-9])'; then - if use custom-cflags; then - EXTRA_DISK=13 - fi - CHECKREQS_MEMORY="16G" - fi - CHECKREQS_DISK_BUILD="$((BASE_DISK + EXTRA_DISK))G" - check-reqs_${EBUILD_PHASE_FUNC} -} - -pkg_pretend() { - 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 - fi - - if use headless; then - local headless_unused_flags=("cups" "kerberos" "pulseaudio" "qt5" "qt6" "vaapi" "wayland") - for myiuse in ${headless_unused_flags[@]}; do - use ${myiuse} && ewarn "Ignoring USE=${myiuse}, USE=headless is set." - done - fi - - if ! use bindist && use ffmpeg-chromium; then - ewarn "Ignoring USE=ffmpeg-chromium, USE=bindist is not set." - 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" - # We can rely on GN to do this for us; anecdotally without this builds - # take significantly longer with LTO enabled and it doesn't hurt anything. - filter-lto - fi - - if [ "$use_lto" = "false" ] && use official; then - einfo "USE=official selected and LTO not detected." - einfo "It is _highly_ recommended that LTO be enabled for performance reasons" - einfo "and to be consistent with the upstream \"official\" build optimisations." - fi - - if [ "$use_lto" = "false" ] && use test; then - die "Tests require CFI which requires LTO" - fi - - export use_lto - - # 936858 - if tc-ld-is-mold; then - eerror "Your toolchain is using the mold linker." - eerror "This is not supported by Chromium." - 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 - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - - if tc-is-cross-compiler; then - use pgo && die "The pgo USE flag cannot be used when cross-compiling" - 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 - - # 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" - fi - fi - - chromium_suid_sandbox_check_kernel_config -} - -src_unpack() { - unpack ${P}.tar.xz - unpack chromium-patches-${PATCH_V}.tar.bz2 - - use pgo && unpack chromium-profiler-0.2.tar - - if use test; then - # 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.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}/chromium-testfonts-${TEST_FONT:0:10}.tar.gz" - tar xf "${testfonts_tar}" -C "${testfonts_dir}" || die "Failed to unpack testfonts" - fi - - if use ppc64; then - unpack chromium_${PATCHSET_PPC64}.debian.tar.xz - unpack chromium-ppc64le-gentoo-patches-1.tar.xz - fi -} - -src_prepare() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # disable global media controls, crashes with libstdc++ - sed -i -e \ - "/\"GlobalMediaControlsCastStartStop\"/,+4{s/ENABLED/DISABLED/;}" \ - "chrome/browser/media/router/media_router_feature.cc" - - local PATCHES=( - "${FILESDIR}/chromium-cross-compile.patch" - "${FILESDIR}/chromium-109-system-zlib.patch" - "${FILESDIR}/chromium-111-InkDropHost-crash.patch" - "${FILESDIR}/chromium-127-bindgen-custom-toolchain.patch" - "${FILESDIR}/chromium-131-unbundle-icu-target.patch" - "${FILESDIR}/chromium-131-oauth2-client-switches.patch" - "${FILESDIR}/chromium-131-const-atomicstring-conversion.patch" - ) - - PATCHES+=( "${WORKDIR}/chromium-patches-${PATCH_V}" ) - # We can't use the bundled compiler builtins with the system toolchain - # `grep` is a development convenience to ensure we fail early when google changes something. - local builtins_match="if (is_clang && !is_nacl && !is_cronet_build) {" - grep -q "${builtins_match}" build/config/compiler/BUILD.gn || die "Failed to disable bundled compiler builtins" - sed -i -e "/${builtins_match}/,+2d" build/config/compiler/BUILD.gn - - if use ppc64 ; then - local p - for p in $(grep -v "^#" "${WORKDIR}"/debian/patches/series | grep "^ppc64le" || die); do - if [[ ! $p =~ "fix-breakpad-compile.patch" ]]; then - eapply "${WORKDIR}/debian/patches/${p}" - fi - done - PATCHES+=( "${WORKDIR}/ppc64le" ) - PATCHES+=( "${WORKDIR}/debian/patches/fixes/rust-clanglib.patch" ) - fi - - default - - rm third_party/node/linux/node-linux-x64/bin/node || die - ln -s "${EPREFIX}"/usr/bin/node third_party/node/linux/node-linux-x64/bin/node || die - - # adjust python interpreter version - sed -i -e "s|\(^script_executable = \).*|\1\"${EPYTHON}\"|g" .gn || die - - # remove_bundled_libraries.py walks the source tree and looks for paths containing the substring 'third_party' - # whitelist matches use the right-most matching path component, so we need to whitelist from that point down. - local keeplibs=( - base/third_party/cityhash - base/third_party/double_conversion - base/third_party/icu - base/third_party/nspr - base/third_party/superfasthash - base/third_party/symbolize - base/third_party/xdg_user_dirs - buildtools/third_party/libc++ - buildtools/third_party/libc++abi - chrome/third_party/mozilla_security_manager - net/third_party/mozilla_security_manager - net/third_party/nss - net/third_party/quic - net/third_party/uri_template - third_party/abseil-cpp - third_party/angle - third_party/angle/src/common/third_party/xxhash - third_party/angle/src/third_party/ceval - third_party/angle/src/third_party/libXNVCtrl - third_party/angle/src/third_party/volk - third_party/anonymous_tokens - third_party/apple_apsl - third_party/axe-core - third_party/bidimapper - third_party/blink - third_party/boringssl - third_party/boringssl/src/third_party/fiat - third_party/breakpad - third_party/breakpad/breakpad/src/third_party/curl - third_party/brotli - third_party/catapult - third_party/catapult/common/py_vulcanize/third_party/rcssmin - third_party/catapult/common/py_vulcanize/third_party/rjsmin - third_party/catapult/third_party/beautifulsoup4-4.9.3 - third_party/catapult/third_party/html5lib-1.1 - third_party/catapult/third_party/polymer - third_party/catapult/third_party/six - third_party/catapult/tracing/third_party/d3 - third_party/catapult/tracing/third_party/gl-matrix - third_party/catapult/tracing/third_party/jpeg-js - third_party/catapult/tracing/third_party/jszip - third_party/catapult/tracing/third_party/mannwhitneyu - third_party/catapult/tracing/third_party/oboe - third_party/catapult/tracing/third_party/pako - third_party/ced - third_party/cld_3 - third_party/closure_compiler - third_party/content_analysis_sdk - third_party/cpuinfo - third_party/crabbyavif - third_party/crashpad - third_party/crashpad/crashpad/third_party/lss - third_party/crashpad/crashpad/third_party/zlib - third_party/crc32c - third_party/cros_system_api - third_party/d3 - third_party/dav1d - third_party/dawn - third_party/dawn/third_party/gn/webgpu-cts - third_party/dawn/third_party/khronos - third_party/depot_tools - third_party/devscripts - third_party/devtools-frontend - third_party/devtools-frontend/src/front_end/third_party/acorn - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/devtools-frontend/src/front_end/third_party/axe-core - third_party/devtools-frontend/src/front_end/third_party/chromium - third_party/devtools-frontend/src/front_end/third_party/codemirror - third_party/devtools-frontend/src/front_end/third_party/csp_evaluator - third_party/devtools-frontend/src/front_end/third_party/diff - third_party/devtools-frontend/src/front_end/third_party/i18n - third_party/devtools-frontend/src/front_end/third_party/intl-messageformat - third_party/devtools-frontend/src/front_end/third_party/json5 - third_party/devtools-frontend/src/front_end/third_party/lighthouse - third_party/devtools-frontend/src/front_end/third_party/lit - third_party/devtools-frontend/src/front_end/third_party/marked - third_party/devtools-frontend/src/front_end/third_party/puppeteer - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/mitt - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js - third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/third_party/rxjs - third_party/devtools-frontend/src/front_end/third_party/third-party-web - third_party/devtools-frontend/src/front_end/third_party/vscode.web-custom-data - third_party/devtools-frontend/src/front_end/third_party/wasmparser - third_party/devtools-frontend/src/front_end/third_party/web-vitals - third_party/devtools-frontend/src/third_party - third_party/distributed_point_functions - third_party/dom_distiller_js - third_party/eigen3 - third_party/emoji-segmenter - third_party/farmhash - third_party/fast_float - third_party/fdlibm - third_party/ffmpeg - third_party/fft2d - third_party/flatbuffers - third_party/fp16 - third_party/freetype - third_party/fusejs - third_party/fxdiv - third_party/gemmlowp - third_party/google_input_tools - third_party/google_input_tools/third_party/closure_library - third_party/google_input_tools/third_party/closure_library/third_party/closure - third_party/googletest - third_party/highway - third_party/hunspell - third_party/iccjpeg - third_party/ink_stroke_modeler/src/ink_stroke_modeler - third_party/ink_stroke_modeler/src/ink_stroke_modeler/internal - third_party/ink/src/ink/brush - third_party/ink/src/ink/color - third_party/ink/src/ink/geometry - third_party/ink/src/ink/rendering - third_party/ink/src/ink/rendering/skia/common_internal - third_party/ink/src/ink/rendering/skia/native - third_party/ink/src/ink/rendering/skia/native/internal - third_party/ink/src/ink/strokes - third_party/ink/src/ink/types - third_party/inspector_protocol - third_party/ipcz - third_party/jinja2 - third_party/jsoncpp - third_party/jstemplate - third_party/khronos - third_party/lens_server_proto - third_party/leveldatabase - third_party/libaddressinput - third_party/libaom - third_party/libaom/source/libaom/third_party/fastfeat - third_party/libaom/source/libaom/third_party/SVT-AV1 - third_party/libaom/source/libaom/third_party/vector - third_party/libaom/source/libaom/third_party/x86inc - third_party/libavif - third_party/libc++ - third_party/libevent - third_party/libgav1 - third_party/libjingle - third_party/libphonenumber - third_party/libsecret - third_party/libsrtp - third_party/libsync - third_party/liburlpattern - third_party/libva_protected_content - third_party/libvpx - third_party/libvpx/source/libvpx/third_party/x86inc - third_party/libwebm - third_party/libx11 - third_party/libxcb-keysyms - third_party/libxml/chromium - third_party/libyuv - third_party/libzip - third_party/lit - third_party/lottie - third_party/lss - third_party/lzma_sdk - third_party/mako - third_party/markupsafe - third_party/material_color_utilities - third_party/mesa - third_party/metrics_proto - third_party/minigbm - third_party/modp_b64 - third_party/nasm - third_party/nearby - third_party/neon_2_sse - third_party/node - third_party/omnibox_proto - third_party/one_euro_filter - third_party/openscreen - third_party/openscreen/src/third_party/ - third_party/openscreen/src/third_party/tinycbor/src/src - third_party/opus - third_party/ots - third_party/pdfium - third_party/pdfium/third_party/agg23 - third_party/pdfium/third_party/bigint - third_party/pdfium/third_party/freetype - third_party/pdfium/third_party/lcms - third_party/pdfium/third_party/libopenjpeg - third_party/pdfium/third_party/libtiff - third_party/perfetto - third_party/perfetto/protos/third_party/chromium - third_party/perfetto/protos/third_party/simpleperf - third_party/pffft - third_party/ply - third_party/polymer - third_party/private_membership - third_party/private-join-and-compute - third_party/protobuf - third_party/pthreadpool - third_party/puffin - third_party/pyjson5 - third_party/pyyaml - third_party/qcms - third_party/rapidhash - third_party/re2 - third_party/rnnoise - third_party/rust - third_party/ruy - third_party/s2cellid - third_party/securemessage - third_party/selenium-atoms - third_party/sentencepiece - third_party/sentencepiece/src/third_party/darts_clone - third_party/shell-encryption - third_party/simplejson - third_party/six - third_party/skia - third_party/skia/include/third_party/vulkan - third_party/skia/third_party/vulkan - third_party/smhasher - third_party/snappy - third_party/spirv-headers - third_party/spirv-tools - third_party/sqlite - third_party/swiftshader - third_party/swiftshader/third_party/astc-encoder - third_party/swiftshader/third_party/llvm-subzero - third_party/swiftshader/third_party/marl - third_party/swiftshader/third_party/SPIRV-Headers/include/spirv - third_party/swiftshader/third_party/SPIRV-Tools - third_party/swiftshader/third_party/subzero - third_party/tensorflow_models - third_party/tensorflow-text - third_party/tflite - third_party/tflite/src/third_party/eigen3 - third_party/tflite/src/third_party/fft2d - third_party/tflite/src/third_party/xla/third_party/tsl - third_party/tflite/src/third_party/xla/xla/tsl/framework - third_party/tflite/src/third_party/xla/xla/tsl/lib/random - third_party/tflite/src/third_party/xla/xla/tsl/protobuf - third_party/tflite/src/third_party/xla/xla/tsl/util - third_party/ukey2 - third_party/unrar - third_party/utf - third_party/vulkan - third_party/wayland - third_party/webdriver - third_party/webgpu-cts - third_party/webrtc - third_party/webrtc/common_audio/third_party/ooura - third_party/webrtc/common_audio/third_party/spl_sqrt_floor - third_party/webrtc/modules/third_party/fft - third_party/webrtc/modules/third_party/g711 - third_party/webrtc/modules/third_party/g722 - third_party/webrtc/rtc_base/third_party/base64 - third_party/webrtc/rtc_base/third_party/sigslot - third_party/widevine - third_party/woff2 - third_party/wuffs - third_party/x11proto - third_party/xcbproto - third_party/xnnpack - third_party/zlib/google - third_party/zxcvbn-cpp - url/third_party/mozilla - v8/src/third_party/siphash - v8/src/third_party/utf8-decoder - v8/src/third_party/valgrind - v8/third_party/glibc - v8/third_party/inspector_protocol - v8/third_party/v8 - - # gyp -> gn leftovers - third_party/speech-dispatcher - third_party/usb_ids - third_party/xdg-utils - ) - - if use test; then - # tar tvf /var/cache/distfiles/${P}-testdata.tar.xz | grep '^d' | grep 'third_party' | awk '{print $NF}' - keeplibs+=( - third_party/google_benchmark/src/include/benchmark - third_party/google_benchmark/src/src - third_party/perfetto/protos/third_party/pprof - third_party/test_fonts - third_party/test_fonts/fontconfig - ) - fi - - # USE=system-* - if ! use system-harfbuzz; then - keeplibs+=( third_party/harfbuzz-ng ) - fi - - if ! use system-icu; then - keeplibs+=( third_party/icu ) - fi - - if ! use system-png; then - keeplibs+=( third_party/libpng ) - fi - - if ! use system-zstd; then - keeplibs+=( third_party/zstd ) - fi - - # Arch-specific - if use arm64 || use ppc64 ; then - keeplibs+=( third_party/swiftshader/third_party/llvm-10.0 ) - fi - # we need to generate ppc64 stuff because upstream does not ship it yet - # it has to be done before unbundling. - if use ppc64; then - pushd third_party/libvpx >/dev/null || die - mkdir -p source/config/linux/ppc64 || die - # requires git and clang, bug #832803 - # Revert https://chromium.googlesource.com/chromium/src/+/b463d0f40b08b4e896e7f458d89ae58ce2a27165%5E%21/third_party/libvpx/generate_gni.sh - # and https://chromium.googlesource.com/chromium/src/+/71ebcbce867dd31da5f8b405a28fcb0de0657d91%5E%21/third_party/libvpx/generate_gni.sh - # since we're not in a git repo - sed -i -e "s|^update_readme||g; s|clang-format|${EPREFIX}/bin/true|g; /^git -C/d; /git cl/d; /cd \$BASE_DIR\/\$LIBVPX_SRC_DIR/ign format --in-place \$BASE_DIR\/BUILD.gn\ngn format --in-place \$BASE_DIR\/libvpx_srcs.gni" \ - generate_gni.sh || die - ./generate_gni.sh || die - popd >/dev/null || die - - pushd third_party/ffmpeg >/dev/null || die - cp libavcodec/ppc/h264dsp.c libavcodec/ppc/h264dsp_ppc.c || die - cp libavcodec/ppc/h264qpel.c libavcodec/ppc/h264qpel_ppc.c || die - popd >/dev/null || die - fi - - # Sanity check keeplibs, on major version bumps it is often necessary to update this list - # and this enables us to hit them all at once. - # There are some entries that need to be whitelisted (TODO: Why? The file is understandable, the rest seem odd) - whitelist_libs=( - net/third_party/quic - third_party/devtools-frontend/src/front_end/third_party/additional_readme_paths.json - third_party/libjingle - third_party/mesa - third_party/skia/third_party/vulkan - third_party/vulkan - ) - local not_found_libs=() - for lib in "${keeplibs[@]}"; do - if [[ ! -d "${lib}" ]] && ! has "${lib}" "${whitelist_libs[@]}"; then - not_found_libs+=( "${lib}" ) - fi - done - - if [[ ${#not_found_libs[@]} -gt 0 ]]; then - eerror "The following \`keeplibs\` directories were not found in the source tree:" - for lib in "${not_found_libs[@]}"; do - eerror " ${lib}" - done - die "Please update the ebuild." - fi - - # Remove most bundled libraries. Some are still needed. - einfo "Unbundling third-party libraries ..." - build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove || die - - # TODO: From 127 chromium includes a bunch of binaries? Unbundle them; they're not needed. - - # bundled eu-strip is for amd64 only and we don't want to pre-stripped binaries - mkdir -p buildtools/third_party/eu-strip/bin || die - ln -s "${EPREFIX}"/bin/true buildtools/third_party/eu-strip/bin/eu-strip || die -} - -chromium_configure() { - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - local myconf_gn="" - - # We already forced the "correct" clang via pkg_setup - - if tc-is-cross-compiler; then - CC="${CC} -target ${CHOST} --sysroot ${ESYSROOT}" - CXX="${CXX} -target ${CHOST} --sysroot ${ESYSROOT}" - BUILD_AR=${AR} - BUILD_CC=${CC} - BUILD_CXX=${CXX} - BUILD_NM=${NM} - fi - - strip-unsupported-flags - - myconf_gn+=" is_clang=true clang_use_chrome_plugins=false" - # https://bugs.gentoo.org/918897#c32 - append-ldflags -Wl,--undefined-version - myconf_gn+=" use_lld=true" - - # Make sure the build system will use the right tools, bug #340795. - tc-export AR CC CXX NM - - myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" - - if tc-is-cross-compiler; then - tc-export BUILD_{AR,CC,CXX,NM} - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" v8_snapshot_toolchain=\"//build/toolchain/linux/unbundle:host\"" - myconf_gn+=" pkg_config=\"$(tc-getPKG_CONFIG)\"" - myconf_gn+=" host_pkg_config=\"$(tc-getBUILD_PKG_CONFIG)\"" - - # setup cups-config, build system only uses --libs option - if use cups; then - mkdir "${T}/cups-config" || die - cp "${ESYSROOT}/usr/bin/${CHOST}-cups-config" "${T}/cups-config/cups-config" || die - export PATH="${PATH}:${T}/cups-config" - fi - - # Don't inherit PKG_CONFIG_PATH from environment - local -x PKG_CONFIG_PATH= - else - myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" - fi - - # bindgen settings - # From 127, to make bindgen work, we need to provide a location for libclang. - # We patch this in for gentoo - see chromium-*-bindgen-custom-toolchain.patch - # 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)\"" - # 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}\"" - - # GN needs explicit config for Debug/Release as opposed to inferring it from build directory. - myconf_gn+=" is_debug=false" - - # enable DCHECK with USE=debug only, increases chrome binary size by 30%, bug #811138. - # DCHECK is fatal by default, make it configurable at runtime, #bug 807881. - myconf_gn+=" dcheck_always_on=$(usex debug true false)" - myconf_gn+=" dcheck_is_configurable=$(usex debug true false)" - - # Component build isn't generally intended for use by end users. It's mostly useful - # for development and debugging. - myconf_gn+=" is_component_build=false" - - # Disable nacl, we can't build without pnacl (http://crbug.com/269560). - myconf_gn+=" enable_nacl=false" - - # Use system-provided libraries. - # TODO: freetype -- remove sources (https://bugs.chromium.org/p/pdfium/issues/detail?id=733). - # TODO: use_system_hunspell (upstream changes needed). - # TODO: use_system_protobuf (bug #525560). - # TODO: use_system_sqlite (http://crbug.com/22208). - - # libevent: https://bugs.gentoo.org/593458 - local gn_system_libraries=( - flac - fontconfig - freetype - # Need harfbuzz_from_pkgconfig target - #harfbuzz-ng - libdrm - libjpeg - libwebp - libxml - libxslt - openh264 - zlib - ) - if use system-icu; then - gn_system_libraries+=( icu ) - fi - if use system-png; then - gn_system_libraries+=( libpng ) - fi - if use system-zstd; then - gn_system_libraries+=( zstd ) - fi - - build/linux/unbundle/replace_gn_files.py --system-libraries "${gn_system_libraries[@]}" || die - - # TODO 131: The above call clobbers `enable_freetype = true` in the freetype gni file - # drop the last line, then append the freetype line and a new curly brace to end the block - local freetype_gni="build/config/freetype/freetype.gni" - sed -i -e '$d' ${freetype_gni} || die - echo " enable_freetype = true" >> ${freetype_gni} || die - echo "}" >> ${freetype_gni} || die - - # See dependency logic in third_party/BUILD.gn - myconf_gn+=" use_system_harfbuzz=$(usex system-harfbuzz true false)" - - # Optional dependencies. - myconf_gn+=" enable_hangout_services_extension=$(usex hangouts true false)" - myconf_gn+=" enable_widevine=$(usex widevine true false)" - - if use headless; then - myconf_gn+=" use_cups=false" - myconf_gn+=" use_kerberos=false" - myconf_gn+=" use_pulseaudio=false" - myconf_gn+=" use_vaapi=false" - myconf_gn+=" rtc_use_pipewire=false" - else - myconf_gn+=" use_cups=$(usex cups true false)" - myconf_gn+=" use_kerberos=$(usex kerberos true false)" - myconf_gn+=" use_pulseaudio=$(usex pulseaudio true false)" - myconf_gn+=" use_vaapi=$(usex vaapi true false)" - myconf_gn+=" rtc_use_pipewire=$(usex screencast true false)" - myconf_gn+=" gtk_version=$(usex gtk4 4 3)" - fi - - # Allows distributions to link pulseaudio directly (DT_NEEDED) instead of - # using dlopen. This helps with automated detection of ABI mismatches and - # prevents silent errors. - if use pulseaudio; then - myconf_gn+=" link_pulseaudio=true" - fi - - # Non-developer builds of Chromium (for example, non-Chrome browsers, or - # Chromium builds provided by Linux distros) should disable the testing config - myconf_gn+=" disable_fieldtrial_testing_config=true" - - # The sysroot is the oldest debian image that chromium supports, we don't need it - myconf_gn+=" use_sysroot=false" - - # Use in-tree libc++ (buildtools/third_party/libc++ and buildtools/third_party/libc++abi) - # instead of the system C++ library for C++ standard library support. - # default: true, but let's be explicit (forced since 120 ; USE removed 127). - myconf_gn+=" use_custom_libcxx=true" - - # Disable pseudolocales, only used for testing - myconf_gn+=" enable_pseudolocales=false" - - # Disable code formating of generated files - myconf_gn+=" blink_enable_generated_code_formatting=false" - - if use bindist ; then - # proprietary_codecs just forces Chromium to say that it can use h264/aac, - # the work is still done by ffmpeg. If this is set to no Chromium - # won't be able to load the codec even if the library can handle it - myconf_gn+=" proprietary_codecs=true" - myconf_gn+=" ffmpeg_branding=\"Chrome\"" - # build ffmpeg as an external component (libffmpeg.so) that we can remove / substitute - myconf_gn+=" is_component_ffmpeg=true" - else - ffmpeg_branding="$(usex proprietary-codecs Chrome Chromium)" - myconf_gn+=" proprietary_codecs=$(usex proprietary-codecs true false)" - myconf_gn+=" ffmpeg_branding=\"${ffmpeg_branding}\"" - fi - - # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . - # Note: these are for Gentoo use ONLY. For your own distribution, - # please get your own set of keys. Feel free to contact chromium@gentoo.org - # for more info. The OAuth2 credentials, however, have been left out. - # Those OAuth2 credentials have been broken for quite some time anyway. - # Instead we apply a patch to use the --oauth2-client-id= and - # --oauth2-client-secret= switches for setting GOOGLE_DEFAULT_CLIENT_ID and - # GOOGLE_DEFAULT_CLIENT_SECRET at runtime. This allows signing into - # Chromium without baked-in values. - local google_api_key="AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc" - myconf_gn+=" google_api_key=\"${google_api_key}\"" - local myarch="$(tc-arch)" - - # Avoid CFLAGS problems, bug #352457, bug #390147. - if ! use custom-cflags; then - replace-flags "-Os" "-O2" - strip-flags - - # Debug info section overflows without component build - # Prevent linker from running out of address space, bug #471810 . - filter-flags "-g*" - - # Prevent libvpx/xnnpack build failures. Bug 530248, 544702, 546984, 853646. - if [[ ${myarch} == amd64 ]]; then - filter-flags -mno-mmx -mno-sse2 -mno-ssse3 -mno-sse4.1 -mno-avx -mno-avx2 -mno-fma -mno-fma4 -mno-xop -mno-sse4a - fi - fi - - if [[ $myarch = amd64 ]] ; then - myconf_gn+=" target_cpu=\"x64\"" - ffmpeg_target_arch=x64 - elif [[ $myarch = arm64 ]] ; then - myconf_gn+=" target_cpu=\"arm64\"" - ffmpeg_target_arch=arm64 - elif [[ $myarch = ppc64 ]] ; then - myconf_gn+=" target_cpu=\"ppc64\"" - ffmpeg_target_arch=ppc64 - else - die "Failed to determine target arch, got '$myarch'." - fi - - myconf_gn+=" treat_warnings_as_errors=false" - # Disable fatal linker warnings, bug 506268. - myconf_gn+=" fatal_linker_warnings=false" - - # Disable external code space for V8 for ppc64. It is disabled for ppc64 - # by default, but cross-compiling on amd64 enables it again. - if tc-is-cross-compiler; then - if ! use amd64 && ! use arm64; then - myconf_gn+=" v8_enable_external_code_space=false" - fi - fi - - # Only enabled for clang, but gcc has endian macros too - myconf_gn+=" v8_use_libm_trig_functions=true" - - # Bug 491582. - export TMPDIR="${WORKDIR}/temp" - mkdir -p -m 755 "${TMPDIR}" || die - - # https://bugs.gentoo.org/654216 - addpredict /dev/dri/ #nowarn - - # We don't use the same clang version as upstream, and with -Werror - # we need to make sure that we don't get superfluous warnings. - append-flags -Wno-unknown-warning-option - if tc-is-cross-compiler; then - export BUILD_CXXFLAGS+=" -Wno-unknown-warning-option" - export BUILD_CFLAGS+=" -Wno-unknown-warning-option" - fi - - # Explicitly disable ICU data file support for system-icu/headless builds. - if use system-icu || use headless; then - myconf_gn+=" icu_use_data_file=false" - fi - - # Don't need nocompile checks and GN crashes with our config - myconf_gn+=" enable_nocompile_tests=false" - - # 131 began laying the groundwork for replacing freetype with - # "Rust-based Fontations set of libraries plus Skia path rendering" - # We now need to opt-in - myconf_gn+=" enable_freetype=true" - - # Enable ozone wayland and/or headless support - myconf_gn+=" use_ozone=true ozone_auto_platforms=false" - myconf_gn+=" ozone_platform_headless=true" - if use headless; then - myconf_gn+=" ozone_platform=\"headless\"" - myconf_gn+=" use_xkbcommon=false use_gtk=false use_qt=false" - myconf_gn+=" use_glib=false use_gio=false" - myconf_gn+=" use_pangocairo=false use_alsa=false" - myconf_gn+=" use_libpci=false use_udev=false" - myconf_gn+=" enable_print_preview=false" - myconf_gn+=" enable_remoting=false" - else - myconf_gn+=" use_system_libdrm=true" - myconf_gn+=" use_system_minigbm=true" - myconf_gn+=" use_xkbcommon=true" - if use qt5 || use qt6; then - local cbuild_libdir=$(get_libdir) - if tc-is-cross-compiler; then - # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 - local cbuild_libdir=$($(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libxslt) - cbuild_libdir=${cbuild_libdir:2} - cbuild_libdir=${cbuild_libdir/% } - fi - if use qt5; then - if tc-is-cross-compiler; then - myconf_gn+=" moc_qt5_path=\"${EPREFIX}/${cbuild_libdir}/qt5/bin\"" - else - myconf_gn+=" moc_qt5_path=\"$(qt5_get_bindir)\"" - fi - fi - if use qt6; then - myconf_gn+=" moc_qt6_path=\"${EPREFIX}/usr/${cbuild_libdir}/qt6/libexec\"" - fi - - myconf_gn+=" use_qt=true" - myconf_gn+=" use_qt6=$(usex qt6 true false)" - else - myconf_gn+=" use_qt=false" - fi - myconf_gn+=" ozone_platform_x11=$(usex X true false)" - myconf_gn+=" ozone_platform_wayland=$(usex wayland true false)" - myconf_gn+=" ozone_platform=$(usex wayland \"wayland\" \"x11\")" - use wayland && myconf_gn+=" use_system_libffi=true" - fi - - myconf_gn+=" use_thin_lto=${use_lto}" - myconf_gn+=" thin_lto_enable_optimizations=${use_lto}" - - # Enable official builds - myconf_gn+=" is_official_build=$(usex official true false)" - if use official; then - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \ - tools/generate_shim_headers/generate_shim_headers.py || die - myconf_gn+=" is_cfi=${use_lto}" - # Don't add symbols to build - myconf_gn+=" symbol_level=0" - fi - - if use pgo; then - myconf_gn+=" chrome_pgo_phase=${1}" - if [[ "$1" == "2" ]]; then - myconf_gn+=" pgo_data_path=\"${2}\"" - fi - else - # Disable PGO - myconf_gn+=" chrome_pgo_phase=0" - fi - - # skipping typecheck is only supported on amd64, bug #876157 - if ! use amd64; then - myconf_gn+=" devtools_skip_typecheck=false" - fi - - einfo "Configuring Chromium ..." - set -- gn gen --args="${myconf_gn} ${EXTRA_GN}" out/Release - echo "$@" - "$@" || die -} - -src_configure() { - chromium_configure $(usex pgo 1 0) -} - -chromium_compile() { - - # Final link uses lots of file descriptors. - ulimit -n 2048 - - # Calling this here supports resumption via FEATURES=keepwork - python_setup - - # Don't inherit PYTHONPATH from environment, bug #789021, #812689 - local -x PYTHONPATH= - - # Build mksnapshot and pax-mark it. - if use pax-kernel; then - local x - for x in mksnapshot v8_context_snapshot_generator; do - if tc-is-cross-compiler; then - eninja -C out/Release "host/${x}" - pax-mark m "out/Release/host/${x}" - else - eninja -C out/Release "${x}" - pax-mark m "out/Release/${x}" - fi - done - fi - - # Even though ninja autodetects number of CPUs, we respect - # user's options, for debugging with -j 1 or any other reason. - eninja -C out/Release chrome chromedriver chrome_sandbox $(use test && echo "base_unittests") - - pax-mark m out/Release/chrome - -} - -# This function is called from virtx, and must always return so that Xvfb -# session isn't left running. If we return 1, virtx will call die(). -chromium_profile() { - einfo "Profiling for PGO" - - pushd "${WORKDIR}/chromium-profiler-"* >/dev/null || return 1 - - # Remove old profdata in case profiling was interrupted. - rm -rf "${1}" || return 1 - - if ! "${EPYTHON}" ./chromium_profiler.py \ - --chrome-executable "${S}/out/Release/chrome" \ - --chromedriver-executable "${S}/out/Release/chromedriver.unstripped" \ - --add-arg no-sandbox --add-arg disable-dev-shm-usage \ - --profile-output "${1}"; then - eerror "Profiling failed" - return 1 - fi - - popd >/dev/null || return 1 -} - -src_compile() { - if use pgo; then - local profdata - - profdata="${WORKDIR}/chromium.profdata" - - if [[ ! -e "${WORKDIR}/.pgo-profiled" ]]; then - chromium_compile - virtx chromium_profile "$profdata" - - touch "${WORKDIR}/.pgo-profiled" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-configured" ]]; then - # Remove phase 1 output - rm -r out/Release || die - - chromium_configure 2 "$profdata" - - touch "${WORKDIR}/.pgo-phase-2-configured" || die - fi - - if [[ ! -e "${WORKDIR}/.pgo-phase-2-compiled" ]]; then - chromium_compile - touch "${WORKDIR}/.pgo-phase-2-compiled" || die - fi - else - chromium_compile - fi - - mv out/Release/chromedriver{.unstripped,} || die - - rm -f out/Release/locales/*.pak.info || die - - # Build manpage; bug #684550 - sed -e 's|@@PACKAGE@@|chromium-browser|g; - s|@@MENUNAME@@|Chromium|g;' \ - chrome/app/resources/manpage.1.in > \ - out/Release/chromium-browser.1 || die - - # Build desktop file; bug #706786 - sed -e 's|@@MENUNAME@@|Chromium|g; - s|@@USR_BIN_SYMLINK_NAME@@|chromium-browser|g; - s|@@PACKAGE@@|chromium-browser|g; - s|\(^Exec=\)/usr/bin/|\1|g;' \ - chrome/installer/linux/common/desktop.template > \ - out/Release/chromium-browser-chromium.desktop || die - - # Build vk_swiftshader_icd.json; bug #827861 - sed -e 's|${ICD_LIBRARY_PATH}|./libvk_swiftshader.so|g' \ - third_party/swiftshader/src/Vulkan/vk_swiftshader_icd.json.tmpl > \ - out/Release/vk_swiftshader_icd.json || die -} - -src_test() { - # Initial list of tests to skip pulled from Alpine. Thanks Lauren! - # https://issues.chromium.org/issues/40939315 - local skip_tests=( - 'MessagePumpLibeventTest.NestedNotification*' - ClampTest.Death - OptionalTest.DereferencingNoValueCrashes - PlatformThreadTest.SetCurrentThreadTypeTest - RawPtrTest.TrivialRelocability - SafeNumerics.IntMaxOperations - StackTraceTest.TraceStackFramePointersFromBuffer - StringPieceTest.InvalidLengthDeath - StringPieceTest.OutOfBoundsDeath - ThreadPoolEnvironmentConfig.CanUseBackgroundPriorityForWorker - ValuesUtilTest.FilePath - ) - 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 \ - --test-launcher-jobs="$(makeopts_jobs)" \ - --gtest_filter="${test_filter}" || die "Tests failed!" -} - -src_install() { - local CHROMIUM_HOME="/usr/$(get_libdir)/chromium-browser" - exeinto "${CHROMIUM_HOME}" - doexe out/Release/chrome - - newexe out/Release/chrome_sandbox chrome-sandbox - fperms 4755 "${CHROMIUM_HOME}/chrome-sandbox" - - doexe out/Release/chromedriver - doexe out/Release/chrome_crashpad_handler - - ozone_auto_session () { - use X && use wayland && ! use headless && echo true || echo false - } - local sedargs=( -e - "s:/usr/lib/:/usr/$(get_libdir)/:g; - s:@@OZONE_AUTO_SESSION@@:$(ozone_auto_session):g" - ) - sed "${sedargs[@]}" "${FILESDIR}/chromium-launcher-r7.sh" > chromium-launcher.sh || die - doexe chromium-launcher.sh - - # It is important that we name the target "chromium-browser", - # xdg-utils expect it; bug #355517. - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium-browser - # keep the old symlink around for consistency - dosym "${CHROMIUM_HOME}/chromium-launcher.sh" /usr/bin/chromium - - dosym "${CHROMIUM_HOME}/chromedriver" /usr/bin/chromedriver - - # Allow users to override command-line options, bug #357629. - insinto /etc/chromium - newins "${FILESDIR}/chromium.default" "default" - - pushd out/Release/locales > /dev/null || die - chromium_remove_language_paks - popd - - insinto "${CHROMIUM_HOME}" - doins out/Release/*.bin - doins out/Release/*.pak - - if use bindist; then - # We built libffmpeg as a component library, but we can't distribute it - # with proprietary codec support. Remove it and make a symlink to the requested - # system library. - rm -f out/Release/libffmpeg.so \ - || die "Failed to remove bundled libffmpeg.so (with proprietary codecs)" - # symlink the libffmpeg.so from either ffmpeg-chromium or ffmpeg[chromium]. - einfo "Creating symlink to libffmpeg.so from $(usex ffmpeg-chromium ffmpeg-chromium ffmpeg[chromium])..." - dosym ../chromium/libffmpeg.so$(usex ffmpeg-chromium .${PV%%\.*} "") \ - /usr/$(get_libdir)/chromium-browser/libffmpeg.so - fi - - ( - shopt -s nullglob - local files=(out/Release/*.so out/Release/*.so.[0-9]) - [[ ${#files[@]} -gt 0 ]] && doins "${files[@]}" - ) - - # Install bundled xdg-utils, avoids installing X11 libraries with USE="-X wayland" - doins out/Release/xdg-{settings,mime} - - if ! use system-icu && ! use headless; then - doins out/Release/icudtl.dat - fi - - doins -r out/Release/locales - doins -r out/Release/MEIPreload - - # Install vk_swiftshader_icd.json; bug #827861 - doins out/Release/vk_swiftshader_icd.json - - if [[ -d out/Release/swiftshader ]]; then - insinto "${CHROMIUM_HOME}/swiftshader" - doins out/Release/swiftshader/*.so - fi - - # Install icons - local branding size - for size in 16 24 32 48 64 128 256 ; do - case ${size} in - 16|32) branding="chrome/app/theme/default_100_percent/chromium" ;; - *) branding="chrome/app/theme/chromium" ;; - esac - newicon -s ${size} "${branding}/product_logo_${size}.png" \ - chromium-browser.png - done - - # Install desktop entry - domenu out/Release/chromium-browser-chromium.desktop - - # Install GNOME default application entry (bug #303100). - insinto /usr/share/gnome-control-center/default-apps - newins "${FILESDIR}"/chromium-browser.xml chromium-browser.xml - - # Install manpage; bug #684550 - doman out/Release/chromium-browser.1 - dosym chromium-browser.1 /usr/share/man/man1/chromium.1 - - readme.gentoo_create_doc -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_desktop_database_update -} - -pkg_postinst() { - xdg_icon_cache_update - xdg_desktop_database_update - readme.gentoo_print_elog - - if ! use headless; then - if use vaapi; then - elog "VA-API is disabled by default at runtime. You have to enable it" - elog "by adding --enable-features=VaapiVideoDecoder to CHROMIUM_FLAGS" - elog "in /etc/chromium/default." - fi - if use screencast; then - elog "Screencast is disabled by default at runtime. Either enable it" - elog "by navigating to chrome://flags/#enable-webrtc-pipewire-capturer" - elog "inside Chromium or add --enable-features=WebRTCPipeWireCapturer" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use gtk4; then - elog "Chromium prefers GTK3 over GTK4 at runtime. To override this" - elog "behavior you need to pass --gtk-version=4, e.g. by adding it" - elog "to CHROMIUM_FLAGS in /etc/chromium/default." - fi - if use qt5 && use qt6; then - elog "Chromium automatically selects Qt5 or Qt6 based on your desktop" - elog "environment. To override you need to pass --qt-version=5 or" - elog "--qt-version=6, e.g. by adding it to CHROMIUM_FLAGS in" - elog "/etc/chromium/default." - fi - fi - - if systemd_is_booted && ! [[ -f "/etc/machine-id" ]]; then - ewarn "The lack of an '/etc/machine-id' file on this system booted with systemd" - ewarn "indicates that the Gentoo handbook was not followed to completion." - ewarn "" - ewarn "Chromium is known to behave unpredictably with this system configuration;" - ewarn "please complete the configuration of this system before logging any bugs." - fi -} diff --git a/www-client/firefox/firefox-115.16.1-r1.ebuild b/www-client/firefox/firefox-115.16.1-r1.ebuild new file mode 100644 index 000000000000..e01a588149b5 --- /dev/null +++ b/www-client/firefox/firefox-115.16.1-r1.ebuild @@ -0,0 +1,1353 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-115esr-patches-13.tar.xz" + +LLVM_COMPAT=(17 18) + +PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_REQ_USE="ncurses,sqlite,ssl" +RUST_NEEDS_LLVM=1 + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" +fi + +MOZ_PN="${PN%-bin}" +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-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}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +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%_*}" +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="esr" +KEYWORDS="amd64 arm64 ppc64 ~riscv x86" + +IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" +IUSE+=" jack libproxy lto openh264 pgo pulseaudio sndio selinux" +IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" +IUSE+=" wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" geckodriver +gmp-autoupdate screencast" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + !www-client/firefox:rapid + screencast? ( media-video/pipewire:= ) + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(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 + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! 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 + 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!" + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json \ + || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily +# placed here until toolchain-funcs.eclass gets an official support for mold linker. +# Please see: +# https://github.com/gentoo/gentoo/pull/28366 || +# https://github.com/gentoo/gentoo/pull/28355 +tc-ld-is-mold() { + local out + + # Ensure ld output is in English. + local -x LC_ALL=C + + # First check the linker directly. + out=$($(tc-getLD "$@") --version 2>&1) + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # Then see if they're selecting mold via compiler flags. + # Note: We're assuming they're using LDFLAGS to hold the + # options and not CFLAGS/CXXFLAGS. + local base="${T}/test-tc-linker" + cat <<-EOF > "${base}.c" + int main() { return 0; } + EOF + out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) + rm -f "${base}"* + if [[ ${out} == *"mold"* ]] ; then + return 0 + fi + + # No mold here! + return 1 +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + 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 + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + 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 }') + [[ -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})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if use lto; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + if ! use ppc64; then + rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die + fi + + if use x86 && use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*-musl-non-lfs64-api-on-audio_thread_priority-crate.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/0029-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/0029-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure \ + || die "sed failed to set num_cores" + + # Make ICU respect MAKEOPTS + sed -i \ + -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py \ + || die "sed failed to set num_cores" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ + || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py \ + || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear cargo checksums from crates we have patched + # moz_clear_vendor_checksums crate + moz_clear_vendor_checksums audio_thread_priority + moz_clear_vendor_checksums bindgen + moz_clear_vendor_checksums encoding_rs + moz_clear_vendor_checksums any_all_workaround + moz_clear_vendor_checksums packed_simd + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-gpsd \ + --disable-install-strip \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-legacy-profile-creation \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + mozconfig_use_enable geckodriver + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3 + fi + + if use lto ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + # LTO flag was handled via configure + filter-lto + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # Modifications to better support ARM, bug #553364 + if use cpu_flags_arm_neon ; then + mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon + + if ! tc-is-clang ; then + # thumb options aren't supported when using clang, bug 666966 + mozconfig_add_options_ac '+cpu_flags_arm_neon' \ + --with-thumb=yes \ + --with-thumb-interwork=no + fi + fi + + if [[ ${CHOST} == armv*h* ]] ; then + mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard + + if ! use system-libvpx ; then + sed -i \ + -e "s|softfp|hard|" \ + "${S}"/media/libvpx/moz.build \ + || die + fi + fi + + # With profile 23.0 elf-hack=legacy is broken with gcc. + # With Firefox-115esr elf-hack=relr isn't available (only in rapid). + # Solution: Disable build system's elf-hack completely, and add "-z,pack-relative-relocs" + # manually with gcc. + # + # elf-hack configure option isn't available on ppc64/riscv, #916259, #929244, #930046. + if use ppc64 || use riscv ; then + :; + else + mozconfig_add_options_ac 'elf-hack disabled' --disable-elf-hack + fi + + if use amd64 || use x86 ; then + ! use clang && append-ldflags "-z,pack-relative-relocs" + fi + + # Additional ARCH support + case "${ARCH}" in + arm) + # Reduce the memory requirements for linking + if use clang ; then + # Nothing to do + :; + elif use lto ; then + append-ldflags -Wl,--no-keep-memory + else + append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads + fi + ;; + esac + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + if use system-python-libs; then + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" + else + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if tc-ld-is-mold && use lto; 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." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install geckodriver + if use geckodriver ; then + einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." + pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/geckodriver + + dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local desktop_filename="${PN}-esr.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" \ + || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" \ + || die + + readme.gentoo_create_doc +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi + + if use geckodriver ; then + ewarn "You have enabled the 'geckodriver' USE flag. Geckodriver is now" + ewarn "packaged separately as net-misc/geckodriver and the use flag will be" + ewarn "dropped from main Firefox package by Firefox 128.0 release." + fi +} diff --git a/www-client/firefox/firefox-115.16.1.ebuild b/www-client/firefox/firefox-115.16.1.ebuild deleted file mode 100644 index 02142c4cbddb..000000000000 --- a/www-client/firefox/firefox-115.16.1.ebuild +++ /dev/null @@ -1,1393 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-115esr-patches-13.tar.xz" - -LLVM_MAX_SLOT=18 - -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR=yes - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="${PN%-bin}" -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 - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -DESCRIPTION="Firefox Web Browser" -HOMEPAGE="https://www.mozilla.com/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%_*}" -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -SLOT="esr" -KEYWORDS="amd64 arm64 ppc64 ~riscv x86" - -IUSE="+clang cpu_flags_arm_neon dbus debug eme-free hardened hwaccel" -IUSE+=" jack libproxy lto openh264 pgo pulseaudio sndio selinux" -IUSE+=" +system-av1 +system-harfbuzz +system-icu +system-jpeg +system-libevent +system-libvpx system-png system-python-libs +system-webp" -IUSE+=" wayland wifi +X" - -# Firefox-only IUSE -IUSE+=" geckodriver +gmp-autoupdate screencast" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - wifi? ( dbus )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - !www-client/firefox:rapid - 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] ) - ) - ) - ) - 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/nasm-2.14 ) - x86? ( >=dev-lang/nasm-2.14 ) - pgo? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - &2 - return 1 - fi - - if use clang && ! 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 - 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!" - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -# Firefox-only LANGS -MOZ_LANGS+=( ach ) -MOZ_LANGS+=( an ) -MOZ_LANGS+=( az ) -MOZ_LANGS+=( bn ) -MOZ_LANGS+=( bs ) -MOZ_LANGS+=( ca-valencia ) -MOZ_LANGS+=( eo ) -MOZ_LANGS+=( es-CL ) -MOZ_LANGS+=( es-MX ) -MOZ_LANGS+=( fa ) -MOZ_LANGS+=( ff ) -MOZ_LANGS+=( fur ) -MOZ_LANGS+=( gn ) -MOZ_LANGS+=( gu-IN ) -MOZ_LANGS+=( hi-IN ) -MOZ_LANGS+=( hy-AM ) -MOZ_LANGS+=( ia ) -MOZ_LANGS+=( km ) -MOZ_LANGS+=( kn ) -MOZ_LANGS+=( lij ) -MOZ_LANGS+=( mk ) -MOZ_LANGS+=( mr ) -MOZ_LANGS+=( my ) -MOZ_LANGS+=( ne-NP ) -MOZ_LANGS+=( oc ) -MOZ_LANGS+=( sc ) -MOZ_LANGS+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( son ) -MOZ_LANGS+=( szl ) -MOZ_LANGS+=( ta ) -MOZ_LANGS+=( te ) -MOZ_LANGS+=( tl ) -MOZ_LANGS+=( trs ) -MOZ_LANGS+=( ur ) -MOZ_LANGS+=( xh ) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json \ - || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily -# placed here until toolchain-funcs.eclass gets an official support for mold linker. -# Please see: -# https://github.com/gentoo/gentoo/pull/28366 || -# https://github.com/gentoo/gentoo/pull/28355 -tc-ld-is-mold() { - local out - - # Ensure ld output is in English. - local -x LC_ALL=C - - # First check the linker directly. - out=$($(tc-getLD "$@") --version 2>&1) - if [[ ${out} == *"mold"* ]] ; then - return 0 - fi - - # Then see if they're selecting mold via compiler flags. - # Note: We're assuming they're using LDFLAGS to hold the - # options and not CFLAGS/CXXFLAGS. - local base="${T}/test-tc-linker" - cat <<-EOF > "${base}.c" - int main() { return 0; } - EOF - out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1) - rm -f "${base}"* - if [[ ${out} == *"mold"* ]] ; then - return 0 - fi - - # No mold here! - return 1 -} - -virtwl() { - debug-print-function ${FUNCNAME} "$@" - - [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" - [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" - tinywl -h >/dev/null || die 'tinywl -h failed' - - local VIRTWL VIRTWL_PID - coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } - local -x WAYLAND_DISPLAY - read WAYLAND_DISPLAY <&${VIRTWL[0]} - - debug-print "${FUNCNAME}: $@" - "$@" - local r=$? - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- - return $r -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - 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 - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - check-reqs_pkg_setup - - llvm_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})!" - fi - fi - - python-any-r1_pkg_setup - - # Avoid PGO profiling problems due to enviroment leakage - # These should *always* be cleaned up anyway - unset \ - DBUS_SESSION_BUS_ADDRESS \ - DISPLAY \ - ORBIT_SOCKETDIR \ - SESSION_MANAGER \ - XAUTHORITY \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if use pgo ; then - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage - # (PORTAGE_SCHEDULING_POLICY) update... - addpredict /proc - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi - - CONFIG_CHECK="~SECCOMP" - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." - linux-info_pkg_setup -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - unpack ${_src_file} - fi - done -} - -src_prepare() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - if ! use ppc64; then - rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die - fi - - if use x86 && use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*-musl-non-lfs64-api-on-audio_thread_priority-crate.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/0029-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/0029-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}/firefox-patches" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - elif use arm64 ; then - export RUST_TARGET="aarch64-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i \ - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure \ - || die "sed failed to set num_cores" - - # Make ICU respect MAKEOPTS - sed -i \ - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py \ - || die "sed failed to set num_cores" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py \ - || die "sed failed to set toolchain prefix" - - sed -i \ - -e 's/ccache_stats = None/return None/' \ - "${S}"/python/mozbuild/mozbuild/controller/building.py \ - || die "sed failed to disable ccache stats call" - - einfo "Removing pre-built binaries ..." - - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Clear cargo checksums from crates we have patched - # moz_clear_vendor_checksums crate - moz_clear_vendor_checksums audio_thread_priority - moz_clear_vendor_checksums bindgen - moz_clear_vendor_checksums encoding_rs - moz_clear_vendor_checksums any_all_workaround - moz_clear_vendor_checksums packed_simd - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die - - # Write API keys to disk - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die - - xdg_environment_reset -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # Set MOZILLA_FIVE_HOME - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - - # python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-application=browser - mozconfig_add_options_ac '' --enable-project=browser - - # Set Gentoo defaults - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-gpsd \ - --disable-install-strip \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-wmf \ - --enable-legacy-profile-creation \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly - # Can be removed once upstream enable it by default in the future. - use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - mozconfig_use_enable geckodriver - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - fi - - local myaudiobackends="" - use jack && myaudiobackends+="jack," - use sndio && myaudiobackends+="sndio," - use pulseaudio && myaudiobackends+="pulseaudio," - ! use pulseaudio && myaudiobackends+="alsa," - - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" - - mozconfig_use_enable wifi necko-wifi - - if use X && use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - elif ! use X && use wayland ; then - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only - else - mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3 - fi - - if use lto ; then - if use clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - fi - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409. - # mold does not support gcc+lto combination. - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # lld is upstream's default - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - fi - - else - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd - fi - fi - fi - - # LTO flag was handled via configure - filter-lto - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing - - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # Modifications to better support ARM, bug #553364 - if use cpu_flags_arm_neon ; then - mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - mozconfig_add_options_ac '+cpu_flags_arm_neon' \ - --with-thumb=yes \ - --with-thumb-interwork=no - fi - fi - - if [[ ${CHOST} == armv*h* ]] ; then - mozconfig_add_options_ac 'CHOST=armv*h*' --with-float-abi=hard - - if ! use system-libvpx ; then - sed -i \ - -e "s|softfp|hard|" \ - "${S}"/media/libvpx/moz.build \ - || die - fi - fi - - # With profile 23.0 elf-hack=legacy is broken with gcc. - # With Firefox-115esr elf-hack=relr isn't available (only in rapid). - # Solution: Disable build system's elf-hack completely, and add "-z,pack-relative-relocs" - # manually with gcc. - # - # elf-hack configure option isn't available on ppc64/riscv, #916259, #929244, #930046. - if use ppc64 || use riscv ; then - :; - else - mozconfig_add_options_ac 'elf-hack disabled' --disable-elf-hack - fi - - if use amd64 || use x86 ; then - ! use clang && append-ldflags "-z,pack-relative-relocs" - fi - - # Additional ARCH support - case "${ARCH}" in - arm) - # Reduce the memory requirements for linking - if use clang ; then - # Nothing to do - :; - elif use lto ; then - append-ldflags -Wl,--no-keep-memory - else - append-ldflags -Wl,--no-keep-memory -Wl,--reduce-memory-overheads - fi - ;; - esac - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # Allow elfhack to work in combination with unstripped binaries - # when they would normally be larger than 2GiB. - append-ldflags "-Wl,--compress-debug-sections=zlib" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - if use system-python-libs; then - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="system" - else - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - fi - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; 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." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - fi - - if ! use gmp-autoupdate ; then - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - einfo "Disabling auto-update for ${plugin} plugin ..." - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" - pref("media.${plugin}.autoupdate", false); - EOF - done - fi - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install geckodriver - if use geckodriver ; then - einfo "Installing geckodriver into ${ED}${MOZILLA_FIVE_HOME} ..." - pax-mark m "${BUILD_DIR}"/dist/bin/geckodriver - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/geckodriver - - dosym ${MOZILLA_FIVE_HOME}/geckodriver /usr/bin/geckodriver - fi - - # Install icons - local icon_srcdir="${S}/browser/branding/official" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local desktop_filename="${PN}-esr.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" \ - || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" \ - || die - - readme.gentoo_create_doc -} - -pkg_preinst() { - xdg_pkg_preinst - - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse - # does not need to be forced into the LD_LIBRARY_PATH - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - einfo "APULSE found; Generating library symlinks for sound support ..." - local lib - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do - # A quickpkg rolled by hand will grab symlinks as part of the package, - # so we need to avoid creating them if they already exist. - if [[ ! -L ${lib##*/} ]] ; then - ln -s "${lib}" ${lib##*/} || die - fi - done - popd &>/dev/null || die - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - elog "Apulse was detected at merge time on this system and so it will always be" - elog "used for sound. If you wish to use pulseaudio instead please unmerge" - elog "media-sound/apulse." - elog - fi - - # bug 835078 - if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then - ewarn "You have nouveau drivers installed in your system and 'hwaccel' " - ewarn "enabled for Firefox. Nouveau / your GPU might not support the " - ewarn "required EGL, so either disable 'hwaccel' or try the workaround " - ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." - fi - - readme.gentoo_print_elog - - optfeature_header "Optional programs for extra features:" - optfeature "desktop notifications" x11-libs/libnotify - optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas - - if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then - optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver - fi - - if ! has_version "sys-libs/glibc"; then - elog - elog "glibc not found! You won't be able to play DRM content." - elog "See Gentoo bug #910309 or upstream bug #1843683." - elog - fi - - if use geckodriver ; then - ewarn "You have enabled the 'geckodriver' USE flag. Geckodriver is now" - ewarn "packaged separately as net-misc/geckodriver and the use flag will be" - ewarn "dropped from main Firefox package by Firefox 128.0 release." - fi -} diff --git a/www-client/firefox/firefox-128.3.1-r1.ebuild b/www-client/firefox/firefox-128.3.1-r1.ebuild new file mode 100644 index 000000000000..36eacf19c85a --- /dev/null +++ b/www-client/firefox/firefox-128.3.1-r1.ebuild @@ -0,0 +1,1363 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128esr-patches-03.tar.xz" + +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" + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +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-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}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +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+=" pulseaudio selinux sndio +system-av1 +system-harfbuzz +system-icu +system-jpeg" +IUSE+=" +system-libevent +system-libvpx system-png +system-webp +telemetry wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wayland? ( dbus ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(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.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! 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 + 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 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + 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 + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + 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})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if use lto; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list. + # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), + # bgo#937867. + use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # LTO is handled via configure + filter-lto + + if use lto ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if tc-ld-is-mold && use lto; 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." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/firefox/firefox-128.3.1.ebuild b/www-client/firefox/firefox-128.3.1.ebuild deleted file mode 100644 index 22d0a2570ee5..000000000000 --- a/www-client/firefox/firefox-128.3.1.ebuild +++ /dev/null @@ -1,1368 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128esr-patches-03.tar.xz" - -LLVM_COMPAT=( 17 18 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR=yes - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -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/" - SLOT="esr" -else - HOMEPAGE="https://www.mozilla.com/firefox" - SLOT="rapid" -fi - -MOZ_PN="${PN%-bin}" -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -DESCRIPTION="Firefox Web Browser" -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" -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+=" pulseaudio selinux sndio +system-av1 +system-harfbuzz +system-icu +system-jpeg" -IUSE+=" +system-libevent +system-libvpx system-png +system-webp +telemetry wayland wifi +X" - -# Firefox-only IUSE -IUSE+=" +gmp-autoupdate gnome-shell" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - wayland? ( dbus ) - wifi? ( dbus )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - 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] ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=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? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - &2 - return 1 - fi - - if use clang && ! 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 - 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 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -# Firefox-only LANGS -MOZ_LANGS+=( ach ) -MOZ_LANGS+=( an ) -MOZ_LANGS+=( az ) -MOZ_LANGS+=( bn ) -MOZ_LANGS+=( bs ) -MOZ_LANGS+=( ca-valencia ) -MOZ_LANGS+=( eo ) -MOZ_LANGS+=( es-CL ) -MOZ_LANGS+=( es-MX ) -MOZ_LANGS+=( fa ) -MOZ_LANGS+=( ff ) -MOZ_LANGS+=( fur ) -MOZ_LANGS+=( gn ) -MOZ_LANGS+=( gu-IN ) -MOZ_LANGS+=( hi-IN ) -MOZ_LANGS+=( hy-AM ) -MOZ_LANGS+=( ia ) -MOZ_LANGS+=( km ) -MOZ_LANGS+=( kn ) -MOZ_LANGS+=( lij ) -MOZ_LANGS+=( mk ) -MOZ_LANGS+=( mr ) -MOZ_LANGS+=( my ) -MOZ_LANGS+=( ne-NP ) -MOZ_LANGS+=( oc ) -MOZ_LANGS+=( sc ) -MOZ_LANGS+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( skr ) -MOZ_LANGS+=( son ) -MOZ_LANGS+=( szl ) -MOZ_LANGS+=( ta ) -MOZ_LANGS+=( te ) -MOZ_LANGS+=( tl ) -MOZ_LANGS+=( trs ) -MOZ_LANGS+=( ur ) -MOZ_LANGS+=( xh ) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -virtwl() { - debug-print-function ${FUNCNAME} "$@" - - [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" - [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" - tinywl -h >/dev/null || die 'tinywl -h failed' - - local VIRTWL VIRTWL_PID - coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } - local -x WAYLAND_DISPLAY - read WAYLAND_DISPLAY <&${VIRTWL[0]} - - debug-print "${FUNCNAME}: $@" - "$@" - local r=$? - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- - return $r -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - 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 - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - 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})!" - fi - fi - - python-any-r1_pkg_setup - - # Avoid PGO profiling problems due to enviroment leakage - # These should *always* be cleaned up anyway - unset \ - DBUS_SESSION_BUS_ADDRESS \ - DISPLAY \ - ORBIT_SOCKETDIR \ - SESSION_MANAGER \ - XAUTHORITY \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if use pgo ; then - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage - # (PORTAGE_SCHEDULING_POLICY) update... - addpredict /proc - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi - - CONFIG_CHECK="~SECCOMP" - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." - linux-info_pkg_setup -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - unpack ${_src_file} - fi - done -} - -src_prepare() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}/firefox-patches" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - elif use arm64 ; then - export RUST_TARGET="aarch64-unknown-linux-musl" - elif use ppc64 ; then - export RUST_TARGET="powerpc64le-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - # Make ICU respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" - - # Respect MAKEOPTS all around (maybe some find+sed is better) - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" - - sed -i \ - -e 's/ccache_stats = None/return None/' \ - "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" - - einfo "Removing pre-built binaries ..." - - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # Respect choice for "jumbo-build" - # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 - if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then - local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} - elog "" - elog "jumbo-build defaults modified to ${my_files_per_unified_file}." - elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," - elog "if that fails try -jumbo-build before opening a bug report." - elog "" - - sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ - python/mozbuild/mozbuild/frontend/data.py || - die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" - sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ - js/src/moz.build || - die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" - fi - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die - - # Write API keys to disk - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die - - xdg_environment_reset -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # Set MOZILLA_FIVE_HOME - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - - # python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-application=browser - mozconfig_add_options_ac '' --enable-project=browser - - # Set Gentoo defaults - if use telemetry; then - export MOZILLA_OFFICIAL=1 - fi - - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-gpsd \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-valgrind \ - --disable-wmf \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list. - # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), - # bgo#937867. - use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - fi - - local myaudiobackends="" - use jack && myaudiobackends+="jack," - use sndio && myaudiobackends+="sndio," - use pulseaudio && myaudiobackends+="pulseaudio," - ! use pulseaudio && myaudiobackends+="alsa," - - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" - - mozconfig_use_enable wifi necko-wifi - - ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build - - if use X && use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - elif ! use X && use wayland ; then - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only - else - mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only - fi - - # LTO is handled via configure - filter-lto - - if use lto ; then - if use clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - fi - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409. - # mold does not support gcc+lto combination. - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # lld is upstream's default - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - fi - - else - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd - fi - fi - fi - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing - - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # Allow elfhack to work in combination with unstripped binaries - # when they would normally be larger than 2GiB. - append-ldflags "-Wl,--compress-debug-sections=zlib" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - if ! use telemetry; then - mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" - fi - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; 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." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - - # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/vaapitest - - # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) - if use arm64 ; then - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/v4l2test - fi - fi - - if ! use gmp-autoupdate ; then - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - einfo "Disabling auto-update for ${plugin} plugin ..." - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" - pref("media.${plugin}.autoupdate", false); - EOF - done - fi - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Add telemetry config prefs, just in case something happens in future and telemetry build - # options stop working. - if ! use telemetry ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" - sticky_pref("toolkit.telemetry.dap_enabled", false); - pref("toolkit.telemetry.dap_helper", ""); - pref("toolkit.telemetry.dap_leader", ""); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install icons - local icon_srcdir="${S}/browser/branding/official" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if [[ -n ${MOZ_ESR} ]] ; then - local desktop_filename="${PN}-esr.desktop" - else - local desktop_filename="${PN}.desktop" - fi - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - if use gnome-shell ; then - # Install search provider for Gnome - insinto /usr/share/gnome-shell/search-providers/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini - - insinto /usr/share/dbus-1/services/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service - - # Toggle between rapid and esr desktop file names - sed -e "s/firefox.desktop/${desktop_filename}/g" \ - -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || - die "Failed to sed org.mozilla.firefox.search-provider.ini file." - - # Make the dbus service aware of a previous session, bgo#939196 - sed -e \ - "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ - -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || - die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" - - # Update prefs to enable Gnome search provider - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" - pref("browser.gnome-search-provider.enabled", true); - EOF - fi - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die - - readme.gentoo_create_doc -} - -pkg_preinst() { - xdg_pkg_preinst - - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse - # does not need to be forced into the LD_LIBRARY_PATH - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - einfo "APULSE found; Generating library symlinks for sound support ..." - local lib - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do - # A quickpkg rolled by hand will grab symlinks as part of the package, - # so we need to avoid creating them if they already exist. - if [[ ! -L ${lib##*/} ]] ; then - ln -s "${lib}" ${lib##*/} || die - fi - done - popd &>/dev/null || die - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - elog "Apulse was detected at merge time on this system and so it will always be" - elog "used for sound. If you wish to use pulseaudio instead please unmerge" - elog "media-sound/apulse." - elog - fi - - # bug 835078 - if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then - ewarn "You have nouveau drivers installed in your system and 'hwaccel' " - ewarn "enabled for Firefox. Nouveau / your GPU might not support the " - ewarn "required EGL, so either disable 'hwaccel' or try the workaround " - ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." - fi - - readme.gentoo_print_elog - - optfeature_header "Optional programs for extra features:" - optfeature "desktop notifications" x11-libs/libnotify - optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas - optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal - if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then - optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver - fi - - if ! has_version "sys-libs/glibc"; then - elog - elog "glibc not found! You won't be able to play DRM content." - elog "See Gentoo bug #910309 or upstream bug #1843683." - elog - fi -} diff --git a/www-client/firefox/firefox-128.4.0-r1.ebuild b/www-client/firefox/firefox-128.4.0-r1.ebuild new file mode 100644 index 000000000000..1c04269f3aa9 --- /dev/null +++ b/www-client/firefox/firefox-128.4.0-r1.ebuild @@ -0,0 +1,1333 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-128esr-patches-04.tar.xz" + +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" + +MOZ_ESR=yes + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +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-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}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +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+=" pulseaudio selinux sndio +system-av1 +system-harfbuzz +system-icu +system-jpeg" +IUSE+=" +system-libevent +system-libvpx system-png +system-webp +telemetry wayland wifi +X" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + pgo? ( lto ) + wayland? ( dbus ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(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.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! 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 + 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 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + 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 + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + 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 }') + [[ -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})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if use lto; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + # Make ICU respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" + + # Respect MAKEOPTS all around (maybe some find+sed is better) + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-gpsd \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-valgrind \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list. + # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), + # bgo#937867. + use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + 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 clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if tc-ld-is-mold && use lto; 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." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/firefox/firefox-128.4.0.ebuild b/www-client/firefox/firefox-128.4.0.ebuild deleted file mode 100644 index 2bba7a648bda..000000000000 --- a/www-client/firefox/firefox-128.4.0.ebuild +++ /dev/null @@ -1,1338 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-128esr-patches-04.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR=yes - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -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/" - SLOT="esr" -else - HOMEPAGE="https://www.mozilla.com/firefox" - SLOT="rapid" -fi - -MOZ_PN="${PN%-bin}" -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -DESCRIPTION="Firefox Web Browser" -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" -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+=" pulseaudio selinux sndio +system-av1 +system-harfbuzz +system-icu +system-jpeg" -IUSE+=" +system-libevent +system-libvpx system-png +system-webp +telemetry wayland wifi +X" - -# Firefox-only IUSE -IUSE+=" +gmp-autoupdate gnome-shell" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - wayland? ( dbus ) - wifi? ( dbus )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - 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] ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=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? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - &2 - return 1 - fi - - if use clang && ! 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 - 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 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -# Firefox-only LANGS -MOZ_LANGS+=( ach ) -MOZ_LANGS+=( an ) -MOZ_LANGS+=( az ) -MOZ_LANGS+=( bn ) -MOZ_LANGS+=( bs ) -MOZ_LANGS+=( ca-valencia ) -MOZ_LANGS+=( eo ) -MOZ_LANGS+=( es-CL ) -MOZ_LANGS+=( es-MX ) -MOZ_LANGS+=( fa ) -MOZ_LANGS+=( ff ) -MOZ_LANGS+=( fur ) -MOZ_LANGS+=( gn ) -MOZ_LANGS+=( gu-IN ) -MOZ_LANGS+=( hi-IN ) -MOZ_LANGS+=( hy-AM ) -MOZ_LANGS+=( ia ) -MOZ_LANGS+=( km ) -MOZ_LANGS+=( kn ) -MOZ_LANGS+=( lij ) -MOZ_LANGS+=( mk ) -MOZ_LANGS+=( mr ) -MOZ_LANGS+=( my ) -MOZ_LANGS+=( ne-NP ) -MOZ_LANGS+=( oc ) -MOZ_LANGS+=( sc ) -MOZ_LANGS+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( skr ) -MOZ_LANGS+=( son ) -MOZ_LANGS+=( szl ) -MOZ_LANGS+=( ta ) -MOZ_LANGS+=( te ) -MOZ_LANGS+=( tl ) -MOZ_LANGS+=( trs ) -MOZ_LANGS+=( ur ) -MOZ_LANGS+=( xh ) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -virtwl() { - debug-print-function ${FUNCNAME} "$@" - - [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" - [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" - tinywl -h >/dev/null || die 'tinywl -h failed' - - local VIRTWL VIRTWL_PID - coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } - local -x WAYLAND_DISPLAY - read WAYLAND_DISPLAY <&${VIRTWL[0]} - - debug-print "${FUNCNAME}: $@" - "$@" - local r=$? - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- - return $r -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - 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 - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - 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})!" - fi - fi - - python-any-r1_pkg_setup - - # Avoid PGO profiling problems due to enviroment leakage - # These should *always* be cleaned up anyway - unset \ - DBUS_SESSION_BUS_ADDRESS \ - DISPLAY \ - ORBIT_SOCKETDIR \ - SESSION_MANAGER \ - XAUTHORITY \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if use pgo ; then - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage - # (PORTAGE_SCHEDULING_POLICY) update... - addpredict /proc - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi - - CONFIG_CHECK="~SECCOMP" - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." - linux-info_pkg_setup -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - unpack ${_src_file} - fi - done -} - -src_prepare() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}/firefox-patches" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - elif use arm64 ; then - export RUST_TARGET="aarch64-unknown-linux-musl" - elif use ppc64 ; then - export RUST_TARGET="powerpc64le-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - # Make ICU respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/intl/icu_sources_data.py || die "Failed sedding multiprocessing.cpu_count" - - # Respect MAKEOPTS all around (maybe some find+sed is better) - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/base.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/python/mozbuild/mozbuild/code_analysis/mach_commands.py || die "Failed sedding multiprocessing.cpu_count" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" - - sed -i \ - -e 's/ccache_stats = None/return None/' \ - "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" - - einfo "Removing pre-built binaries ..." - - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # Respect choice for "jumbo-build" - # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 - if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then - local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} - elog "" - elog "jumbo-build defaults modified to ${my_files_per_unified_file}." - elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," - elog "if that fails try -jumbo-build before opening a bug report." - elog "" - - sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ - python/mozbuild/mozbuild/frontend/data.py || - die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" - sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ - js/src/moz.build || - die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" - fi - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die - - # Write API keys to disk - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die - - xdg_environment_reset -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # Set MOZILLA_FIVE_HOME - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - - # python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-application=browser - mozconfig_add_options_ac '' --enable-project=browser - - # Set Gentoo defaults - if use telemetry; then - export MOZILLA_OFFICIAL=1 - fi - - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-gpsd \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-valgrind \ - --disable-wmf \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly, since it's not activated automatically via "known arches" list. - # Update 128.1.0: Disable jit on riscv (this line can be blanked to disable by default), - # bgo#937867. - use riscv && mozconfig_add_options_ac 'Disable JIT for RISC-V 64' --disable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - fi - - local myaudiobackends="" - use jack && myaudiobackends+="jack," - use sndio && myaudiobackends+="sndio," - use pulseaudio && myaudiobackends+="pulseaudio," - ! use pulseaudio && myaudiobackends+="alsa," - - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" - - mozconfig_use_enable wifi necko-wifi - - ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build - - if use X && use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - elif ! use X && use wayland ; then - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only - else - 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 clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - fi - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409. - # mold does not support gcc+lto combination. - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # lld is upstream's default - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - fi - - else - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd - fi - fi - fi - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing - - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - if ! use telemetry; then - mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" - fi - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; 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." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - - # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/vaapitest - - # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) - if use arm64 ; then - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/v4l2test - fi - fi - - if ! use gmp-autoupdate ; then - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - einfo "Disabling auto-update for ${plugin} plugin ..." - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" - pref("media.${plugin}.autoupdate", false); - EOF - done - fi - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Add telemetry config prefs, just in case something happens in future and telemetry build - # options stop working. - if ! use telemetry ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" - sticky_pref("toolkit.telemetry.dap_enabled", false); - pref("toolkit.telemetry.dap_helper", ""); - pref("toolkit.telemetry.dap_leader", ""); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install icons - local icon_srcdir="${S}/browser/branding/official" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if [[ -n ${MOZ_ESR} ]] ; then - local desktop_filename="${PN}-esr.desktop" - else - local desktop_filename="${PN}.desktop" - fi - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - if use gnome-shell ; then - # Install search provider for Gnome - insinto /usr/share/gnome-shell/search-providers/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini - - insinto /usr/share/dbus-1/services/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service - - # Toggle between rapid and esr desktop file names - sed -e "s/firefox.desktop/${desktop_filename}/g" \ - -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || - die "Failed to sed org.mozilla.firefox.search-provider.ini file." - - # Make the dbus service aware of a previous session, bgo#939196 - sed -e \ - "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ - -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || - die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" - - # Update prefs to enable Gnome search provider - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" - pref("browser.gnome-search-provider.enabled", true); - EOF - fi - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die - - readme.gentoo_create_doc -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - # bug 835078 - if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then - ewarn "You have nouveau drivers installed in your system and 'hwaccel' " - ewarn "enabled for Firefox. Nouveau / your GPU might not support the " - ewarn "required EGL, so either disable 'hwaccel' or try the workaround " - ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." - fi - - readme.gentoo_print_elog - - optfeature_header "Optional programs for extra features:" - optfeature "desktop notifications" x11-libs/libnotify - optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas - optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal - if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then - optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver - fi - - if ! has_version "sys-libs/glibc"; then - elog - elog "glibc not found! You won't be able to play DRM content." - elog "See Gentoo bug #910309 or upstream bug #1843683." - elog - fi -} diff --git a/www-client/firefox/firefox-131.0.3-r1.ebuild b/www-client/firefox/firefox-131.0.3-r1.ebuild new file mode 100644 index 000000000000..6280f02fdc49 --- /dev/null +++ b/www-client/firefox/firefox-131.0.3-r1.ebuild @@ -0,0 +1,1364 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +FIREFOX_PATCHSET="firefox-131-patches-01.tar.xz" + +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" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +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-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}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +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+=" 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" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell" + +# !jumbo-build? ( clang ) -> bmo#1914774, bgo#939004 - causes seemingly random compile crashes with gcc. +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + !jumbo-build? ( clang ) + pgo? ( lto ) + wayland? ( dbus ) + wifi? ( dbus )" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(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.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! 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 + 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 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || use lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + 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 + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + 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 }') + [[ -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})!" + fi + fi + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + export LC_ALL=C + fi + + CONFIG_CHECK="~SECCOMP" + WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." + linux-info_pkg_setup +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if use lto; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + # LTO is handled via configure + filter-lto + + if use lto ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Allow elfhack to work in combination with unstripped binaries + # when they would normally be larger than 2GiB. + append-ldflags "-Wl,--compress-debug-sections=zlib" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + if tc-ld-is-mold && use lto; 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." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ + -e "s:@APULSELIB_DIR@:${apulselib}:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_preinst() { + xdg_pkg_preinst + + # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse + # does not need to be forced into the LD_LIBRARY_PATH + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + einfo "APULSE found; Generating library symlinks for sound support ..." + local lib + pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die + for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do + # A quickpkg rolled by hand will grab symlinks as part of the package, + # so we need to avoid creating them if they already exist. + if [[ ! -L ${lib##*/} ]] ; then + ln -s "${lib}" ${lib##*/} || die + fi + done + popd &>/dev/null || die + fi +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then + elog "Apulse was detected at merge time on this system and so it will always be" + elog "used for sound. If you wish to use pulseaudio instead please unmerge" + elog "media-sound/apulse." + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/firefox/firefox-131.0.3.ebuild b/www-client/firefox/firefox-131.0.3.ebuild deleted file mode 100644 index e746e07abc33..000000000000 --- a/www-client/firefox/firefox-131.0.3.ebuild +++ /dev/null @@ -1,1369 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-131-patches-01.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR= - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -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/" - SLOT="esr" -else - HOMEPAGE="https://www.mozilla.com/firefox" - SLOT="rapid" -fi - -MOZ_PN="${PN%-bin}" -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -DESCRIPTION="Firefox Web Browser" -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" -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+=" 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" - -# Firefox-only IUSE -IUSE+=" +gmp-autoupdate gnome-shell" - -# !jumbo-build? ( clang ) -> bmo#1914774, bgo#939004 - causes seemingly random compile crashes with gcc. -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - !jumbo-build? ( clang ) - pgo? ( lto ) - wayland? ( dbus ) - wifi? ( dbus )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - 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] ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=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? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - &2 - return 1 - fi - - if use clang && ! 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 - 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 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -# Firefox-only LANGS -MOZ_LANGS+=( ach ) -MOZ_LANGS+=( an ) -MOZ_LANGS+=( az ) -MOZ_LANGS+=( bn ) -MOZ_LANGS+=( bs ) -MOZ_LANGS+=( ca-valencia ) -MOZ_LANGS+=( eo ) -MOZ_LANGS+=( es-CL ) -MOZ_LANGS+=( es-MX ) -MOZ_LANGS+=( fa ) -MOZ_LANGS+=( ff ) -MOZ_LANGS+=( fur ) -MOZ_LANGS+=( gn ) -MOZ_LANGS+=( gu-IN ) -MOZ_LANGS+=( hi-IN ) -MOZ_LANGS+=( hy-AM ) -MOZ_LANGS+=( ia ) -MOZ_LANGS+=( km ) -MOZ_LANGS+=( kn ) -MOZ_LANGS+=( lij ) -MOZ_LANGS+=( mk ) -MOZ_LANGS+=( mr ) -MOZ_LANGS+=( my ) -MOZ_LANGS+=( ne-NP ) -MOZ_LANGS+=( oc ) -MOZ_LANGS+=( sc ) -MOZ_LANGS+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( skr ) -MOZ_LANGS+=( son ) -MOZ_LANGS+=( szl ) -MOZ_LANGS+=( ta ) -MOZ_LANGS+=( te ) -MOZ_LANGS+=( tl ) -MOZ_LANGS+=( trs ) -MOZ_LANGS+=( ur ) -MOZ_LANGS+=( xh ) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -virtwl() { - debug-print-function ${FUNCNAME} "$@" - - [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" - [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" - tinywl -h >/dev/null || die 'tinywl -h failed' - - local VIRTWL VIRTWL_PID - coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } - local -x WAYLAND_DISPLAY - read WAYLAND_DISPLAY <&${VIRTWL[0]} - - debug-print "${FUNCNAME}: $@" - "$@" - local r=$? - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- - return $r -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - 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 - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - 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})!" - fi - fi - - python-any-r1_pkg_setup - - # Avoid PGO profiling problems due to enviroment leakage - # These should *always* be cleaned up anyway - unset \ - DBUS_SESSION_BUS_ADDRESS \ - DISPLAY \ - ORBIT_SOCKETDIR \ - SESSION_MANAGER \ - XAUTHORITY \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if use pgo ; then - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage - # (PORTAGE_SCHEDULING_POLICY) update... - addpredict /proc - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi - - CONFIG_CHECK="~SECCOMP" - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." - linux-info_pkg_setup -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - unpack ${_src_file} - fi - done -} - -src_prepare() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}/firefox-patches" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - elif use arm64 ; then - export RUST_TARGET="aarch64-unknown-linux-musl" - elif use ppc64 ; then - export RUST_TARGET="powerpc64le-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" - - sed -i \ - -e 's/ccache_stats = None/return None/' \ - "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" - - einfo "Removing pre-built binaries ..." - - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # Respect choice for "jumbo-build" - # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 - if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then - local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} - elog "" - elog "jumbo-build defaults modified to ${my_files_per_unified_file}." - elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," - elog "if that fails try -jumbo-build before opening a bug report." - elog "" - - sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ - python/mozbuild/mozbuild/frontend/data.py || - die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" - sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ - js/src/moz.build || - die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" - fi - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die - - # Write API keys to disk - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die - - xdg_environment_reset -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # Set MOZILLA_FIVE_HOME - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - - # python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-application=browser - mozconfig_add_options_ac '' --enable-project=browser - - # Set Gentoo defaults - if use telemetry; then - export MOZILLA_OFFICIAL=1 - fi - - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-wmf \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - elif use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly - # Can be removed once upstream enable it by default in the future. - use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - mozconfig_use_enable valgrind - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - fi - - local myaudiobackends="" - use jack && myaudiobackends+="jack," - use sndio && myaudiobackends+="sndio," - use pulseaudio && myaudiobackends+="pulseaudio," - ! use pulseaudio && myaudiobackends+="alsa," - - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" - - mozconfig_use_enable wifi necko-wifi - - ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build - - if use X && use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - elif ! use X && use wayland ; then - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only - else - mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only - fi - - # LTO is handled via configure - filter-lto - - if use lto ; then - if use clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - fi - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409. - # mold does not support gcc+lto combination. - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # lld is upstream's default - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - fi - - else - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd - fi - fi - fi - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing - - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - if use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # Allow elfhack to work in combination with unstripped binaries - # when they would normally be larger than 2GiB. - append-ldflags "-Wl,--compress-debug-sections=zlib" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - if ! use telemetry; then - mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" - fi - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - if use valgrind; then - sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die - fi - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; 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." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - - # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/vaapitest - - # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) - if use arm64 ; then - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/v4l2test - fi - fi - - if ! use gmp-autoupdate ; then - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - einfo "Disabling auto-update for ${plugin} plugin ..." - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" - pref("media.${plugin}.autoupdate", false); - EOF - done - fi - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Add telemetry config prefs, just in case something happens in future and telemetry build - # options stop working. - if ! use telemetry ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" - sticky_pref("toolkit.telemetry.dap_enabled", false); - pref("toolkit.telemetry.dap_helper", ""); - pref("toolkit.telemetry.dap_leader", ""); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install icons - local icon_srcdir="${S}/browser/branding/official" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if [[ -n ${MOZ_ESR} ]] ; then - local desktop_filename="${PN}-esr.desktop" - else - local desktop_filename="${PN}.desktop" - fi - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - if use gnome-shell ; then - # Install search provider for Gnome - insinto /usr/share/gnome-shell/search-providers/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini - - insinto /usr/share/dbus-1/services/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service - - # Toggle between rapid and esr desktop file names - sed -e "s/firefox.desktop/${desktop_filename}/g" \ - -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || - die "Failed to sed org.mozilla.firefox.search-provider.ini file." - - # Make the dbus service aware of a previous session, bgo#939196 - sed -e \ - "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ - -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || - die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" - - # Update prefs to enable Gnome search provider - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" - pref("browser.gnome-search-provider.enabled", true); - EOF - fi - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@MOZ_FIVE_HOME@:${MOZILLA_FIVE_HOME}:" \ - -e "s:@APULSELIB_DIR@:${apulselib}:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die - - readme.gentoo_create_doc -} - -pkg_preinst() { - xdg_pkg_preinst - - # If the apulse libs are available in MOZILLA_FIVE_HOME then apulse - # does not need to be forced into the LD_LIBRARY_PATH - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - einfo "APULSE found; Generating library symlinks for sound support ..." - local lib - pushd "${ED}${MOZILLA_FIVE_HOME}" &>/dev/null || die - for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do - # A quickpkg rolled by hand will grab symlinks as part of the package, - # so we need to avoid creating them if they already exist. - if [[ ! -L ${lib##*/} ]] ; then - ln -s "${lib}" ${lib##*/} || die - fi - done - popd &>/dev/null || die - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - if use pulseaudio && has_version ">=media-sound/apulse-0.1.12-r4" ; then - elog "Apulse was detected at merge time on this system and so it will always be" - elog "used for sound. If you wish to use pulseaudio instead please unmerge" - elog "media-sound/apulse." - elog - fi - - # bug 835078 - if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then - ewarn "You have nouveau drivers installed in your system and 'hwaccel' " - ewarn "enabled for Firefox. Nouveau / your GPU might not support the " - ewarn "required EGL, so either disable 'hwaccel' or try the workaround " - ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." - fi - - readme.gentoo_print_elog - - optfeature_header "Optional programs for extra features:" - optfeature "desktop notifications" x11-libs/libnotify - optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas - optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal - if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then - optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver - fi - - if ! has_version "sys-libs/glibc"; then - elog - elog "glibc not found! You won't be able to play DRM content." - elog "See Gentoo bug #910309 or upstream bug #1843683." - elog - fi -} diff --git a/www-client/firefox/firefox-132.0-r1.ebuild b/www-client/firefox/firefox-132.0-r1.ebuild new file mode 100644 index 000000000000..f99bf2798680 --- /dev/null +++ b/www-client/firefox/firefox-132.0-r1.ebuild @@ -0,0 +1,1338 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +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" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +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-r1 multiprocessing \ + 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}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +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 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" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell" + +# !jumbo-build? ( clang ) -> bmo#1914774, bgo#939004 - causes seemingly random compile crashes with gcc. +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + !jumbo-build? ( clang ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(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.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! 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 + 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 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || tc-is-lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +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_lto} == "yes" ]] || use pgo || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm-r1_pkg_setup + 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 + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + 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 +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} = "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + if [[ ${use_lto} = "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + 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." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/firefox/firefox-132.0.1-r1.ebuild b/www-client/firefox/firefox-132.0.1-r1.ebuild new file mode 100644 index 000000000000..3c8bc526fd20 --- /dev/null +++ b/www-client/firefox/firefox-132.0.1-r1.ebuild @@ -0,0 +1,1336 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +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" + +WANT_AUTOCONF="2.1" + +VIRTUALX_REQUIRED="manual" + +MOZ_ESR= + +MOZ_PV=${PV} +MOZ_PV_SUFFIX= +if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then + MOZ_PV_SUFFIX=${BASH_REMATCH[1]} + + # Convert the ebuild version to the upstream Mozilla version + MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI + MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI + MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI +fi + +if [[ -n ${MOZ_ESR} ]] ; then + # ESR releases have slightly different version numbers + MOZ_PV="${MOZ_PV}esr" + HOMEPAGE="https://www.mozilla.org/firefox https://www.mozilla.org/firefox/enterprise/" + SLOT="esr" +else + HOMEPAGE="https://www.mozilla.org/firefox" + SLOT="rapid" +fi + +MOZ_PN="${PN%-bin}" +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-r1 multiprocessing \ + 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}" + +if [[ ${PV} == *_rc* ]] ; then + MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" +fi + +PATCH_URIS=( + https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} +) + +DESCRIPTION="Firefox Web Browser" +SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz + ${PATCH_URIS[@]}" +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 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" + +# Firefox-only IUSE +IUSE+=" +gmp-autoupdate gnome-shell" + +REQUIRED_USE="|| ( X wayland ) + debug? ( !system-av1 ) + wayland? ( dbus ) + wifi? ( dbus ) +" + +FF_ONLY_DEPEND="!www-client/firefox:0 + selinux? ( sec-policy/selinux-mozilla )" +BDEPEND="${PYTHON_DEPS} + $(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.26.0 + net-libs/nodejs + virtual/pkgconfig + amd64? ( >=dev-lang/nasm-2.14 ) + x86? ( >=dev-lang/nasm-2.14 ) + pgo? ( + X? ( + sys-devel/gettext + x11-base/xorg-server[xvfb] + x11-apps/xhost + ) + !X? ( + || ( + gui-wm/tinywl + &2 + return 1 + fi + + if use clang && ! 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 + 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 + einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 + return 1 + fi + fi + fi + + einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 +} + +MOZ_LANGS=( + af ar ast be bg br ca cak cs cy da de dsb + el en-CA en-GB en-US es-AR es-ES et eu + fi fr fy-NL ga-IE gd gl he hr hsb hu + id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO + pa-IN pl pt-BR pt-PT rm ro ru + sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW +) + +# Firefox-only LANGS +MOZ_LANGS+=( ach ) +MOZ_LANGS+=( an ) +MOZ_LANGS+=( az ) +MOZ_LANGS+=( bn ) +MOZ_LANGS+=( bs ) +MOZ_LANGS+=( ca-valencia ) +MOZ_LANGS+=( eo ) +MOZ_LANGS+=( es-CL ) +MOZ_LANGS+=( es-MX ) +MOZ_LANGS+=( fa ) +MOZ_LANGS+=( ff ) +MOZ_LANGS+=( fur ) +MOZ_LANGS+=( gn ) +MOZ_LANGS+=( gu-IN ) +MOZ_LANGS+=( hi-IN ) +MOZ_LANGS+=( hy-AM ) +MOZ_LANGS+=( ia ) +MOZ_LANGS+=( km ) +MOZ_LANGS+=( kn ) +MOZ_LANGS+=( lij ) +MOZ_LANGS+=( mk ) +MOZ_LANGS+=( mr ) +MOZ_LANGS+=( my ) +MOZ_LANGS+=( ne-NP ) +MOZ_LANGS+=( oc ) +MOZ_LANGS+=( sc ) +MOZ_LANGS+=( sco ) +MOZ_LANGS+=( si ) +MOZ_LANGS+=( skr ) +MOZ_LANGS+=( son ) +MOZ_LANGS+=( szl ) +MOZ_LANGS+=( ta ) +MOZ_LANGS+=( te ) +MOZ_LANGS+=( tl ) +MOZ_LANGS+=( trs ) +MOZ_LANGS+=( ur ) +MOZ_LANGS+=( xh ) + +mozilla_set_globals() { + # https://bugs.gentoo.org/587334 + local MOZ_TOO_REGIONALIZED_FOR_L10N=( + fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE + ) + + local lang xflag + for lang in "${MOZ_LANGS[@]}" ; do + # en and en_US are handled internally + if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then + continue + fi + + # strip region subtag if $lang is in the list + if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then + xflag=${lang%%-*} + else + xflag=${lang} + fi + + SRC_URI+=" l10n_${xflag/[_@]/-}? (" + SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" + SRC_URI+=" )" + IUSE+=" l10n_${xflag/[_@]/-}" + done +} +mozilla_set_globals + +moz_clear_vendor_checksums() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -ne 1 ]] ; then + die "${FUNCNAME} requires exact one argument" + fi + + einfo "Clearing cargo checksums for ${1} ..." + + sed -i \ + -e 's/\("files":{\)[^}]*/\1/' \ + "${S}"/third_party/rust/${1}/.cargo-checksum.json || die +} + +moz_install_xpi() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local DESTDIR=${1} + shift + + insinto "${DESTDIR}" + + local emid xpi_file xpi_tmp_dir + for xpi_file in "${@}" ; do + emid= + xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") + + # Unpack XPI + unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die + + # Determine extension ID + if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then + emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") + [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" + elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then + emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") + [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" + else + die "failed to determine extension id" + fi + + einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." + newins "${xpi_file}" "${emid}.xpi" + done +} + +mozconfig_add_options_ac() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_add_options_mk() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 2 ]] ; then + die "${FUNCNAME} requires at least two arguments" + fi + + local reason=${1} + shift + + local option + for option in ${@} ; do + echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} + done +} + +mozconfig_use_enable() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_enable "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +mozconfig_use_with() { + debug-print-function ${FUNCNAME} "$@" + + if [[ ${#} -lt 1 ]] ; then + die "${FUNCNAME} requires at least one arguments" + fi + + local flag=$(use_with "${@}") + mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" +} + +virtwl() { + debug-print-function ${FUNCNAME} "$@" + + [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" + [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" + tinywl -h >/dev/null || die 'tinywl -h failed' + + local VIRTWL VIRTWL_PID + coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } + local -x WAYLAND_DISPLAY + read WAYLAND_DISPLAY <&${VIRTWL[0]} + + debug-print "${FUNCNAME}: $@" + "$@" + local r=$? + + [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" + exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- + return $r +} + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]] ; then + if use pgo ; then + if ! has usersandbox $FEATURES ; then + die "You must enable usersandbox as X server can not run as root!" + fi + fi + + # Ensure we have enough disk space to compile + if use pgo || tc-is-lto || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6600M" + fi + + check-reqs_pkg_pretend + fi +} + +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_lto} == "yes" ]] || use pgo || use debug ; then + CHECKREQS_DISK_BUILD="13500M" + else + CHECKREQS_DISK_BUILD="6400M" + fi + + check-reqs_pkg_setup + + llvm-r1_pkg_setup + 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 + + python-any-r1_pkg_setup + + # Avoid PGO profiling problems due to enviroment leakage + # These should *always* be cleaned up anyway + unset \ + DBUS_SESSION_BUS_ADDRESS \ + DISPLAY \ + ORBIT_SOCKETDIR \ + SESSION_MANAGER \ + XAUTHORITY \ + XDG_CACHE_HOME \ + XDG_SESSION_COOKIE + + # Build system is using /proc/self/oom_score_adj, bug #604394 + addpredict /proc/self/oom_score_adj + + if use pgo ; then + # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure + # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage + # (PORTAGE_SCHEDULING_POLICY) update... + addpredict /proc + + # Clear tons of conditions, since PGO is hardware-dependant. + addpredict /dev + fi + + if ! mountpoint -q /dev/shm ; then + # If /dev/shm is not available, configure is known to fail with + # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py + ewarn "/dev/shm is not mounted -- expect build failures!" + fi + + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then + MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" + fi + + if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then + MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" + fi + + # Mozilla API keys (see https://location.services.mozilla.com/api) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then + MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" + fi + + # Ensure we use C locale when building, bug #746215 + 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 +} + +src_unpack() { + local _lp_dir="${WORKDIR}/language_packs" + local _src_file + + if [[ ! -d "${_lp_dir}" ]] ; then + mkdir "${_lp_dir}" || die + fi + + for _src_file in ${A} ; do + if [[ ${_src_file} == *.xpi ]]; then + cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" + else + unpack ${_src_file} + fi + done +} + +src_prepare() { + if [[ ${use_lto} = "yes" ]]; then + rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die + fi + + # Workaround for bgo#917599 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch + fi + rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die + + # Workaround for bgo#915651 on musl + if use elibc_glibc ; then + rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die + fi + + eapply "${WORKDIR}/firefox-patches" + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Make cargo respect MAKEOPTS + export CARGO_BUILD_JOBS="$(makeopts_jobs)" + + # Workaround for bgo#915651 + if ! use elibc_glibc ; then + if use amd64 ; then + export RUST_TARGET="x86_64-unknown-linux-musl" + elif use x86 ; then + export RUST_TARGET="i686-unknown-linux-musl" + elif use arm64 ; then + export RUST_TARGET="aarch64-unknown-linux-musl" + elif use ppc64 ; then + export RUST_TARGET="powerpc64le-unknown-linux-musl" + else + die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" + fi + fi + + # Make LTO respect MAKEOPTS + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || + die "Failed sedding multiprocessing.cpu_count" + + sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ + "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" + + # sed-in toolchain prefix + sed -i \ + -e "s/objdump/${CHOST}-objdump/" \ + "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" + + sed -i \ + -e 's/ccache_stats = None/return None/' \ + "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" + + einfo "Removing pre-built binaries ..." + + find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die + + # Clear checksums from cargo crates we've manually patched. + # moz_clear_vendor_checksums xyz + + # Respect choice for "jumbo-build" + # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 + if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then + local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} + elog "" + elog "jumbo-build defaults modified to ${my_files_per_unified_file}." + elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," + elog "if that fails try -jumbo-build before opening a bug report." + elog "" + + sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ + python/mozbuild/mozbuild/frontend/data.py || + die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" + sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ + js/src/moz.build || + die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" + fi + + # Create build dir + BUILD_DIR="${WORKDIR}/${PN}_build" + mkdir -p "${BUILD_DIR}" || die + + # Write API keys to disk + echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die + echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die + echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die + + xdg_environment_reset +} + +src_configure() { + # Show flags set at the beginning + einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + local have_switched_compiler= + if use clang; then + # Force clang + einfo "Enforcing the use of clang due to USE=clang ..." + + local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') + [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") + [[ -z ${version_clang} ]] && die "Failed to read clang version!" + + if tc-is-gcc; then + have_switched_compiler=yes + fi + + AR=llvm-ar + CC=${CHOST}-clang-${version_clang} + CXX=${CHOST}-clang++-${version_clang} + NM=llvm-nm + RANLIB=llvm-ranlib + elif ! use clang && ! tc-is-gcc ; then + # Force gcc + have_switched_compiler=yes + einfo "Enforcing the use of gcc due to USE=-clang ..." + AR=gcc-ar + CC=${CHOST}-gcc + CXX=${CHOST}-g++ + NM=gcc-nm + RANLIB=gcc-ranlib + fi + + if [[ -n "${have_switched_compiler}" ]] ; then + # Because we switched active compiler we have to ensure + # that no unsupported flags are set + strip-unsupported-flags + fi + + # Ensure we use correct toolchain, + # AS is used in a non-standard way by upstream, #bmo1654031 + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + export AS="$(tc-getCC) -c" + + # Configuration tests expect llvm-readelf output, bug 913130 + READELF="llvm-readelf" + + tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG + + # Pass the correct toolchain paths through cbindgen + if tc-is-cross-compiler ; then + export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" + fi + + # Set MOZILLA_FIVE_HOME + export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + + # python/mach/mach/mixin/process.py fails to detect SHELL + export SHELL="${EPREFIX}/bin/bash" + + # Set state path + export MOZBUILD_STATE_PATH="${BUILD_DIR}" + + # Set MOZCONFIG + export MOZCONFIG="${S}/.mozconfig" + + # Initialize MOZCONFIG + mozconfig_add_options_ac '' --enable-application=browser + mozconfig_add_options_ac '' --enable-project=browser + + # Set Gentoo defaults + if use telemetry; then + export MOZILLA_OFFICIAL=1 + fi + + mozconfig_add_options_ac 'Gentoo default' \ + --allow-addon-sideload \ + --disable-cargo-incremental \ + --disable-crashreporter \ + --disable-disk-remnant-avoidance \ + --disable-geckodriver \ + --disable-install-strip \ + --disable-legacy-profile-creation \ + --disable-parental-controls \ + --disable-strip \ + --disable-tests \ + --disable-updater \ + --disable-wmf \ + --enable-negotiateauth \ + --enable-new-pass-manager \ + --enable-official-branding \ + --enable-release \ + --enable-system-ffi \ + --enable-system-pixman \ + --enable-system-policies \ + --host="${CBUILD:-${CHOST}}" \ + --libdir="${EPREFIX}/usr/$(get_libdir)" \ + --prefix="${EPREFIX}/usr" \ + --target="${CHOST}" \ + --without-ccache \ + --without-wasm-sandboxed-libraries \ + --with-intl-api \ + --with-libclang-path="$(llvm-config --libdir)" \ + --with-system-nspr \ + --with-system-nss \ + --with-system-zlib \ + --with-toolchain-prefix="${CHOST}-" \ + --with-unsigned-addon-scopes=app,system \ + --x-includes="${ESYSROOT}/usr/include" \ + --x-libraries="${ESYSROOT}/usr/$(get_libdir)" + + # Set update channel + local update_channel=release + [[ -n ${MOZ_ESR} ]] && update_channel=esr + mozconfig_add_options_ac '' --update-channel=${update_channel} + + if ! use x86 ; then + mozconfig_add_options_ac '' --enable-rust-simd + fi + + # For future keywording: This is currently (97.0) only supported on: + # amd64, arm, arm64 & x86. + # Might want to flip the logic around if Firefox is to support more arches. + # bug 833001, bug 903411#c8 + if use ppc64 || use riscv; then + mozconfig_add_options_ac '' --disable-sandbox + elif use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox + else + mozconfig_add_options_ac '' --enable-sandbox + fi + + # Enable JIT on riscv64 explicitly + # Can be removed once upstream enable it by default in the future. + use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit + + if [[ -s "${S}/api-google.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-safebrowsing-api-keyfile="${S}/api-google.key" + else + einfo "Building without Google API key ..." + fi + + if [[ -s "${S}/api-location.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-google-location-service-api-keyfile="${S}/api-location.key" + else + einfo "Building without Location API key ..." + fi + + if [[ -s "${S}/api-mozilla.key" ]] ; then + local key_origin="Gentoo default" + if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then + key_origin="User value" + fi + + mozconfig_add_options_ac "${key_origin}" \ + --with-mozilla-api-keyfile="${S}/api-mozilla.key" + else + einfo "Building without Mozilla API key ..." + fi + + mozconfig_use_with system-av1 + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-icu + mozconfig_use_with system-jpeg + mozconfig_use_with system-libevent + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-webp + + mozconfig_use_enable dbus + mozconfig_use_enable libproxy + mozconfig_use_enable valgrind + + use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme + + if use hardened ; then + mozconfig_add_options_ac "+hardened" --enable-hardening + append-ldflags "-Wl,-z,relro -Wl,-z,now" + + # Increase the FORTIFY_SOURCE value, #910071. + sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die + fi + + local myaudiobackends="" + use jack && myaudiobackends+="jack," + use sndio && myaudiobackends+="sndio," + use pulseaudio && myaudiobackends+="pulseaudio," + ! use pulseaudio && myaudiobackends+="alsa," + + mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" + + mozconfig_use_enable wifi necko-wifi + + ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build + + if use X && use wayland ; then + mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland + elif ! use X && use wayland ; then + mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only + else + mozconfig_add_options_ac '+x11' --enable-default-toolkit=cairo-gtk3-x11-only + fi + + if [[ ${use_lto} = "yes" ]] ; then + if use clang ; then + # Upstream only supports lld or mold when using clang. + if tc-ld-is-mold ; then + # mold expects the -flto line from *FLAGS configuration, bgo#923119 + append-ldflags "-flto=thin" + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld + fi + + mozconfig_add_options_ac '+lto' --enable-lto=cross + + else + # ThinLTO is currently broken, see bmo#1644409. + # mold does not support gcc+lto combination. + mozconfig_add_options_ac '+lto' --enable-lto=full + mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd + fi + + if use pgo ; then + mozconfig_add_options_ac '+pgo' MOZ_PGO=1 + + if use clang ; then + # Used in build/pgo/profileserver.py + export LLVM_PROFDATA="llvm-profdata" + fi + fi + else + # Avoid auto-magic on linker + if use clang ; then + # lld is upstream's default + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld + fi + + else + if tc-ld-is-mold ; then + mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold + else + mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd + fi + fi + fi + + mozconfig_use_enable debug + if use debug ; then + mozconfig_add_options_ac '+debug' --disable-optimize + mozconfig_add_options_ac '+debug' --enable-jemalloc + mozconfig_add_options_ac '+debug' --enable-real-time-tracing + else + mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing + + if is-flag '-g*' ; then + if use clang ; then + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') + else + mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols + fi + else + mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols + fi + + if is-flag '-O0' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 + elif is-flag '-O4' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 + elif is-flag '-O3' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 + elif is-flag '-O1' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 + elif is-flag '-Os' ; then + mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os + else + mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 + fi + fi + + # Debug flag was handled via configure + filter-flags '-g*' + + # Optimization flag was handled via configure + filter-flags '-O*' + + # elf-hack + # Filter "-z,pack-relative-relocs" and let the build system handle it instead. + if use amd64 || use x86 ; then + filter-flags "-z,pack-relative-relocs" + + if tc-ld-is-mold ; then + # relr-elf-hack is currently broken with mold, bgo#916259 + mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack + else + mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr + fi + elif use ppc64 || use riscv ; then + # '--disable-elf-hack' is not recognized on ppc64/riscv, + # see bgo #917049, #930046 + :; + else + mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack + fi + + if ! use elibc_glibc; then + mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc + fi + + if use valgrind; then + mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc + fi + + # System-av1 fix + use system-av1 && append-ldflags "-Wl,--undefined-version" + + # Make revdep-rebuild.sh happy; Also required for musl + append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + + # Use system's Python environment + export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach + + export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" + + if ! use telemetry; then + mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" + mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" + fi + + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # Portage sets XARGS environment variable to "xargs -r" by default which + # breaks build system's check_prog() function which doesn't support arguments + mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" + + # Set build dir + mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" + + # Show flags we will use + einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" + einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" + einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" + einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" + einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" + + # Handle EXTRA_CONF and show summary + local ac opt hash reason + + # Apply EXTRA_ECONF entries to $MOZCONFIG + if [[ -n ${EXTRA_ECONF} ]] ; then + IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} + for opt in "${ac[@]}"; do + mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} + done + fi + + echo + echo "==========================================================" + echo "Building ${PF} with the following configuration" + grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" + done + echo "==========================================================" + echo + + if use valgrind; then + sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die + fi + + ./mach configure || die +} + +src_compile() { + local virtx_cmd= + + 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." + ewarn "Please see bugs #892641 & #907485." + else + ulimit -n 16384 + fi + fi + + if use pgo; then + # Reset and cleanup environment variables used by GNOME/XDG + gnome2_environment_reset + + addpredict /root + + if ! use X; then + virtx_cmd=virtwl + else + virtx_cmd=virtx + fi + fi + + if ! use X; then + local -x GDK_BACKEND=wayland + else + local -x GDK_BACKEND=x11 + fi + + ${virtx_cmd} ./mach build --verbose || die +} + +src_install() { + # xpcshell is getting called during install + pax-mark m \ + "${BUILD_DIR}"/dist/bin/xpcshell \ + "${BUILD_DIR}"/dist/bin/${PN} \ + "${BUILD_DIR}"/dist/bin/plugin-container + + DESTDIR="${D}" ./mach install || die + + # Upstream cannot ship symlink but we can (bmo#658850) + rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die + dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin + + # Don't install llvm-symbolizer from sys-devel/llvm package + if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then + rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die + fi + + # Install policy (currently only used to disable application updates) + insinto "${MOZILLA_FIVE_HOME}/distribution" + newins "${FILESDIR}"/distribution.ini distribution.ini + newins "${FILESDIR}"/disable-auto-update.policy.json policies.json + + # Install system-wide preferences + local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" + insinto "${PREFS_DIR}" + newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js + + local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" + + # Set dictionary path to use system hunspell + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" + pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); + EOF + + # Force hwaccel prefs if USE=hwaccel is enabled + if use hwaccel ; then + cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ + >>"${GENTOO_PREFS}" \ + || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" + + if use wayland; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" + pref("gfx.x11-egl.force-enabled", false); + EOF + else + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" + pref("gfx.x11-egl.force-enabled", true); + EOF + fi + + # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/vaapitest + + # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) + if use arm64 ; then + exeinto "${MOZILLA_FIVE_HOME}" + doexe "${BUILD_DIR}"/dist/bin/v4l2test + fi + fi + + if ! use gmp-autoupdate ; then + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + einfo "Disabling auto-update for ${plugin} plugin ..." + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" + pref("media.${plugin}.autoupdate", false); + EOF + done + fi + + # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it + if use system-harfbuzz ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" + sticky_pref("gfx.font_rendering.graphite.enabled", true); + EOF + fi + + # Add telemetry config prefs, just in case something happens in future and telemetry build + # options stop working. + if ! use telemetry ; then + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" + sticky_pref("toolkit.telemetry.dap_enabled", false); + pref("toolkit.telemetry.dap_helper", ""); + pref("toolkit.telemetry.dap_leader", ""); + EOF + fi + + # Install language packs + local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) + if [[ -n "${langpacks}" ]] ; then + moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" + fi + + # Install icons + local icon_srcdir="${S}/browser/branding/official" + local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" + + insinto /usr/share/icons/hicolor/symbolic/apps + newins "${icon_symbolic_file}" ${PN}-symbolic.svg + + local icon size + for icon in "${icon_srcdir}"/default*.png ; do + size=${icon%.png} + size=${size##*/default} + + if [[ ${size} -eq 48 ]] ; then + newicon "${icon}" ${PN}.png + fi + + newicon -s ${size} "${icon}" ${PN}.png + done + + # Install menu + local app_name="Mozilla ${MOZ_PN^}" + local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" + local exec_command="${PN}" + local icon="${PN}" + local use_wayland="false" + + if [[ -n ${MOZ_ESR} ]] ; then + local desktop_filename="${PN}-esr.desktop" + else + local desktop_filename="${PN}.desktop" + fi + + if use wayland ; then + use_wayland="true" + fi + + cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die + + sed -i \ + -e "s:@NAME@:${app_name}:" \ + -e "s:@EXEC@:${exec_command}:" \ + -e "s:@ICON@:${icon}:" \ + "${WORKDIR}/${PN}.desktop-template" || die + + newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" + + rm "${WORKDIR}/${PN}.desktop-template" || die + + if use gnome-shell ; then + # Install search provider for Gnome + insinto /usr/share/gnome-shell/search-providers/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini + + insinto /usr/share/dbus-1/services/ + doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service + + # Toggle between rapid and esr desktop file names + sed -e "s/firefox.desktop/${desktop_filename}/g" \ + -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || + die "Failed to sed org.mozilla.firefox.search-provider.ini file." + + # Make the dbus service aware of a previous session, bgo#939196 + sed -e \ + "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ + -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || + die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" + + # Update prefs to enable Gnome search provider + cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" + pref("browser.gnome-search-provider.enabled", true); + EOF + fi + + # Install wrapper script + [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" + newbin "${FILESDIR}/${PN}-r1.sh" ${PN} + + # Update wrapper + sed -i \ + -e "s:@PREFIX@:${EPREFIX}/usr:" \ + -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ + "${ED}/usr/bin/${PN}" || die + + readme.gentoo_create_doc +} + +pkg_postinst() { + xdg_pkg_postinst + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do + elog "\t ${plugin}" + done + elog + fi + + # bug 835078 + if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then + ewarn "You have nouveau drivers installed in your system and 'hwaccel' " + ewarn "enabled for Firefox. Nouveau / your GPU might not support the " + ewarn "required EGL, so either disable 'hwaccel' or try the workaround " + ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." + fi + + readme.gentoo_print_elog + + optfeature_header "Optional programs for extra features:" + optfeature "desktop notifications" x11-libs/libnotify + optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas + optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal + if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then + optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver + fi + + if ! has_version "sys-libs/glibc"; then + elog + elog "glibc not found! You won't be able to play DRM content." + elog "See Gentoo bug #910309 or upstream bug #1843683." + elog + fi +} diff --git a/www-client/firefox/firefox-132.0.1.ebuild b/www-client/firefox/firefox-132.0.1.ebuild deleted file mode 100644 index f9ec87f960b8..000000000000 --- a/www-client/firefox/firefox-132.0.1.ebuild +++ /dev/null @@ -1,1337 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-132-patches-02.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR= - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -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/" - SLOT="esr" -else - HOMEPAGE="https://www.mozilla.com/firefox" - SLOT="rapid" -fi - -MOZ_PN="${PN%-bin}" -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -DESCRIPTION="Firefox Web Browser" -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" -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+=" 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" - -# Firefox-only IUSE -IUSE+=" +gmp-autoupdate gnome-shell" - -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - pgo? ( lto ) - wayland? ( dbus ) - wifi? ( dbus )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - 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] ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=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? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - &2 - return 1 - fi - - if use clang && ! 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 - 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 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -# Firefox-only LANGS -MOZ_LANGS+=( ach ) -MOZ_LANGS+=( an ) -MOZ_LANGS+=( az ) -MOZ_LANGS+=( bn ) -MOZ_LANGS+=( bs ) -MOZ_LANGS+=( ca-valencia ) -MOZ_LANGS+=( eo ) -MOZ_LANGS+=( es-CL ) -MOZ_LANGS+=( es-MX ) -MOZ_LANGS+=( fa ) -MOZ_LANGS+=( ff ) -MOZ_LANGS+=( fur ) -MOZ_LANGS+=( gn ) -MOZ_LANGS+=( gu-IN ) -MOZ_LANGS+=( hi-IN ) -MOZ_LANGS+=( hy-AM ) -MOZ_LANGS+=( ia ) -MOZ_LANGS+=( km ) -MOZ_LANGS+=( kn ) -MOZ_LANGS+=( lij ) -MOZ_LANGS+=( mk ) -MOZ_LANGS+=( mr ) -MOZ_LANGS+=( my ) -MOZ_LANGS+=( ne-NP ) -MOZ_LANGS+=( oc ) -MOZ_LANGS+=( sc ) -MOZ_LANGS+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( skr ) -MOZ_LANGS+=( son ) -MOZ_LANGS+=( szl ) -MOZ_LANGS+=( ta ) -MOZ_LANGS+=( te ) -MOZ_LANGS+=( tl ) -MOZ_LANGS+=( trs ) -MOZ_LANGS+=( ur ) -MOZ_LANGS+=( xh ) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -virtwl() { - debug-print-function ${FUNCNAME} "$@" - - [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" - [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" - tinywl -h >/dev/null || die 'tinywl -h failed' - - local VIRTWL VIRTWL_PID - coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } - local -x WAYLAND_DISPLAY - read WAYLAND_DISPLAY <&${VIRTWL[0]} - - debug-print "${FUNCNAME}: $@" - "$@" - local r=$? - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- - return $r -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - 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 - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - 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})!" - fi - fi - - python-any-r1_pkg_setup - - # Avoid PGO profiling problems due to enviroment leakage - # These should *always* be cleaned up anyway - unset \ - DBUS_SESSION_BUS_ADDRESS \ - DISPLAY \ - ORBIT_SOCKETDIR \ - SESSION_MANAGER \ - XAUTHORITY \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if use pgo ; then - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage - # (PORTAGE_SCHEDULING_POLICY) update... - addpredict /proc - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi - - CONFIG_CHECK="~SECCOMP" - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." - linux-info_pkg_setup -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - unpack ${_src_file} - fi - done -} - -src_prepare() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}/firefox-patches" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - elif use arm64 ; then - export RUST_TARGET="aarch64-unknown-linux-musl" - elif use ppc64 ; then - export RUST_TARGET="powerpc64le-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" - - sed -i \ - -e 's/ccache_stats = None/return None/' \ - "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" - - einfo "Removing pre-built binaries ..." - - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # Respect choice for "jumbo-build" - # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 - if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then - local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} - elog "" - elog "jumbo-build defaults modified to ${my_files_per_unified_file}." - elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," - elog "if that fails try -jumbo-build before opening a bug report." - elog "" - - sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ - python/mozbuild/mozbuild/frontend/data.py || - die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" - sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ - js/src/moz.build || - die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" - fi - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die - - # Write API keys to disk - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die - - xdg_environment_reset -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # Set MOZILLA_FIVE_HOME - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - - # python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-application=browser - mozconfig_add_options_ac '' --enable-project=browser - - # Set Gentoo defaults - if use telemetry; then - export MOZILLA_OFFICIAL=1 - fi - - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-wmf \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - elif use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly - # Can be removed once upstream enable it by default in the future. - use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - mozconfig_use_enable valgrind - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - fi - - local myaudiobackends="" - use jack && myaudiobackends+="jack," - use sndio && myaudiobackends+="sndio," - use pulseaudio && myaudiobackends+="pulseaudio," - ! use pulseaudio && myaudiobackends+="alsa," - - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" - - mozconfig_use_enable wifi necko-wifi - - ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build - - if use X && use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - elif ! use X && use wayland ; then - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only - else - 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 clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - fi - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409. - # mold does not support gcc+lto combination. - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # lld is upstream's default - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - fi - - else - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd - fi - fi - fi - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing - - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - if use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - if ! use telemetry; then - mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" - fi - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - if use valgrind; then - sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die - fi - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; 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." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - - # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/vaapitest - - # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) - if use arm64 ; then - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/v4l2test - fi - fi - - if ! use gmp-autoupdate ; then - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - einfo "Disabling auto-update for ${plugin} plugin ..." - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" - pref("media.${plugin}.autoupdate", false); - EOF - done - fi - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Add telemetry config prefs, just in case something happens in future and telemetry build - # options stop working. - if ! use telemetry ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" - sticky_pref("toolkit.telemetry.dap_enabled", false); - pref("toolkit.telemetry.dap_helper", ""); - pref("toolkit.telemetry.dap_leader", ""); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install icons - local icon_srcdir="${S}/browser/branding/official" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if [[ -n ${MOZ_ESR} ]] ; then - local desktop_filename="${PN}-esr.desktop" - else - local desktop_filename="${PN}.desktop" - fi - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - if use gnome-shell ; then - # Install search provider for Gnome - insinto /usr/share/gnome-shell/search-providers/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini - - insinto /usr/share/dbus-1/services/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service - - # Toggle between rapid and esr desktop file names - sed -e "s/firefox.desktop/${desktop_filename}/g" \ - -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || - die "Failed to sed org.mozilla.firefox.search-provider.ini file." - - # Make the dbus service aware of a previous session, bgo#939196 - sed -e \ - "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ - -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || - die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" - - # Update prefs to enable Gnome search provider - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" - pref("browser.gnome-search-provider.enabled", true); - EOF - fi - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die - - readme.gentoo_create_doc -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - # bug 835078 - if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then - ewarn "You have nouveau drivers installed in your system and 'hwaccel' " - ewarn "enabled for Firefox. Nouveau / your GPU might not support the " - ewarn "required EGL, so either disable 'hwaccel' or try the workaround " - ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." - fi - - readme.gentoo_print_elog - - optfeature_header "Optional programs for extra features:" - optfeature "desktop notifications" x11-libs/libnotify - optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas - optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal - if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then - optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver - fi - - if ! has_version "sys-libs/glibc"; then - elog - elog "glibc not found! You won't be able to play DRM content." - elog "See Gentoo bug #910309 or upstream bug #1843683." - elog - fi -} diff --git a/www-client/firefox/firefox-132.0.ebuild b/www-client/firefox/firefox-132.0.ebuild deleted file mode 100644 index 8cfa5b1c3a92..000000000000 --- a/www-client/firefox/firefox-132.0.ebuild +++ /dev/null @@ -1,1339 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -FIREFOX_PATCHSET="firefox-132-patches-01.tar.xz" - -LLVM_COMPAT=( 17 18 19 ) - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="ncurses,sqlite,ssl" - -WANT_AUTOCONF="2.1" - -VIRTUALX_REQUIRED="manual" - -MOZ_ESR= - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -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/" - SLOT="esr" -else - HOMEPAGE="https://www.mozilla.com/firefox" - SLOT="rapid" -fi - -MOZ_PN="${PN%-bin}" -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-r1 multiprocessing \ - optfeature pax-utils python-any-r1 readme.gentoo-r1 toolchain-funcs virtualx xdg - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET} -) - -DESCRIPTION="Firefox Web Browser" -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" -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+=" 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" - -# Firefox-only IUSE -IUSE+=" +gmp-autoupdate gnome-shell" - -# !jumbo-build? ( clang ) -> bmo#1914774, bgo#939004 - causes seemingly random compile crashes with gcc. -REQUIRED_USE="|| ( X wayland ) - debug? ( !system-av1 ) - !jumbo-build? ( clang ) - pgo? ( lto ) - wayland? ( dbus ) - wifi? ( dbus )" - -FF_ONLY_DEPEND="!www-client/firefox:0 - selinux? ( sec-policy/selinux-mozilla )" -BDEPEND="${PYTHON_DEPS} - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT} - 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] ) - ') - app-alternatives/awk - app-arch/unzip - app-arch/zip - >=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? ( - X? ( - sys-devel/gettext - x11-base/xorg-server[xvfb] - x11-apps/xhost - ) - !X? ( - || ( - gui-wm/tinywl - &2 - return 1 - fi - - if use clang && ! 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 - 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 - einfo "Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -MOZ_LANGS=( - af ar ast be bg br ca cak cs cy da de dsb - el en-CA en-GB en-US es-AR es-ES et eu - fi fr fy-NL ga-IE gd gl he hr hsb hu - id is it ja ka kab kk ko lt lv ms nb-NO nl nn-NO - pa-IN pl pt-BR pt-PT rm ro ru - sk sl sq sr sv-SE th tr uk uz vi zh-CN zh-TW -) - -# Firefox-only LANGS -MOZ_LANGS+=( ach ) -MOZ_LANGS+=( an ) -MOZ_LANGS+=( az ) -MOZ_LANGS+=( bn ) -MOZ_LANGS+=( bs ) -MOZ_LANGS+=( ca-valencia ) -MOZ_LANGS+=( eo ) -MOZ_LANGS+=( es-CL ) -MOZ_LANGS+=( es-MX ) -MOZ_LANGS+=( fa ) -MOZ_LANGS+=( ff ) -MOZ_LANGS+=( fur ) -MOZ_LANGS+=( gn ) -MOZ_LANGS+=( gu-IN ) -MOZ_LANGS+=( hi-IN ) -MOZ_LANGS+=( hy-AM ) -MOZ_LANGS+=( ia ) -MOZ_LANGS+=( km ) -MOZ_LANGS+=( kn ) -MOZ_LANGS+=( lij ) -MOZ_LANGS+=( mk ) -MOZ_LANGS+=( mr ) -MOZ_LANGS+=( my ) -MOZ_LANGS+=( ne-NP ) -MOZ_LANGS+=( oc ) -MOZ_LANGS+=( sc ) -MOZ_LANGS+=( sco ) -MOZ_LANGS+=( si ) -MOZ_LANGS+=( skr ) -MOZ_LANGS+=( son ) -MOZ_LANGS+=( szl ) -MOZ_LANGS+=( ta ) -MOZ_LANGS+=( te ) -MOZ_LANGS+=( tl ) -MOZ_LANGS+=( trs ) -MOZ_LANGS+=( ur ) -MOZ_LANGS+=( xh ) - -mozilla_set_globals() { - # https://bugs.gentoo.org/587334 - local MOZ_TOO_REGIONALIZED_FOR_L10N=( - fy-NL ga-IE gu-IN hi-IN hy-AM nb-NO ne-NP nn-NO pa-IN sv-SE - ) - - local lang xflag - for lang in "${MOZ_LANGS[@]}" ; do - # en and en_US are handled internally - if [[ ${lang} == en ]] || [[ ${lang} == en-US ]] ; then - continue - fi - - # strip region subtag if $lang is in the list - if has ${lang} "${MOZ_TOO_REGIONALIZED_FOR_L10N[@]}" ; then - xflag=${lang%%-*} - else - xflag=${lang} - fi - - SRC_URI+=" l10n_${xflag/[_@]/-}? (" - SRC_URI+=" ${MOZ_SRC_BASE_URI}/linux-x86_64/xpi/${lang}.xpi -> ${MOZ_P_DISTFILES}-${lang}.xpi" - SRC_URI+=" )" - IUSE+=" l10n_${xflag/[_@]/-}" - done -} -mozilla_set_globals - -moz_clear_vendor_checksums() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -ne 1 ]] ; then - die "${FUNCNAME} requires exact one argument" - fi - - einfo "Clearing cargo checksums for ${1} ..." - - sed -i \ - -e 's/\("files":{\)[^}]*/\1/' \ - "${S}"/third_party/rust/${1}/.cargo-checksum.json || die -} - -moz_install_xpi() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local DESTDIR=${1} - shift - - insinto "${DESTDIR}" - - local emid xpi_file xpi_tmp_dir - for xpi_file in "${@}" ; do - emid= - xpi_tmp_dir=$(mktemp -d --tmpdir="${T}") - - # Unpack XPI - unzip -qq "${xpi_file}" -d "${xpi_tmp_dir}" || die - - # Determine extension ID - if [[ -f "${xpi_tmp_dir}/install.rdf" ]] ; then - emid=$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${xpi_tmp_dir}/install.rdf") - [[ -z "${emid}" ]] && die "failed to determine extension id from install.rdf" - elif [[ -f "${xpi_tmp_dir}/manifest.json" ]] ; then - emid=$(sed -n -e 's/.*"id": "\([^"]*\)".*/\1/p' "${xpi_tmp_dir}/manifest.json") - [[ -z "${emid}" ]] && die "failed to determine extension id from manifest.json" - else - die "failed to determine extension id" - fi - - einfo "Installing ${emid}.xpi into ${ED}${DESTDIR} ..." - newins "${xpi_file}" "${emid}.xpi" - done -} - -mozconfig_add_options_ac() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_add_options_mk() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 2 ]] ; then - die "${FUNCNAME} requires at least two arguments" - fi - - local reason=${1} - shift - - local option - for option in ${@} ; do - echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG} - done -} - -mozconfig_use_enable() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_enable "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -mozconfig_use_with() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ${#} -lt 1 ]] ; then - die "${FUNCNAME} requires at least one arguments" - fi - - local flag=$(use_with "${@}") - mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" "${flag}" -} - -virtwl() { - debug-print-function ${FUNCNAME} "$@" - - [[ $# -lt 1 ]] && die "${FUNCNAME} needs at least one argument" - [[ -n $XDG_RUNTIME_DIR ]] || die "${FUNCNAME} needs XDG_RUNTIME_DIR to be set; try xdg_environment_reset" - tinywl -h >/dev/null || die 'tinywl -h failed' - - local VIRTWL VIRTWL_PID - coproc VIRTWL { WLR_BACKENDS=headless exec tinywl -s 'echo $WAYLAND_DISPLAY; read _; kill $PPID'; } - local -x WAYLAND_DISPLAY - read WAYLAND_DISPLAY <&${VIRTWL[0]} - - debug-print "${FUNCNAME}: $@" - "$@" - local r=$? - - [[ -n $VIRTWL_PID ]] || die "tinywl exited unexpectedly" - exec {VIRTWL[0]}<&- {VIRTWL[1]}>&- - return $r -} - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - if ! has usersandbox $FEATURES ; then - die "You must enable usersandbox as X server can not run as root!" - fi - fi - - # Ensure we have enough disk space to compile - if use pgo || use lto || use debug ; then - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6600M" - fi - - check-reqs_pkg_pretend - fi -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use pgo ; then - 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 - CHECKREQS_DISK_BUILD="13500M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - 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})!" - fi - fi - - python-any-r1_pkg_setup - - # Avoid PGO profiling problems due to enviroment leakage - # These should *always* be cleaned up anyway - unset \ - DBUS_SESSION_BUS_ADDRESS \ - DISPLAY \ - ORBIT_SOCKETDIR \ - SESSION_MANAGER \ - XAUTHORITY \ - XDG_CACHE_HOME \ - XDG_SESSION_COOKIE - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if use pgo ; then - # Update 105.0: "/proc/self/oom_score_adj" isn't enough anymore with pgo, but not sure - # whether that's due to better OOM handling by Firefox (bmo#1771712), or portage - # (PORTAGE_SCHEDULING_POLICY) update... - addpredict /proc - - # Clear tons of conditions, since PGO is hardware-dependant. - addpredict /dev - fi - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_GOOGLE+set}" ]] ; then - MOZ_API_KEY_GOOGLE="AIzaSyDEAOvatFogGaPi0eTgsV_ZlEzx0ObmepsMzfAc" - fi - - if [[ -z "${MOZ_API_KEY_LOCATION+set}" ]] ; then - MOZ_API_KEY_LOCATION="AIzaSyB2h2OuRgGaPicUgy5N-5hsZqiPW6sH3n_rptiQ" - fi - - # Mozilla API keys (see https://location.services.mozilla.com/api) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - if [[ -z "${MOZ_API_KEY_MOZILLA+set}" ]] ; then - MOZ_API_KEY_MOZILLA="edb3d487-3a84-46m0ap1e3-9dfd-92b5efaaa005" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi - - CONFIG_CHECK="~SECCOMP" - WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." - linux-info_pkg_setup -} - -src_unpack() { - local _lp_dir="${WORKDIR}/language_packs" - local _src_file - - if [[ ! -d "${_lp_dir}" ]] ; then - mkdir "${_lp_dir}" || die - fi - - for _src_file in ${A} ; do - if [[ ${_src_file} == *.xpi ]]; then - cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" - else - unpack ${_src_file} - fi - done -} - -src_prepare() { - if use lto; then - rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch || die - fi - - # Workaround for bgo#917599 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch - fi - rm -v "${WORKDIR}"/firefox-patches/*-bmo-1862601-system-icu-74.patch || die - - # Workaround for bgo#915651 on musl - if use elibc_glibc ; then - rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die - fi - - eapply "${WORKDIR}/firefox-patches" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Make cargo respect MAKEOPTS - export CARGO_BUILD_JOBS="$(makeopts_jobs)" - - # Workaround for bgo#915651 - if ! use elibc_glibc ; then - if use amd64 ; then - export RUST_TARGET="x86_64-unknown-linux-musl" - elif use x86 ; then - export RUST_TARGET="i686-unknown-linux-musl" - elif use arm64 ; then - export RUST_TARGET="aarch64-unknown-linux-musl" - elif use ppc64 ; then - export RUST_TARGET="powerpc64le-unknown-linux-musl" - else - die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651" - fi - fi - - # Make LTO respect MAKEOPTS - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/build/moz.configure/lto-pgo.configure || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_cpu_count.py || die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/libwebrtc/build/toolchain/get_concurrent_links.py || - die "Failed sedding multiprocessing.cpu_count" - - sed -i -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - "${S}"/third_party/python/gyp/pylib/gyp/input.py || die "Failed sedding multiprocessing.cpu_count" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - "${S}"/python/mozbuild/mozbuild/configure/check_debug_ranges.py || die "sed failed to set toolchain prefix" - - sed -i \ - -e 's/ccache_stats = None/return None/' \ - "${S}"/python/mozbuild/mozbuild/controller/building.py || die "sed failed to disable ccache stats call" - - einfo "Removing pre-built binaries ..." - - find "${S}"/third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - # Clear checksums from cargo crates we've manually patched. - # moz_clear_vendor_checksums xyz - - # Respect choice for "jumbo-build" - # Changing the value for FILES_PER_UNIFIED_FILE may not work, see #905431 - if [[ -n ${FILES_PER_UNIFIED_FILE} ]] && use jumbo-build; then - local my_files_per_unified_file=${FILES_PER_UNIFIED_FILE:=16} - elog "" - elog "jumbo-build defaults modified to ${my_files_per_unified_file}." - elog "if you get a build failure, try undefining FILES_PER_UNIFIED_FILE," - elog "if that fails try -jumbo-build before opening a bug report." - elog "" - - sed -i -e "s/\"FILES_PER_UNIFIED_FILE\", 16/\"FILES_PER_UNIFIED_FILE\", "${my_files_per_unified_file}"/" \ - python/mozbuild/mozbuild/frontend/data.py || - die "Failed to adjust FILES_PER_UNIFIED_FILE in python/mozbuild/mozbuild/frontend/data.py" - sed -i -e "s/FILES_PER_UNIFIED_FILE = 6/FILES_PER_UNIFIED_FILE = "${my_files_per_unified_file}"/" \ - js/src/moz.build || - die "Failed to adjust FILES_PER_UNIFIED_FILE in js/src/moz.build" - fi - - # Create build dir - BUILD_DIR="${WORKDIR}/${PN}_build" - mkdir -p "${BUILD_DIR}" || die - - # Write API keys to disk - echo -n "${MOZ_API_KEY_GOOGLE//gGaPi/}" > "${S}"/api-google.key || die - echo -n "${MOZ_API_KEY_LOCATION//gGaPi/}" > "${S}"/api-location.key || die - echo -n "${MOZ_API_KEY_MOZILLA//m0ap1/}" > "${S}"/api-mozilla.key || die - - xdg_environment_reset -} - -src_configure() { - # Show flags set at the beginning - einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Current CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Current CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Current LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Current RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - - local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }') - [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}") - [[ -z ${version_clang} ]] && die "Failed to read clang version!" - - if tc-is-gcc; then - have_switched_compiler=yes - fi - - AR=llvm-ar - CC=${CHOST}-clang-${version_clang} - CXX=${CHOST}-clang++-${version_clang} - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain, - # AS is used in a non-standard way by upstream, #bmo1654031 - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - export AS="$(tc-getCC) -c" - - # Configuration tests expect llvm-readelf output, bug 913130 - READELF="llvm-readelf" - - tc-export CC CXX LD AR AS NM OBJDUMP RANLIB READELF PKG_CONFIG - - # Pass the correct toolchain paths through cbindgen - if tc-is-cross-compiler ; then - export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} --target=${CHOST} ${BINDGEN_CFLAGS-}" - fi - - # Set MOZILLA_FIVE_HOME - export MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - - # python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - # Set state path - export MOZBUILD_STATE_PATH="${BUILD_DIR}" - - # Set MOZCONFIG - export MOZCONFIG="${S}/.mozconfig" - - # Initialize MOZCONFIG - mozconfig_add_options_ac '' --enable-application=browser - mozconfig_add_options_ac '' --enable-project=browser - - # Set Gentoo defaults - if use telemetry; then - export MOZILLA_OFFICIAL=1 - fi - - mozconfig_add_options_ac 'Gentoo default' \ - --allow-addon-sideload \ - --disable-cargo-incremental \ - --disable-crashreporter \ - --disable-disk-remnant-avoidance \ - --disable-geckodriver \ - --disable-install-strip \ - --disable-legacy-profile-creation \ - --disable-parental-controls \ - --disable-strip \ - --disable-tests \ - --disable-updater \ - --disable-wmf \ - --enable-negotiateauth \ - --enable-new-pass-manager \ - --enable-official-branding \ - --enable-release \ - --enable-system-ffi \ - --enable-system-pixman \ - --enable-system-policies \ - --host="${CBUILD:-${CHOST}}" \ - --libdir="${EPREFIX}/usr/$(get_libdir)" \ - --prefix="${EPREFIX}/usr" \ - --target="${CHOST}" \ - --without-ccache \ - --without-wasm-sandboxed-libraries \ - --with-intl-api \ - --with-libclang-path="$(llvm-config --libdir)" \ - --with-system-nspr \ - --with-system-nss \ - --with-system-zlib \ - --with-toolchain-prefix="${CHOST}-" \ - --with-unsigned-addon-scopes=app,system \ - --x-includes="${ESYSROOT}/usr/include" \ - --x-libraries="${ESYSROOT}/usr/$(get_libdir)" - - # Set update channel - local update_channel=release - [[ -n ${MOZ_ESR} ]] && update_channel=esr - mozconfig_add_options_ac '' --update-channel=${update_channel} - - if ! use x86 ; then - mozconfig_add_options_ac '' --enable-rust-simd - fi - - # For future keywording: This is currently (97.0) only supported on: - # amd64, arm, arm64 & x86. - # Might want to flip the logic around if Firefox is to support more arches. - # bug 833001, bug 903411#c8 - if use ppc64 || use riscv; then - mozconfig_add_options_ac '' --disable-sandbox - elif use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --disable-sandbox - else - mozconfig_add_options_ac '' --enable-sandbox - fi - - # Enable JIT on riscv64 explicitly - # Can be removed once upstream enable it by default in the future. - use riscv && mozconfig_add_options_ac 'Enable JIT for RISC-V 64' --enable-jit - - if [[ -s "${S}/api-google.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-google.key" | md5sum | awk '{ print $1 }') != 709560c02f94b41f9ad2c49207be6c54 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-safebrowsing-api-keyfile="${S}/api-google.key" - else - einfo "Building without Google API key ..." - fi - - if [[ -s "${S}/api-location.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-location.key" | md5sum | awk '{ print $1 }') != ffb7895e35dedf832eb1c5d420ac7420 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-google-location-service-api-keyfile="${S}/api-location.key" - else - einfo "Building without Location API key ..." - fi - - if [[ -s "${S}/api-mozilla.key" ]] ; then - local key_origin="Gentoo default" - if [[ $(cat "${S}/api-mozilla.key" | md5sum | awk '{ print $1 }') != 3927726e9442a8e8fa0e46ccc39caa27 ]] ; then - key_origin="User value" - fi - - mozconfig_add_options_ac "${key_origin}" \ - --with-mozilla-api-keyfile="${S}/api-mozilla.key" - else - einfo "Building without Mozilla API key ..." - fi - - mozconfig_use_with system-av1 - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-icu - mozconfig_use_with system-jpeg - mozconfig_use_with system-libevent - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-webp - - mozconfig_use_enable dbus - mozconfig_use_enable libproxy - mozconfig_use_enable valgrind - - use eme-free && mozconfig_add_options_ac '+eme-free' --disable-eme - - if use hardened ; then - mozconfig_add_options_ac "+hardened" --enable-hardening - append-ldflags "-Wl,-z,relro -Wl,-z,now" - - # Increase the FORTIFY_SOURCE value, #910071. - sed -i -e '/-D_FORTIFY_SOURCE=/s:2:3:' "${S}"/build/moz.configure/toolchain.configure || die - fi - - local myaudiobackends="" - use jack && myaudiobackends+="jack," - use sndio && myaudiobackends+="sndio," - use pulseaudio && myaudiobackends+="pulseaudio," - ! use pulseaudio && myaudiobackends+="alsa," - - mozconfig_add_options_ac '--enable-audio-backends' --enable-audio-backends="${myaudiobackends::-1}" - - mozconfig_use_enable wifi necko-wifi - - ! use jumbo-build && mozconfig_add_options_ac '--disable-unified-build' --disable-unified-build - - if use X && use wayland ; then - mozconfig_add_options_ac '+x11+wayland' --enable-default-toolkit=cairo-gtk3-x11-wayland - elif ! use X && use wayland ; then - mozconfig_add_options_ac '+wayland' --enable-default-toolkit=cairo-gtk3-wayland-only - else - 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 clang ; then - # Upstream only supports lld or mold when using clang. - if tc-ld-is-mold ; then - # mold expects the -flto line from *FLAGS configuration, bgo#923119 - append-ldflags "-flto=thin" - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang and USE=lto" --enable-linker=lld - fi - - mozconfig_add_options_ac '+lto' --enable-lto=cross - - else - # ThinLTO is currently broken, see bmo#1644409. - # mold does not support gcc+lto combination. - mozconfig_add_options_ac '+lto' --enable-lto=full - mozconfig_add_options_ac "linker is set to bfd" --enable-linker=bfd - fi - - if use pgo ; then - mozconfig_add_options_ac '+pgo' MOZ_PGO=1 - - if use clang ; then - # Used in build/pgo/profileserver.py - export LLVM_PROFDATA="llvm-profdata" - fi - fi - else - # Avoid auto-magic on linker - if use clang ; then - # lld is upstream's default - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "forcing ld=lld due to USE=clang" --enable-linker=lld - fi - - else - if tc-ld-is-mold ; then - mozconfig_add_options_ac "using ld=mold due to system selection" --enable-linker=mold - else - mozconfig_add_options_ac "linker is set to bfd due to USE=-clang" --enable-linker=bfd - fi - fi - fi - - mozconfig_use_enable debug - if use debug ; then - mozconfig_add_options_ac '+debug' --disable-optimize - mozconfig_add_options_ac '+debug' --enable-jemalloc - mozconfig_add_options_ac '+debug' --enable-real-time-tracing - else - mozconfig_add_options_ac 'Gentoo defaults' --disable-real-time-tracing - - if is-flag '-g*' ; then - if use clang ; then - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols=$(get-flag '-g*') - else - mozconfig_add_options_ac 'from CFLAGS' --enable-debug-symbols - fi - else - mozconfig_add_options_ac 'Gentoo default' --disable-debug-symbols - fi - - if is-flag '-O0' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O0 - elif is-flag '-O4' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O4 - elif is-flag '-O3' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O3 - elif is-flag '-O1' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-O1 - elif is-flag '-Os' ; then - mozconfig_add_options_ac "from CFLAGS" --enable-optimize=-Os - else - mozconfig_add_options_ac "Gentoo default" --enable-optimize=-O2 - fi - fi - - # Debug flag was handled via configure - filter-flags '-g*' - - # Optimization flag was handled via configure - filter-flags '-O*' - - # elf-hack - # Filter "-z,pack-relative-relocs" and let the build system handle it instead. - if use amd64 || use x86 ; then - filter-flags "-z,pack-relative-relocs" - - if tc-ld-is-mold ; then - # relr-elf-hack is currently broken with mold, bgo#916259 - mozconfig_add_options_ac 'disable elf-hack with mold linker' --disable-elf-hack - else - mozconfig_add_options_ac 'relr elf-hack' --enable-elf-hack=relr - fi - elif use ppc64 || use riscv ; then - # '--disable-elf-hack' is not recognized on ppc64/riscv, - # see bgo #917049, #930046 - :; - else - mozconfig_add_options_ac 'disable elf-hack on non-supported arches' --disable-elf-hack - fi - - if ! use elibc_glibc; then - mozconfig_add_options_ac '!elibc_glibc' --disable-jemalloc - fi - - if use valgrind; then - mozconfig_add_options_ac 'valgrind requirement' --disable-jemalloc - fi - - # System-av1 fix - use system-av1 && append-ldflags "-Wl,--undefined-version" - - # Make revdep-rebuild.sh happy; Also required for musl - append-ldflags -Wl,-rpath="${MOZILLA_FIVE_HOME}",--enable-new-dtags - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - - # Use system's Python environment - export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach - - export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none" - - if ! use telemetry; then - mozconfig_add_options_mk '-telemetry setting' "MOZ_CRASHREPORTER=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_DATA_REPORTING=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_SERVICES_HEALTHREPORT=0" - mozconfig_add_options_mk '-telemetry setting' "MOZ_TELEMETRY_REPORTING=0" - fi - - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # Portage sets XARGS environment variable to "xargs -r" by default which - # breaks build system's check_prog() function which doesn't support arguments - mozconfig_add_options_ac 'Gentoo default' "XARGS=${EPREFIX}/usr/bin/xargs" - - # Set build dir - mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}" - - # Show flags we will use - einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}" - einfo "Build CFLAGS:\t\t${CFLAGS:-no value set}" - einfo "Build CXXFLAGS:\t\t${CXXFLAGS:-no value set}" - einfo "Build LDFLAGS:\t\t${LDFLAGS:-no value set}" - einfo "Build RUSTFLAGS:\t\t${RUSTFLAGS:-no value set}" - - # Handle EXTRA_CONF and show summary - local ac opt hash reason - - # Apply EXTRA_ECONF entries to $MOZCONFIG - if [[ -n ${EXTRA_ECONF} ]] ; then - IFS=\! read -a ac <<<${EXTRA_ECONF// --/\!} - for opt in "${ac[@]}"; do - mozconfig_add_options_ac "EXTRA_ECONF" --${opt#--} - done - fi - - echo - echo "==========================================================" - echo "Building ${PF} with the following configuration" - grep ^ac_add_options "${MOZCONFIG}" | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}" - done - echo "==========================================================" - echo - - if use valgrind; then - sed -i -e 's/--enable-optimize=-O[0-9s]/--enable-optimize="-g -O2"/' .mozconfig || die - fi - - ./mach configure || die -} - -src_compile() { - local virtx_cmd= - - if tc-ld-is-mold && use lto; 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." - ewarn "Please see bugs #892641 & #907485." - else - ulimit -n 16384 - fi - fi - - if use pgo; then - # Reset and cleanup environment variables used by GNOME/XDG - gnome2_environment_reset - - addpredict /root - - if ! use X; then - virtx_cmd=virtwl - else - virtx_cmd=virtx - fi - fi - - if ! use X; then - local -x GDK_BACKEND=wayland - else - local -x GDK_BACKEND=x11 - fi - - ${virtx_cmd} ./mach build --verbose || die -} - -src_install() { - # xpcshell is getting called during install - pax-mark m \ - "${BUILD_DIR}"/dist/bin/xpcshell \ - "${BUILD_DIR}"/dist/bin/${PN} \ - "${BUILD_DIR}"/dist/bin/plugin-container - - DESTDIR="${D}" ./mach install || die - - # Upstream cannot ship symlink but we can (bmo#658850) - rm "${ED}${MOZILLA_FIVE_HOME}/${PN}-bin" || die - dosym ${PN} ${MOZILLA_FIVE_HOME}/${PN}-bin - - # Don't install llvm-symbolizer from sys-devel/llvm package - if [[ -f "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" ]] ; then - rm -v "${ED}${MOZILLA_FIVE_HOME}/llvm-symbolizer" || die - fi - - # Install policy (currently only used to disable application updates) - insinto "${MOZILLA_FIVE_HOME}/distribution" - newins "${FILESDIR}"/distribution.ini distribution.ini - newins "${FILESDIR}"/disable-auto-update.policy.json policies.json - - # Install system-wide preferences - local PREFS_DIR="${MOZILLA_FIVE_HOME}/browser/defaults/preferences" - insinto "${PREFS_DIR}" - newins "${FILESDIR}"/gentoo-default-prefs.js gentoo-prefs.js - - local GENTOO_PREFS="${ED}${PREFS_DIR}/gentoo-prefs.js" - - # Set dictionary path to use system hunspell - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set spellchecker.dictionary_path pref" - pref("spellchecker.dictionary_path", "${EPREFIX}/usr/share/myspell"); - EOF - - # Force hwaccel prefs if USE=hwaccel is enabled - if use hwaccel ; then - cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-r2 \ - >>"${GENTOO_PREFS}" \ - || die "failed to add prefs to force hardware-accelerated rendering to all-gentoo.js" - - if use wayland; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel wayland prefs" - pref("gfx.x11-egl.force-enabled", false); - EOF - else - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set hwaccel x11 prefs" - pref("gfx.x11-egl.force-enabled", true); - EOF - fi - - # Install the vaapitest binary on supported arches (122.0 supports all platforms, bmo#1865969) - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/vaapitest - - # Install the v4l2test on supported arches (+ arm, + riscv64 when keyworded) - if use arm64 ; then - exeinto "${MOZILLA_FIVE_HOME}" - doexe "${BUILD_DIR}"/dist/bin/v4l2test - fi - fi - - if ! use gmp-autoupdate ; then - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - einfo "Disabling auto-update for ${plugin} plugin ..." - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to disable autoupdate for ${plugin} media plugin" - pref("media.${plugin}.autoupdate", false); - EOF - done - fi - - # Force the graphite pref if USE=system-harfbuzz is enabled, since the pref cannot disable it - if use system-harfbuzz ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set gfx.font_rendering.graphite.enabled pref" - sticky_pref("gfx.font_rendering.graphite.enabled", true); - EOF - fi - - # Add telemetry config prefs, just in case something happens in future and telemetry build - # options stop working. - if ! use telemetry ; then - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to set telemetry prefs" - sticky_pref("toolkit.telemetry.dap_enabled", false); - pref("toolkit.telemetry.dap_helper", ""); - pref("toolkit.telemetry.dap_leader", ""); - EOF - fi - - # Install language packs - local langpacks=( $(find "${WORKDIR}/language_packs" -type f -name '*.xpi') ) - if [[ -n "${langpacks}" ]] ; then - moz_install_xpi "${MOZILLA_FIVE_HOME}/distribution/extensions" "${langpacks[@]}" - fi - - # Install icons - local icon_srcdir="${S}/browser/branding/official" - local icon_symbolic_file="${FILESDIR}/icon/firefox-symbolic.svg" - - insinto /usr/share/icons/hicolor/symbolic/apps - newins "${icon_symbolic_file}" ${PN}-symbolic.svg - - local icon size - for icon in "${icon_srcdir}"/default*.png ; do - size=${icon%.png} - size=${size##*/default} - - if [[ ${size} -eq 48 ]] ; then - newicon "${icon}" ${PN}.png - fi - - newicon -s ${size} "${icon}" ${PN}.png - done - - # Install menu - local app_name="Mozilla ${MOZ_PN^}" - local desktop_file="${FILESDIR}/icon/${PN}-r3.desktop" - local exec_command="${PN}" - local icon="${PN}" - local use_wayland="false" - - if [[ -n ${MOZ_ESR} ]] ; then - local desktop_filename="${PN}-esr.desktop" - else - local desktop_filename="${PN}.desktop" - fi - - if use wayland ; then - use_wayland="true" - fi - - cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die - - sed -i \ - -e "s:@NAME@:${app_name}:" \ - -e "s:@EXEC@:${exec_command}:" \ - -e "s:@ICON@:${icon}:" \ - "${WORKDIR}/${PN}.desktop-template" || die - - newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" - - rm "${WORKDIR}/${PN}.desktop-template" || die - - if use gnome-shell ; then - # Install search provider for Gnome - insinto /usr/share/gnome-shell/search-providers/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.search-provider.ini - - insinto /usr/share/dbus-1/services/ - doins browser/components/shell/search-provider-files/org.mozilla.firefox.SearchProvider.service - - # Toggle between rapid and esr desktop file names - sed -e "s/firefox.desktop/${desktop_filename}/g" \ - -i "${ED}/usr/share/gnome-shell/search-providers/org.mozilla.firefox.search-provider.ini" || - die "Failed to sed org.mozilla.firefox.search-provider.ini file." - - # Make the dbus service aware of a previous session, bgo#939196 - sed -e \ - "s/Exec=\/usr\/bin\/firefox/Exec=\/usr\/$(get_libdir)\/firefox\/firefox --dbus-service \/usr\/bin\/firefox/g" \ - -i "${ED}/usr/share/dbus-1/services/org.mozilla.firefox.SearchProvider.service" || - die "Failed to sed org.mozilla.firefox.SearchProvider.service dbus file" - - # Update prefs to enable Gnome search provider - cat >>"${GENTOO_PREFS}" <<-EOF || die "failed to enable gnome-search-provider via prefs" - pref("browser.gnome-search-provider.enabled", true); - EOF - fi - - # Install wrapper script - [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" - newbin "${FILESDIR}/${PN}-r1.sh" ${PN} - - # Update wrapper - sed -i \ - -e "s:@PREFIX@:${EPREFIX}/usr:" \ - -e "s:@DEFAULT_WAYLAND@:${use_wayland}:" \ - "${ED}/usr/bin/${PN}" || die - - readme.gentoo_create_doc -} - -pkg_postinst() { - xdg_pkg_postinst - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${MOZ_GMP_PLUGIN_LIST[@]}" ; do - elog "\t ${plugin}" - done - elog - fi - - # bug 835078 - if use hwaccel && has_version "x11-drivers/xf86-video-nouveau"; then - ewarn "You have nouveau drivers installed in your system and 'hwaccel' " - ewarn "enabled for Firefox. Nouveau / your GPU might not support the " - ewarn "required EGL, so either disable 'hwaccel' or try the workaround " - ewarn "explained in https://bugs.gentoo.org/835078#c5 if Firefox crashes." - fi - - readme.gentoo_print_elog - - optfeature_header "Optional programs for extra features:" - optfeature "desktop notifications" x11-libs/libnotify - optfeature "fallback mouse cursor theme e.g. on WMs" gnome-base/gsettings-desktop-schemas - optfeature "screencasting with pipewire" sys-apps/xdg-desktop-portal - if use hwaccel && has_version "x11-drivers/nvidia-drivers"; then - optfeature "hardware acceleration with NVIDIA cards" media-libs/nvidia-vaapi-driver - fi - - if ! has_version "sys-libs/glibc"; then - elog - elog "glibc not found! You won't be able to play DRM content." - elog "See Gentoo bug #910309 or upstream bug #1843683." - elog - fi -} diff --git a/www-client/seamonkey/seamonkey-2.53.18.2-r1.ebuild b/www-client/seamonkey/seamonkey-2.53.18.2-r1.ebuild deleted file mode 100644 index f0d536cad6e9..000000000000 --- a/www-client/seamonkey/seamonkey-2.53.18.2-r1.ebuild +++ /dev/null @@ -1,554 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -WANT_AUTOCONF="2.1" - -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)' - -LLVM_COMPAT=( {17..18} ) - -# This list can be updated with scripts/get_langs.sh from the mozilla overlay -# note - could not roll langpacks for: ca fi -#MOZ_LANGS=(ca cs de en-GB es-AR es-ES fi fr gl hu it ja lt nb-NO nl pl pt-PT -# ru sk sv-SE tr uk zh-CN zh-TW) -MOZ_LANGS=(cs de en-GB es-AR es-ES fr hu it ja lt nl pl pt-PT - ru sk sv-SE zh-CN zh-TW) - -MOZ_PV="${PV}" -MOZ_PV="${MOZ_PV/_beta/b}" -MOZ_P="${P}" -MY_MOZ_P="${PN}-${MOZ_PV}" -PATCH_PV="2.53.18.2-r1" -PATCH="${PN}-${PATCH_PV}-patches" -PATCH_S="${WORKDIR}/gentoo-${PN}-patches-${PATCH_PV}" - -SRC_URI="https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source.tar.xz -> ${P}.source.tar.xz - https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source-l10n.tar.xz -> ${P}.source-l10n.tar.xz - https://github.com/BioMike/gentoo-${PN}-patches/archive/refs/tags/${PATCH_PV}.tar.gz -> ${PATCH}.tar.gz" - -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 - -DESCRIPTION="Seamonkey Web Browser" -HOMEPAGE="https://www.seamonkey-project.org/" - -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -SLOT="0" -SYSTEM_IUSE=( +system-{av1,harfbuzz,icu,jpeg,libevent,libvpx,png,sqlite} ) -IUSE="+chatzilla cpu_flags_arm_neon dbus +gmp-autoupdate +ipc jack -lto pulseaudio selinux startup-notification test webrtc wifi" -IUSE+=" ${SYSTEM_IUSE[@]}" -KEYWORDS="amd64 ~ppc64 x86" - -RESTRICT="!test? ( test )" - -BDEPEND=" - app-arch/unzip - app-arch/zip - >=dev-lang/nasm-2.13 - dev-lang/perl - dev-util/cbindgen - >=sys-devel/binutils-2.16.1 - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT}= - 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 ) -" -COMMON_DEPEND=" - app-arch/bzip2 - >=app-accessibility/at-spi2-core-2.46.0 - >=dev-libs/glib-2.26:2 - >=dev-libs/libffi-3.0.10:= - >=dev-libs/nspr-4.23 - >=dev-libs/nss-3.47.1 - media-libs/fontconfig - >=media-libs/freetype-2.4.10 - >=media-libs/mesa-10.2:= - >=sys-libs/zlib-1.2.3 - >=x11-libs/cairo-1.10[X] - x11-libs/gdk-pixbuf - x11-libs/gtk+:3[X] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrender - x11-libs/libXt - x11-libs/libxcb:= - >=x11-libs/pango-1.22.0 - x11-libs/pixman - media-video/ffmpeg - virtual/freedesktop-icon-theme - dbus? ( - >=dev-libs/dbus-glib-0.72 - >=sys-apps/dbus-0.60 - ) - jack? ( virtual/jack ) - kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) - pulseaudio? ( || ( - media-libs/libpulse - >=media-sound/apulse-0.1.9 - ) ) - startup-notification? ( >=x11-libs/startup-notification-0.8 ) - system-av1? ( - >=media-libs/dav1d-0.3.0:= - >=media-libs/libaom-1.0.0:= - ) - system-harfbuzz? ( - >=media-gfx/graphite2-1.3.9-r1 - >=media-libs/harfbuzz-1.3.3:0= - ) - system-icu? ( >=dev-libs/icu-59.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) - system-libevent? ( >=dev-libs/libevent-2.0:0= ) - system-libvpx? ( >=media-libs/libvpx-1.8.0:0=[postproc] ) - system-png? ( >=media-libs/libpng-1.6.31:0=[apng] ) - system-sqlite? ( >=dev-db/sqlite-3.38.2:3[secure-delete] ) - wifi? ( - kernel_linux? ( - >=dev-libs/dbus-glib-0.72 - net-misc/networkmanager - >=sys-apps/dbus-0.60 - ) - ) -" -RDEPEND="${COMMON_DEPEND} - selinux? ( sec-policy/selinux-mozilla ) -" -DEPEND="${COMMON_DEPEND} - x11-base/xorg-proto - amd64? ( virtual/opengl ) - x86? ( virtual/opengl ) -" - -QA_CONFIG_IMPL_DECL_SKIP=( - pthread_cond_timedwait_monotonic_np # Doesn't exist on Linux. Bug #905825 -) - -# allow GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -[[ -z ${GMP_PLUGIN_LIST} ]] && GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) - -BUILD_OBJ_DIR="${S}/seamonk" - -pkg_setup() { - if [[ ${PV} == *_beta* ]] || [[ ${PV} == *_pre* ]] ; then - ewarn - ewarn "You're using an unofficial release of ${PN}. Don't file any bug in" - ewarn "Gentoo's Bugtracker against this package in case it breaks for you." - ewarn "Those belong to upstream: https://bugzilla.mozilla.org" - fi - - llvm-r1_pkg_setup - einfo "Using LLVM slot ${LLVM_SLOT} to build." >&2 - - moz_pkgsetup -} - -pkg_pretend() { - # Ensure we have enough disk space to compile - if use lto || use test ; then - CHECKREQS_DISK_BUILD="16G" - else - CHECKREQS_DISK_BUILD="12G" - fi - check-reqs_pkg_setup -} - -spkg_setup() { - # Ensure we have enough disk space to compile - if use lto || use test ; then - CHECKREQS_DISK_BUILD="16G" - else - CHECKREQS_DISK_BUILD="12G" - fi - check-reqs_pkg_setup -} - -src_unpack() { - local l10n_sources="${P}.source-l10n.tar.xz" - unpack ${A/ ${l10n_sources}} - - mkdir "${S}/${P}-l10n" || die - cd "${S}/${P}-l10n" || die - unpack ${l10n_sources} -} - -src_prepare() { - # Apply our patches - eapply "${PATCH_S}/${PN}" - - # Shell scripts sometimes contain DOS line endings; bug 391889 - grep -rlZ --include="*.sh" $'\r$' . | - while read -r -d $'\0' file ; do - einfo edos2unix "${file}" - edos2unix "${file}" - done - - if use system-libvpx ; then - eapply -p2 "${PATCH_S}/USE_flag/1009_seamonkey-2.53.3-system_libvpx-1.8.patch" - fi - - # Fix for building on x86 https://bugs.gentoo.org/915336 (x86-only) - if use x86 ; then - eapply -p1 "${PATCH_S}/USE_flag/2021_seamonkey_2.53.17-floating-point_normalization_on_x86_build_fix.patch" - fi - - # Patch for people who use their systems ICU 74 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply -p1 "${PATCH_S}/USE_flag/2022-bmo-1862601-system-icu-74.patch" - fi - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Fix wrong include, as suggested by SM upstream. - sed -e 's|#include \"RemoteSpellCheckEngineChild.h\"|#include \"mozilla/RemoteSpellCheckEngineChild.h\"|' \ - -i extensions/spellcheck/src/mozSpellChecker.h || die - - # Ensure that are plugins dir is enabled as default - sed -i -e "s:/usr/$(get_libdir)/mozilla/plugins:/usr/$(get_libdir)/${PN}/plugins:" \ - xpcom/io/nsAppFileLocationProvider.cpp || die - - # Don't exit with error when some libs are missing which we have in - # system. - sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \ - -i comm/suite/installer/Makefile.in || die - # Don't error out when there's no files to be removed: - sed 's@\(xargs rm\)$@\1 -f@' \ - -i toolkit/mozapps/installer/packager.mk || die - - # Don't build libs-% locale files for chatzilla if we are not building chatzilla - # (this is hard-coded in the build system at present rather than being based on configuration) - if ! use chatzilla ; then - sed '/extensions\/irc\/locales libs-/s@^@#@' \ - -i comm/suite/locales/Makefile.in || die - fi - - eautoreconf old-configure.in - cd js/src || die - eautoconf old-configure.in -} - -src_configure() { - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc - - ###################################### - # - # mozconfig, CFLAGS and CXXFLAGS setup - # - ###################################### - - mozconfig_init - - ################################## - # Former mozconfig_config() part # - ################################## - - # Migrated from mozcoreconf-2 - mozconfig_annotate 'system_libs' --with-system-bz2 - mozconfig_annotate 'system_libs' --with-system-zlib - mozconfig_annotate 'system_libs' --enable-system-pixman - - # Disable for testing purposes only - mozconfig_annotate 'Upstream bug 1341234' --disable-stylo - - # Must pass release in order to properly select linker via gold useflag - mozconfig_annotate 'Enable by Gentoo' --enable-release - - # Broken on PPC64, but outdated and should not be used according to upstream. - mozconfig_annotate 'Outdated and broken, disabled' --disable-jemalloc - - # Must pass --enable-gold if using ld.gold - if tc-ld-is-gold ; then - mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold - else - mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold - fi - - # Debug is broken, disable debug symbols - mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols - - mozconfig_use_enable startup-notification - - # wifi pulls in dbus so manage both here - mozconfig_use_enable wifi necko-wifi - if use kernel_linux && use wifi && ! use dbus ; then - echo "Enabling dbus support due to wifi request" - mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus - else - mozconfig_use_enable dbus - mozconfig_annotate 'disabled' --disable-necko-wifi - fi - - # These are enabled by default in all mozilla applications - mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${ESYSROOT}"/usr - mozconfig_annotate '' --with-system-nss --with-nss-prefix="${ESYSROOT}"/usr - mozconfig_annotate '' --x-includes="${ESYSROOT}"/usr/include --x-libraries="${ESYSROOT}"/usr/$(get_libdir) - if use system-libevent ; then - mozconfig_annotate '' --with-system-libevent="${ESYSROOT}"/usr - fi - mozconfig_annotate '' --prefix="${EPREFIX}"/usr - mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) - mozconfig_annotate '' --disable-crashreporter - mozconfig_annotate '' --enable-system-ffi - mozconfig_annotate '' --disable-gconf - mozconfig_annotate '' --with-intl-api - - # default toolkit is cairo-gtk3, optional use flags can change this - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3 - - # Instead of the standard --build= and --host=, mozilla uses --host instead - # of --build, and --target intstead of --host. - # Note, mozilla also has --build but it does not do what you think it does. - # Set both --target and --host as mozilla uses python to guess values otherwise - mozconfig_annotate '' --target="${CHOST}" - mozconfig_annotate '' --host="${CBUILD:-${CHOST}}" - - mozconfig_use_enable pulseaudio - # force the deprecated alsa sound code if pulseaudio is disabled - if use kernel_linux && ! use pulseaudio ; then - mozconfig_annotate '-pulseaudio' --enable-alsa - fi - - # For testing purpose only - mozconfig_annotate 'Sandbox' --enable-content-sandbox - - mozconfig_use_enable system-sqlite - mozconfig_use_with system-jpeg - mozconfig_use_with system-icu - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-av1 - - # Modifications to better support ARM, bug 553364 - if use cpu_flags_arm_neon ; then - mozconfig_annotate '' --with-fpu=neon - mozconfig_annotate '' --with-thumb=yes - mozconfig_annotate '' --with-thumb-interwork=no - fi - if [[ ${CHOST} == armv* ]] ; then - mozconfig_annotate '' --with-float-abi=hard - if ! use system-libvpx ; then - sed -i -e "s|softfp|hard|" media/libvpx/moz.build || die - fi - fi - - if use lto ; then - # Linking only works when using ld.gold when LTO is enabled - mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold - # ThinLTO is currently broken, see bmo#1644409 - mozconfig_annotate '+lto' --enable-lto=full - else - if tc-ld-is-gold ; then - mozconfig_annotate "linker is set to gold" --enable-linker=gold - else - mozconfig_annotate "linker is set to bfd" --enable-linker=bfd - fi - fi - # LTO flag was handled via configure - filter-lto - - ################################## - # Former mozconfig_config() end # - ################################## - - # enable JACK, bug 600002 - mozconfig_use_enable jack - - # It doesn't compile on alpha without this LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - # Linking fails without this due to memory exhaustion - use x86 && append-ldflags "-Wl,--no-keep-memory" - - # Setup api key for location services - printf '%s' "${_google_api_key}" > "${S}"/google-api-key - mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key" - mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key" - - mozconfig_use_enable chatzilla irc - mozconfig_annotate '' --enable-dominspector - - # use startup-cache for faster startup time - mozconfig_annotate '' --enable-startupcache - - # Elf-hack is known to be broken on multiple archs. - # Disable it by default, because on the archs that still work, - # it also gives more problems than it solves. - # https://bugs.gentoo.org/851933 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1706264 - if use x86 || use arm64 || use arm || use amd64 ; then - mozconfig_annotate 'elf-hack is broken' --disable-elf-hack - fi - - # Disabled by default. See bug 836319 , comment 17. - if ! use webrtc ; then - mozconfig_annotate "disabled by Gentoo" --disable-webrtc - fi - - # Use an objdir to keep things organized. - echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig || die - echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig || die - - mozlinguas_mozconfig - - # Finalize and report settings - mozconfig_final - - # Work around breakage in makeopts with --no-print-directory - MAKEOPTS="${MAKEOPTS/--no-print-directory/}" - - if use amd64 || use x86 ; then - append-flags -mno-avx - fi - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - # Use system's Python environment - export MACH_USE_SYSTEM_PYTHON=1 - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # workaround for funky/broken upstream configure... - export SHELL="${SHELL:-${EPREFIX}/bin/bash}" - #emake V=1 -f client.mk configure - ./mach configure || die -} - -src_compile() { - #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \ - #emake V=1 -f client.mk - ./mach build --verbose || die - - mozlinguas_src_compile -} - -src_install() { - MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - DICTPATH="\"${EPREFIX}/usr/share/myspell\"" - - local emid - pushd "${BUILD_OBJ_DIR}" &>/dev/null || die - - # Pax mark xpcshell for hardened support, only used for startupcache creation. - pax-mark m dist/bin/xpcshell - - # Copy our preference before omnijar is created. - sed "s|SEAMONKEY_PVR|${PVR}|" "${FILESDIR}"/all-gentoo-1.js > \ - dist/bin/defaults/pref/all-gentoo.js \ - || die - - # Set default path to search for dictionaries. - echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \ - >> dist/bin/defaults/pref/all-gentoo.js \ - || die - - echo 'pref("extensions.autoDisableScopes", 3);' >> \ - dist/bin/defaults/pref/all-gentoo.js \ - || die - - local plugin - if ! use gmp-autoupdate ; then - for plugin in "${GMP_PLUGIN_LIST[@]}" ; do - echo "pref(\"media.${plugin}.autoupdate\", false);" >> \ - dist/bin/defaults/pref/all-gentoo.js || die - done - fi - - popd &>/dev/null || die - - #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ - #emake DESTDIR="${D}" install - DESTDIR="${D}" ./mach install || die - MOZ_P="${MY_MOZ_P}" mozlinguas_src_install - - cp "${FILESDIR}"/${PN}.desktop "${T}" || die - - sed 's|^\(MimeType=.*\)$|\1text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;|' \ - -i "${T}"/${PN}.desktop || die - sed 's|^\(Categories=.*\)$|\1Email;|' -i "${T}"/${PN}.desktop \ - || die - - # Install icon and .desktop for menu entry - newicon "${S}"/comm/suite/branding/${PN}/default64.png ${PN}.png - domenu "${T}"/${PN}.desktop - - # Required in order to use plugins and even run seamonkey on hardened. - pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{seamonkey,seamonkey-bin,plugin-container} - - if use chatzilla ; then - local emid='{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}' - - # remove the en_US-only xpi file so a version with all requested locales can be installed - if [[ -e "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi ]] ; then - rm -f "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi || die - fi - - # merge the extra locales into the main extension - mozlinguas_xpistage_langpacks dist/xpi-stage/chatzilla - - # install the merged extension - mkdir -p "${T}/${emid}" || die - cp -RLp -t "${T}/${emid}" dist/xpi-stage/chatzilla/* || die - insinto ${MOZILLA_FIVE_HOME}/extensions - doins -r "${T}/${emid}" - fi - - # Provide a place for plugins - keepdir "${MOZILLA_FIVE_HOME}/plugins" - - # revdep-rebuild entry - insinto /etc/revdep-rebuild - echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}*" >> "${T}"/11${PN} || die - doins "${T}"/11${PN} -} - -pkg_preinst() { - SEAMONKEY_PLUGINS_DIR="${EROOT}/usr/$(get_libdir)/${PN}/plugins" - - if [[ -L "${SEAMONKEY_PLUGINS_DIR}" ]] ; then - rm "${SEAMONKEY_PLUGINS_DIR}" || die - fi -} - -pkg_postinst() { - # Update mimedb for the new .desktop file - xdg_desktop_database_update - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${GMP_PLUGIN_LIST[@]}"; do - elog "\t ${plugin}" ; - done - fi - - if use chatzilla ; then - elog "chatzilla is now an extension which can be en-/disabled and configured via" - elog "the Add-on manager." - fi -} - -pkg_postrm() { - xdg_desktop_database_update -} diff --git a/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild b/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild new file mode 100644 index 000000000000..4a35f691bde8 --- /dev/null +++ b/www-client/seamonkey/seamonkey-2.53.18.2-r2.ebuild @@ -0,0 +1,554 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WANT_AUTOCONF="2.1" + +PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)' + +LLVM_COMPAT=( {17..18} ) + +# This list can be updated with scripts/get_langs.sh from the mozilla overlay +# note - could not roll langpacks for: ca fi +#MOZ_LANGS=(ca cs de en-GB es-AR es-ES fi fr gl hu it ja lt nb-NO nl pl pt-PT +# ru sk sv-SE tr uk zh-CN zh-TW) +MOZ_LANGS=(cs de en-GB es-AR es-ES fr hu it ja lt nl pl pt-PT + ru sk sv-SE zh-CN zh-TW) + +MOZ_PV="${PV}" +MOZ_PV="${MOZ_PV/_beta/b}" +MOZ_P="${P}" +MY_MOZ_P="${PN}-${MOZ_PV}" +PATCH_PV="2.53.18.2-r1" +PATCH="${PN}-${PATCH_PV}-patches" +PATCH_S="${WORKDIR}/gentoo-${PN}-patches-${PATCH_PV}" + +SRC_URI="https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source.tar.xz -> ${P}.source.tar.xz + https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source-l10n.tar.xz -> ${P}.source-l10n.tar.xz + https://github.com/BioMike/gentoo-${PN}-patches/archive/refs/tags/${PATCH_PV}.tar.gz -> ${PATCH}.tar.gz" + +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 \ + rust toolchain-funcs xdg-utils + +DESCRIPTION="Seamonkey Web Browser" +HOMEPAGE="https://www.seamonkey-project.org/" + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="0" +SYSTEM_IUSE=( +system-{av1,harfbuzz,icu,jpeg,libevent,libvpx,png,sqlite} ) +IUSE="+chatzilla cpu_flags_arm_neon dbus +gmp-autoupdate +ipc jack +lto pulseaudio selinux startup-notification test webrtc wifi" +IUSE+=" ${SYSTEM_IUSE[@]}" +KEYWORDS="amd64 ~ppc64 x86" + +RESTRICT="!test? ( test )" + +BDEPEND=" + app-arch/unzip + app-arch/zip + >=dev-lang/nasm-2.13 + dev-lang/perl + dev-util/cbindgen + >=sys-devel/binutils-2.16.1 + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT}= + sys-devel/llvm:${LLVM_SLOT}= + ') + virtual/pkgconfig + amd64? ( >=dev-lang/yasm-1.1 ) + lto? ( sys-devel/binutils[gold] ) + x86? ( >=dev-lang/yasm-1.1 ) +" +COMMON_DEPEND=" + app-arch/bzip2 + >=app-accessibility/at-spi2-core-2.46.0 + >=dev-libs/glib-2.26:2 + >=dev-libs/libffi-3.0.10:= + >=dev-libs/nspr-4.23 + >=dev-libs/nss-3.47.1 + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + >=media-libs/mesa-10.2:= + >=sys-libs/zlib-1.2.3 + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXt + x11-libs/libxcb:= + >=x11-libs/pango-1.22.0 + x11-libs/pixman + media-video/ffmpeg + virtual/freedesktop-icon-theme + dbus? ( + >=dev-libs/dbus-glib-0.72 + >=sys-apps/dbus-0.60 + ) + jack? ( virtual/jack ) + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) + pulseaudio? ( || ( + media-libs/libpulse + >=media-sound/apulse-0.1.9 + ) ) + startup-notification? ( >=x11-libs/startup-notification-0.8 ) + system-av1? ( + >=media-libs/dav1d-0.3.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.9-r1 + >=media-libs/harfbuzz-1.3.3:0= + ) + system-icu? ( >=dev-libs/icu-59.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0= ) + system-libvpx? ( >=media-libs/libvpx-1.8.0:0=[postproc] ) + system-png? ( >=media-libs/libpng-1.6.31:0=[apng] ) + system-sqlite? ( >=dev-db/sqlite-3.38.2:3[secure-delete] ) + wifi? ( + kernel_linux? ( + >=dev-libs/dbus-glib-0.72 + net-misc/networkmanager + >=sys-apps/dbus-0.60 + ) + ) +" +RDEPEND="${COMMON_DEPEND} + selinux? ( sec-policy/selinux-mozilla ) +" +DEPEND="${COMMON_DEPEND} + x11-base/xorg-proto + amd64? ( virtual/opengl ) + x86? ( virtual/opengl ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + pthread_cond_timedwait_monotonic_np # Doesn't exist on Linux. Bug #905825 +) + +# allow GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +[[ -z ${GMP_PLUGIN_LIST} ]] && GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) + +BUILD_OBJ_DIR="${S}/seamonk" + +pkg_setup() { + if [[ ${PV} == *_beta* ]] || [[ ${PV} == *_pre* ]] ; then + ewarn + ewarn "You're using an unofficial release of ${PN}. Don't file any bug in" + ewarn "Gentoo's Bugtracker against this package in case it breaks for you." + ewarn "Those belong to upstream: https://bugzilla.mozilla.org" + fi + + llvm-r1_pkg_setup + einfo "Using LLVM slot ${LLVM_SLOT} to build." >&2 + rust_pkg_setup + + moz_pkgsetup +} + +pkg_pretend() { + # Ensure we have enough disk space to compile + if use lto || use test ; then + CHECKREQS_DISK_BUILD="16G" + else + CHECKREQS_DISK_BUILD="12G" + fi + check-reqs_pkg_setup +} + +spkg_setup() { + # Ensure we have enough disk space to compile + if use lto || use test ; then + CHECKREQS_DISK_BUILD="16G" + else + CHECKREQS_DISK_BUILD="12G" + fi + check-reqs_pkg_setup +} + +src_unpack() { + local l10n_sources="${P}.source-l10n.tar.xz" + unpack ${A/ ${l10n_sources}} + + mkdir "${S}/${P}-l10n" || die + cd "${S}/${P}-l10n" || die + unpack ${l10n_sources} +} + +src_prepare() { + # Apply our patches + eapply "${PATCH_S}/${PN}" + + # Shell scripts sometimes contain DOS line endings; bug 391889 + grep -rlZ --include="*.sh" $'\r$' . | + while read -r -d $'\0' file ; do + einfo edos2unix "${file}" + edos2unix "${file}" + done + + if use system-libvpx ; then + eapply -p2 "${PATCH_S}/USE_flag/1009_seamonkey-2.53.3-system_libvpx-1.8.patch" + fi + + # Fix for building on x86 https://bugs.gentoo.org/915336 (x86-only) + if use x86 ; then + eapply -p1 "${PATCH_S}/USE_flag/2021_seamonkey_2.53.17-floating-point_normalization_on_x86_build_fix.patch" + fi + + # Patch for people who use their systems ICU 74 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply -p1 "${PATCH_S}/USE_flag/2022-bmo-1862601-system-icu-74.patch" + fi + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Fix wrong include, as suggested by SM upstream. + sed -e 's|#include \"RemoteSpellCheckEngineChild.h\"|#include \"mozilla/RemoteSpellCheckEngineChild.h\"|' \ + -i extensions/spellcheck/src/mozSpellChecker.h || die + + # Ensure that are plugins dir is enabled as default + sed -i -e "s:/usr/$(get_libdir)/mozilla/plugins:/usr/$(get_libdir)/${PN}/plugins:" \ + xpcom/io/nsAppFileLocationProvider.cpp || die + + # Don't exit with error when some libs are missing which we have in + # system. + sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \ + -i comm/suite/installer/Makefile.in || die + # Don't error out when there's no files to be removed: + sed 's@\(xargs rm\)$@\1 -f@' \ + -i toolkit/mozapps/installer/packager.mk || die + + # Don't build libs-% locale files for chatzilla if we are not building chatzilla + # (this is hard-coded in the build system at present rather than being based on configuration) + if ! use chatzilla ; then + sed '/extensions\/irc\/locales libs-/s@^@#@' \ + -i comm/suite/locales/Makefile.in || die + fi + + eautoreconf old-configure.in + cd js/src || die + eautoconf old-configure.in +} + +src_configure() { + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc + + ###################################### + # + # mozconfig, CFLAGS and CXXFLAGS setup + # + ###################################### + + mozconfig_init + + ################################## + # Former mozconfig_config() part # + ################################## + + # Migrated from mozcoreconf-2 + mozconfig_annotate 'system_libs' --with-system-bz2 + mozconfig_annotate 'system_libs' --with-system-zlib + mozconfig_annotate 'system_libs' --enable-system-pixman + + # Disable for testing purposes only + mozconfig_annotate 'Upstream bug 1341234' --disable-stylo + + # Must pass release in order to properly select linker via gold useflag + mozconfig_annotate 'Enable by Gentoo' --enable-release + + # Broken on PPC64, but outdated and should not be used according to upstream. + mozconfig_annotate 'Outdated and broken, disabled' --disable-jemalloc + + # Must pass --enable-gold if using ld.gold + if tc-ld-is-gold ; then + mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold + else + mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold + fi + + # Debug is broken, disable debug symbols + mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols + + mozconfig_use_enable startup-notification + + # wifi pulls in dbus so manage both here + mozconfig_use_enable wifi necko-wifi + if use kernel_linux && use wifi && ! use dbus ; then + echo "Enabling dbus support due to wifi request" + mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus + else + mozconfig_use_enable dbus + mozconfig_annotate 'disabled' --disable-necko-wifi + fi + + # These are enabled by default in all mozilla applications + mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${ESYSROOT}"/usr + mozconfig_annotate '' --with-system-nss --with-nss-prefix="${ESYSROOT}"/usr + mozconfig_annotate '' --x-includes="${ESYSROOT}"/usr/include --x-libraries="${ESYSROOT}"/usr/$(get_libdir) + if use system-libevent ; then + mozconfig_annotate '' --with-system-libevent="${ESYSROOT}"/usr + fi + mozconfig_annotate '' --prefix="${EPREFIX}"/usr + mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) + mozconfig_annotate '' --disable-crashreporter + mozconfig_annotate '' --enable-system-ffi + mozconfig_annotate '' --disable-gconf + mozconfig_annotate '' --with-intl-api + + # default toolkit is cairo-gtk3, optional use flags can change this + mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3 + + # Instead of the standard --build= and --host=, mozilla uses --host instead + # of --build, and --target intstead of --host. + # Note, mozilla also has --build but it does not do what you think it does. + # Set both --target and --host as mozilla uses python to guess values otherwise + mozconfig_annotate '' --target="${CHOST}" + mozconfig_annotate '' --host="${CBUILD:-${CHOST}}" + + mozconfig_use_enable pulseaudio + # force the deprecated alsa sound code if pulseaudio is disabled + if use kernel_linux && ! use pulseaudio ; then + mozconfig_annotate '-pulseaudio' --enable-alsa + fi + + # For testing purpose only + mozconfig_annotate 'Sandbox' --enable-content-sandbox + + mozconfig_use_enable system-sqlite + mozconfig_use_with system-jpeg + mozconfig_use_with system-icu + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-av1 + + # Modifications to better support ARM, bug 553364 + if use cpu_flags_arm_neon ; then + mozconfig_annotate '' --with-fpu=neon + mozconfig_annotate '' --with-thumb=yes + mozconfig_annotate '' --with-thumb-interwork=no + fi + if [[ ${CHOST} == armv* ]] ; then + mozconfig_annotate '' --with-float-abi=hard + if ! use system-libvpx ; then + sed -i -e "s|softfp|hard|" media/libvpx/moz.build || die + fi + fi + + if use lto ; then + # Linking only works when using ld.gold when LTO is enabled + mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold + # ThinLTO is currently broken, see bmo#1644409 + mozconfig_annotate '+lto' --enable-lto=full + else + if tc-ld-is-gold ; then + mozconfig_annotate "linker is set to gold" --enable-linker=gold + else + mozconfig_annotate "linker is set to bfd" --enable-linker=bfd + fi + fi + # LTO flag was handled via configure + filter-lto + + ################################## + # Former mozconfig_config() end # + ################################## + + # enable JACK, bug 600002 + mozconfig_use_enable jack + + # It doesn't compile on alpha without this LDFLAGS + use alpha && append-ldflags "-Wl,--no-relax" + + # Linking fails without this due to memory exhaustion + use x86 && append-ldflags "-Wl,--no-keep-memory" + + # Setup api key for location services + printf '%s' "${_google_api_key}" > "${S}"/google-api-key + mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key" + mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key" + + mozconfig_use_enable chatzilla irc + mozconfig_annotate '' --enable-dominspector + + # use startup-cache for faster startup time + mozconfig_annotate '' --enable-startupcache + + # Elf-hack is known to be broken on multiple archs. + # Disable it by default, because on the archs that still work, + # it also gives more problems than it solves. + # https://bugs.gentoo.org/851933 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1706264 + if use x86 || use arm64 || use arm || use amd64 ; then + mozconfig_annotate 'elf-hack is broken' --disable-elf-hack + fi + + # Disabled by default. See bug 836319 , comment 17. + if ! use webrtc ; then + mozconfig_annotate "disabled by Gentoo" --disable-webrtc + fi + + # Use an objdir to keep things organized. + echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig || die + echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig || die + + mozlinguas_mozconfig + + # Finalize and report settings + mozconfig_final + + # Work around breakage in makeopts with --no-print-directory + MAKEOPTS="${MAKEOPTS/--no-print-directory/}" + + if use amd64 || use x86 ; then + append-flags -mno-avx + fi + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + # Use system's Python environment + export MACH_USE_SYSTEM_PYTHON=1 + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # workaround for funky/broken upstream configure... + export SHELL="${SHELL:-${EPREFIX}/bin/bash}" + #emake V=1 -f client.mk configure + ./mach configure || die +} + +src_compile() { + #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \ + #emake V=1 -f client.mk + ./mach build --verbose || die + + mozlinguas_src_compile +} + +src_install() { + MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + DICTPATH="\"${EPREFIX}/usr/share/myspell\"" + + local emid + pushd "${BUILD_OBJ_DIR}" &>/dev/null || die + + # Pax mark xpcshell for hardened support, only used for startupcache creation. + pax-mark m dist/bin/xpcshell + + # Copy our preference before omnijar is created. + sed "s|SEAMONKEY_PVR|${PVR}|" "${FILESDIR}"/all-gentoo-1.js > \ + dist/bin/defaults/pref/all-gentoo.js \ + || die + + # Set default path to search for dictionaries. + echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \ + >> dist/bin/defaults/pref/all-gentoo.js \ + || die + + echo 'pref("extensions.autoDisableScopes", 3);' >> \ + dist/bin/defaults/pref/all-gentoo.js \ + || die + + local plugin + if ! use gmp-autoupdate ; then + for plugin in "${GMP_PLUGIN_LIST[@]}" ; do + echo "pref(\"media.${plugin}.autoupdate\", false);" >> \ + dist/bin/defaults/pref/all-gentoo.js || die + done + fi + + popd &>/dev/null || die + + #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ + #emake DESTDIR="${D}" install + DESTDIR="${D}" ./mach install || die + MOZ_P="${MY_MOZ_P}" mozlinguas_src_install + + cp "${FILESDIR}"/${PN}.desktop "${T}" || die + + sed 's|^\(MimeType=.*\)$|\1text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;|' \ + -i "${T}"/${PN}.desktop || die + sed 's|^\(Categories=.*\)$|\1Email;|' -i "${T}"/${PN}.desktop \ + || die + + # Install icon and .desktop for menu entry + newicon "${S}"/comm/suite/branding/${PN}/default64.png ${PN}.png + domenu "${T}"/${PN}.desktop + + # Required in order to use plugins and even run seamonkey on hardened. + pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{seamonkey,seamonkey-bin,plugin-container} + + if use chatzilla ; then + local emid='{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}' + + # remove the en_US-only xpi file so a version with all requested locales can be installed + if [[ -e "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi ]] ; then + rm -f "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi || die + fi + + # merge the extra locales into the main extension + mozlinguas_xpistage_langpacks dist/xpi-stage/chatzilla + + # install the merged extension + mkdir -p "${T}/${emid}" || die + cp -RLp -t "${T}/${emid}" dist/xpi-stage/chatzilla/* || die + insinto ${MOZILLA_FIVE_HOME}/extensions + doins -r "${T}/${emid}" + fi + + # Provide a place for plugins + keepdir "${MOZILLA_FIVE_HOME}/plugins" + + # revdep-rebuild entry + insinto /etc/revdep-rebuild + echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}*" >> "${T}"/11${PN} || die + doins "${T}"/11${PN} +} + +pkg_preinst() { + SEAMONKEY_PLUGINS_DIR="${EROOT}/usr/$(get_libdir)/${PN}/plugins" + + if [[ -L "${SEAMONKEY_PLUGINS_DIR}" ]] ; then + rm "${SEAMONKEY_PLUGINS_DIR}" || die + fi +} + +pkg_postinst() { + # Update mimedb for the new .desktop file + xdg_desktop_database_update + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${GMP_PLUGIN_LIST[@]}"; do + elog "\t ${plugin}" ; + done + fi + + if use chatzilla ; then + elog "chatzilla is now an extension which can be en-/disabled and configured via" + elog "the Add-on manager." + fi +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild b/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild new file mode 100644 index 000000000000..7c4e59bd5119 --- /dev/null +++ b/www-client/seamonkey/seamonkey-2.53.19-r1.ebuild @@ -0,0 +1,554 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WANT_AUTOCONF="2.1" + +PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)' + +LLVM_COMPAT=( {17..18} ) + +# This list can be updated with scripts/get_langs.sh from the mozilla overlay +# note - could not roll langpacks for: ca fi +#MOZ_LANGS=(ca cs de en-GB es-AR es-ES fi fr gl hu it ja lt nb-NO nl pl pt-PT +# ru sk sv-SE tr uk zh-CN zh-TW) +MOZ_LANGS=(cs de en-GB es-AR es-ES fr hu it ja lt nl pl pt-PT + ru sk sv-SE zh-CN zh-TW) + +MOZ_PV="${PV}" +MOZ_PV="${MOZ_PV/_beta/b}" +MOZ_P="${P}" +MY_MOZ_P="${PN}-${MOZ_PV}" +PATCH_PV="2.53.19" +PATCH="${PN}-${PATCH_PV}-patches" +PATCH_S="${WORKDIR}/gentoo-${PN}-patches-${PATCH_PV}" + +DESCRIPTION="Seamonkey Web Browser" +HOMEPAGE="https://www.seamonkey-project.org/" + +SRC_URI="https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source.tar.xz + https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source-l10n.tar.xz + https://github.com/BioMike/gentoo-${PN}-patches/archive/refs/tags/${PATCH_PV}.tar.gz -> ${PATCH}.tar.gz" + +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 \ + rust toolchain-funcs xdg-utils + +LICENSE="MPL-2.0 GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~ppc64 ~x86" +SYSTEM_IUSE=( +system-{av1,harfbuzz,icu,jpeg,libevent,libvpx,png,sqlite} ) +IUSE="+chatzilla cpu_flags_arm_neon dbus +gmp-autoupdate +ipc jack +lto pulseaudio selinux startup-notification test webrtc wifi" +IUSE+=" ${SYSTEM_IUSE[@]}" + +RESTRICT="!test? ( test )" + +BDEPEND=" + app-arch/unzip + app-arch/zip + >=dev-lang/nasm-2.13 + dev-lang/perl + dev-util/cbindgen + >=sys-devel/binutils-2.16.1 + $(llvm_gen_dep ' + sys-devel/clang:${LLVM_SLOT}= + sys-devel/llvm:${LLVM_SLOT}= + ') + virtual/pkgconfig + amd64? ( >=dev-lang/yasm-1.1 ) + lto? ( sys-devel/binutils[gold] ) + x86? ( >=dev-lang/yasm-1.1 ) +" +COMMON_DEPEND=" + app-arch/bzip2 + >=app-accessibility/at-spi2-core-2.46.0 + >=dev-libs/glib-2.26:2 + >=dev-libs/libffi-3.0.10:= + >=dev-libs/nspr-4.23 + >=dev-libs/nss-3.47.1 + media-libs/fontconfig + >=media-libs/freetype-2.4.10 + >=media-libs/mesa-10.2:= + >=sys-libs/zlib-1.2.3 + >=x11-libs/cairo-1.10[X] + x11-libs/gdk-pixbuf + x11-libs/gtk+:3[X] + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrender + x11-libs/libXt + x11-libs/libxcb:= + >=x11-libs/pango-1.22.0 + x11-libs/pixman + media-video/ffmpeg + virtual/freedesktop-icon-theme + dbus? ( + >=dev-libs/dbus-glib-0.72 + >=sys-apps/dbus-0.60 + ) + jack? ( virtual/jack ) + kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) + pulseaudio? ( || ( + media-libs/libpulse + >=media-sound/apulse-0.1.9 + ) ) + startup-notification? ( >=x11-libs/startup-notification-0.8 ) + system-av1? ( + >=media-libs/dav1d-0.3.0:= + >=media-libs/libaom-1.0.0:= + ) + system-harfbuzz? ( + >=media-gfx/graphite2-1.3.9-r1 + >=media-libs/harfbuzz-1.3.3:0= + ) + system-icu? ( >=dev-libs/icu-59.1:= ) + system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) + system-libevent? ( >=dev-libs/libevent-2.0:0= ) + system-libvpx? ( >=media-libs/libvpx-1.8.0:0=[postproc] ) + system-png? ( >=media-libs/libpng-1.6.31:0=[apng] ) + system-sqlite? ( >=dev-db/sqlite-3.38.2:3[secure-delete] ) + wifi? ( + kernel_linux? ( + >=dev-libs/dbus-glib-0.72 + net-misc/networkmanager + >=sys-apps/dbus-0.60 + ) + ) +" +RDEPEND="${COMMON_DEPEND} + selinux? ( sec-policy/selinux-mozilla ) +" +DEPEND="${COMMON_DEPEND} + x11-base/xorg-proto + amd64? ( virtual/opengl ) + x86? ( virtual/opengl ) +" + +QA_CONFIG_IMPL_DECL_SKIP=( + pthread_cond_timedwait_monotonic_np # Doesn't exist on Linux. Bug #905825 +) + +# allow GMP_PLUGIN_LIST to be set in an eclass or +# overridden in the enviromnent (advanced hackers only) +[[ -z ${GMP_PLUGIN_LIST} ]] && GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) + +BUILD_OBJ_DIR="${S}/seamonk" + +pkg_setup() { + if [[ ${PV} == *_beta* ]] ; then + ewarn + ewarn "You're using an unofficial release of ${PN}. Don't file any bug in" + ewarn "Gentoo's Bugtracker against this package in case it breaks for you." + ewarn "Those belong to upstream: https://bugzilla.mozilla.org" + fi + + llvm-r1_pkg_setup + einfo "Using LLVM slot ${LLVM_SLOT} to build." >&2 + + rust_pkg_setup + moz_pkgsetup +} + +pkg_pretend() { + # Ensure we have enough disk space to compile + if use lto || use test ; then + CHECKREQS_DISK_BUILD="16G" + else + CHECKREQS_DISK_BUILD="12G" + fi + check-reqs_pkg_setup +} + +spkg_setup() { + # Ensure we have enough disk space to compile + if use lto || use test ; then + CHECKREQS_DISK_BUILD="16G" + else + CHECKREQS_DISK_BUILD="12G" + fi + check-reqs_pkg_setup +} + +src_unpack() { + local l10n_sources="${MY_MOZ_P}.source-l10n.tar.xz" + unpack ${A/ ${l10n_sources}} + + mkdir "${S}/${P}-l10n" || die + cd "${S}/${P}-l10n" || die + unpack ${l10n_sources} +} + +src_prepare() { + # Apply our patches + eapply "${PATCH_S}/${PN}" + + # Shell scripts sometimes contain DOS line endings; bug 391889 + grep -rlZ --include="*.sh" $'\r$' . | + while read -r -d $'\0' file ; do + einfo edos2unix "${file}" + edos2unix "${file}" + done + + if use system-libvpx ; then + eapply -p2 "${PATCH_S}/USE_flag/1009_seamonkey-2.53.3-system_libvpx-1.8.patch" + fi + + # Fix for building on x86 https://bugs.gentoo.org/915336 (x86-only) + if use x86 ; then + eapply -p1 "${PATCH_S}/USE_flag/2021_seamonkey_2.53.17-floating-point_normalization_on_x86_build_fix.patch" + fi + + # Patch for people who use their systems ICU 74 + if has_version ">=dev-libs/icu-74.1" && use system-icu ; then + eapply -p1 "${PATCH_S}/USE_flag/2022-bmo-1862601-system-icu-74.patch" + fi + + # Allow user to apply any additional patches without modifing ebuild + eapply_user + + # Fix wrong include, as suggested by SM upstream. + sed -e 's|#include \"RemoteSpellCheckEngineChild.h\"|#include \"mozilla/RemoteSpellCheckEngineChild.h\"|' \ + -i extensions/spellcheck/src/mozSpellChecker.h || die + + # Ensure that are plugins dir is enabled as default + sed -i -e "s:/usr/$(get_libdir)/mozilla/plugins:/usr/$(get_libdir)/${PN}/plugins:" \ + xpcom/io/nsAppFileLocationProvider.cpp || die + + # Don't exit with error when some libs are missing which we have in + # system. + sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \ + -i comm/suite/installer/Makefile.in || die + # Don't error out when there's no files to be removed: + sed 's@\(xargs rm\)$@\1 -f@' \ + -i toolkit/mozapps/installer/packager.mk || die + + # Don't build libs-% locale files for chatzilla if we are not building chatzilla + # (this is hard-coded in the build system at present rather than being based on configuration) + if ! use chatzilla ; then + sed '/extensions\/irc\/locales libs-/s@^@#@' \ + -i comm/suite/locales/Makefile.in || die + fi + + eautoreconf old-configure.in + cd js/src || die + eautoconf old-configure.in +} + +src_configure() { + # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) + # Note: These are for Gentoo Linux use ONLY. For your own distribution, please + # get your own set of keys. + _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc + + ###################################### + # + # mozconfig, CFLAGS and CXXFLAGS setup + # + ###################################### + + mozconfig_init + + ################################## + # Former mozconfig_config() part # + ################################## + + # Migrated from mozcoreconf-2 + mozconfig_annotate 'system_libs' --with-system-bz2 + mozconfig_annotate 'system_libs' --with-system-zlib + mozconfig_annotate 'system_libs' --enable-system-pixman + + # Disable for testing purposes only + mozconfig_annotate 'Upstream bug 1341234' --disable-stylo + + # Must pass release in order to properly select linker via gold useflag + mozconfig_annotate 'Enable by Gentoo' --enable-release + + # Broken on PPC64, but outdated and should not be used according to upstream. + mozconfig_annotate 'Outdated and broken, disabled' --disable-jemalloc + + # Must pass --enable-gold if using ld.gold + if tc-ld-is-gold ; then + mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold + else + mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold + fi + + # Debug is broken, disable debug symbols + mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols + + mozconfig_use_enable startup-notification + + # wifi pulls in dbus so manage both here + mozconfig_use_enable wifi necko-wifi + if use kernel_linux && use wifi && ! use dbus ; then + echo "Enabling dbus support due to wifi request" + mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus + else + mozconfig_use_enable dbus + mozconfig_annotate 'disabled' --disable-necko-wifi + fi + + # These are enabled by default in all mozilla applications + mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${ESYSROOT}"/usr + mozconfig_annotate '' --with-system-nss --with-nss-prefix="${ESYSROOT}"/usr + mozconfig_annotate '' --x-includes="${ESYSROOT}"/usr/include --x-libraries="${ESYSROOT}"/usr/$(get_libdir) + if use system-libevent ; then + mozconfig_annotate '' --with-system-libevent="${ESYSROOT}"/usr + fi + mozconfig_annotate '' --prefix="${EPREFIX}"/usr + mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) + mozconfig_annotate '' --disable-crashreporter + mozconfig_annotate '' --enable-system-ffi + mozconfig_annotate '' --disable-gconf + mozconfig_annotate '' --with-intl-api + + # default toolkit is cairo-gtk3, optional use flags can change this + mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3 + + # Instead of the standard --build= and --host=, mozilla uses --host instead + # of --build, and --target intstead of --host. + # Note, mozilla also has --build but it does not do what you think it does. + # Set both --target and --host as mozilla uses python to guess values otherwise + mozconfig_annotate '' --target="${CHOST}" + mozconfig_annotate '' --host="${CBUILD:-${CHOST}}" + + mozconfig_use_enable pulseaudio + # force the deprecated alsa sound code if pulseaudio is disabled + if use kernel_linux && ! use pulseaudio ; then + mozconfig_annotate '-pulseaudio' --enable-alsa + fi + + # For testing purpose only + mozconfig_annotate 'Sandbox' --enable-content-sandbox + + mozconfig_use_enable system-sqlite + mozconfig_use_with system-jpeg + mozconfig_use_with system-icu + mozconfig_use_with system-libvpx + mozconfig_use_with system-png + mozconfig_use_with system-harfbuzz + mozconfig_use_with system-harfbuzz system-graphite2 + mozconfig_use_with system-av1 + + # Modifications to better support ARM, bug 553364 + if use cpu_flags_arm_neon ; then + mozconfig_annotate '' --with-fpu=neon + mozconfig_annotate '' --with-thumb=yes + mozconfig_annotate '' --with-thumb-interwork=no + fi + if [[ ${CHOST} == armv* ]] ; then + mozconfig_annotate '' --with-float-abi=hard + if ! use system-libvpx ; then + sed -i -e "s|softfp|hard|" media/libvpx/moz.build || die + fi + fi + + if use lto ; then + # Linking only works when using ld.gold when LTO is enabled + mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold + # ThinLTO is currently broken, see bmo#1644409 + mozconfig_annotate '+lto' --enable-lto=full + else + if tc-ld-is-gold ; then + mozconfig_annotate "linker is set to gold" --enable-linker=gold + else + mozconfig_annotate "linker is set to bfd" --enable-linker=bfd + fi + fi + # LTO flag was handled via configure + filter-lto + + ################################## + # Former mozconfig_config() end # + ################################## + + # enable JACK, bug 600002 + mozconfig_use_enable jack + + # It doesn't compile on alpha without this LDFLAGS + use alpha && append-ldflags "-Wl,--no-relax" + + # Linking fails without this due to memory exhaustion + use x86 && append-ldflags "-Wl,--no-keep-memory" + + # Setup api key for location services + printf '%s' "${_google_api_key}" > "${S}"/google-api-key + mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key" + mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key" + + mozconfig_use_enable chatzilla irc + mozconfig_annotate '' --enable-dominspector + + # use startup-cache for faster startup time + mozconfig_annotate '' --enable-startupcache + + # Elf-hack is known to be broken on multiple archs. + # Disable it by default, because on the archs that still work, + # it also gives more problems than it solves. + # https://bugs.gentoo.org/851933 + # https://bugzilla.mozilla.org/show_bug.cgi?id=1706264 + if use x86 || use arm64 || use arm || use amd64 ; then + mozconfig_annotate 'elf-hack is broken' --disable-elf-hack + fi + + # Disabled by default. See bug 836319 , comment 17. + if ! use webrtc ; then + mozconfig_annotate "disabled by Gentoo" --disable-webrtc + fi + + # Use an objdir to keep things organized. + echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig || die + echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig || die + + mozlinguas_mozconfig + + # Finalize and report settings + mozconfig_final + + # Work around breakage in makeopts with --no-print-directory + MAKEOPTS="${MAKEOPTS/--no-print-directory/}" + + if use amd64 || use x86 ; then + append-flags -mno-avx + fi + + # Pass $MAKEOPTS to build system + export MOZ_MAKE_FLAGS="${MAKEOPTS}" + # Use system's Python environment + export MACH_USE_SYSTEM_PYTHON=1 + # Disable notification when build system has finished + export MOZ_NOSPAM=1 + + # workaround for funky/broken upstream configure... + export SHELL="${SHELL:-${EPREFIX}/bin/bash}" + #emake V=1 -f client.mk configure + ./mach configure || die +} + +src_compile() { + #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \ + #emake V=1 -f client.mk + ./mach build --verbose || die + + mozlinguas_src_compile +} + +src_install() { + MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" + DICTPATH="\"${EPREFIX}/usr/share/myspell\"" + + local emid + pushd "${BUILD_OBJ_DIR}" &>/dev/null || die + + # Pax mark xpcshell for hardened support, only used for startupcache creation. + pax-mark m dist/bin/xpcshell + + # Copy our preference before omnijar is created. + sed "s|SEAMONKEY_PVR|${PVR}|" "${FILESDIR}"/all-gentoo-1.js > \ + dist/bin/defaults/pref/all-gentoo.js \ + || die + + # Set default path to search for dictionaries. + echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \ + >> dist/bin/defaults/pref/all-gentoo.js \ + || die + + echo 'pref("extensions.autoDisableScopes", 3);' >> \ + dist/bin/defaults/pref/all-gentoo.js \ + || die + + local plugin + if ! use gmp-autoupdate ; then + for plugin in "${GMP_PLUGIN_LIST[@]}" ; do + echo "pref(\"media.${plugin}.autoupdate\", false);" >> \ + dist/bin/defaults/pref/all-gentoo.js || die + done + fi + + popd &>/dev/null || die + + #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ + #emake DESTDIR="${D}" install + DESTDIR="${D}" ./mach install || die + MOZ_P="${MY_MOZ_P}" mozlinguas_src_install + + cp "${FILESDIR}"/${PN}.desktop "${T}" || die + + sed 's|^\(MimeType=.*\)$|\1text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;|' \ + -i "${T}"/${PN}.desktop || die + sed 's|^\(Categories=.*\)$|\1Email;|' -i "${T}"/${PN}.desktop \ + || die + + # Install icon and .desktop for menu entry + newicon "${S}"/comm/suite/branding/${PN}/default64.png ${PN}.png + domenu "${T}"/${PN}.desktop + + # Required in order to use plugins and even run seamonkey on hardened. + pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{seamonkey,seamonkey-bin,plugin-container} + + if use chatzilla ; then + local emid='{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}' + + # remove the en_US-only xpi file so a version with all requested locales can be installed + if [[ -e "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi ]] ; then + rm -f "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi || die + fi + + # merge the extra locales into the main extension + mozlinguas_xpistage_langpacks dist/xpi-stage/chatzilla + + # install the merged extension + mkdir -p "${T}/${emid}" || die + cp -RLp -t "${T}/${emid}" dist/xpi-stage/chatzilla/* || die + insinto ${MOZILLA_FIVE_HOME}/extensions + doins -r "${T}/${emid}" + fi + + # Provide a place for plugins + keepdir "${MOZILLA_FIVE_HOME}/plugins" + + # revdep-rebuild entry + insinto /etc/revdep-rebuild + echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}*" >> "${T}"/11${PN} || die + doins "${T}"/11${PN} +} + +pkg_preinst() { + SEAMONKEY_PLUGINS_DIR="${EROOT}/usr/$(get_libdir)/${PN}/plugins" + + if [[ -L "${SEAMONKEY_PLUGINS_DIR}" ]] ; then + rm "${SEAMONKEY_PLUGINS_DIR}" || die + fi +} + +pkg_postinst() { + # Update mimedb for the new .desktop file + xdg_desktop_database_update + + if ! use gmp-autoupdate ; then + elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" + elog "installing into new profiles:" + local plugin + for plugin in "${GMP_PLUGIN_LIST[@]}"; do + elog "\t ${plugin}" ; + done + fi + + if use chatzilla ; then + elog "chatzilla is now an extension which can be en-/disabled and configured via" + elog "the Add-on manager." + fi +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/www-client/seamonkey/seamonkey-2.53.19.ebuild b/www-client/seamonkey/seamonkey-2.53.19.ebuild deleted file mode 100644 index 6e06f3bd6d4d..000000000000 --- a/www-client/seamonkey/seamonkey-2.53.19.ebuild +++ /dev/null @@ -1,554 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -WANT_AUTOCONF="2.1" - -PYTHON_COMPAT=( python3_{10..11} ) -PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)' - -LLVM_COMPAT=( {17..18} ) - -# This list can be updated with scripts/get_langs.sh from the mozilla overlay -# note - could not roll langpacks for: ca fi -#MOZ_LANGS=(ca cs de en-GB es-AR es-ES fi fr gl hu it ja lt nb-NO nl pl pt-PT -# ru sk sv-SE tr uk zh-CN zh-TW) -MOZ_LANGS=(cs de en-GB es-AR es-ES fr hu it ja lt nl pl pt-PT - ru sk sv-SE zh-CN zh-TW) - -MOZ_PV="${PV}" -MOZ_PV="${MOZ_PV/_beta/b}" -MOZ_P="${P}" -MY_MOZ_P="${PN}-${MOZ_PV}" -PATCH_PV="2.53.19" -PATCH="${PN}-${PATCH_PV}-patches" -PATCH_S="${WORKDIR}/gentoo-${PN}-patches-${PATCH_PV}" - -DESCRIPTION="Seamonkey Web Browser" -HOMEPAGE="https://www.seamonkey-project.org/" - -SRC_URI="https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source.tar.xz - https://archive.seamonkey-project.org/releases/${MOZ_PV}/source/${MY_MOZ_P}.source-l10n.tar.xz - https://github.com/BioMike/gentoo-${PN}-patches/archive/refs/tags/${PATCH_PV}.tar.gz -> ${PATCH}.tar.gz" - -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 - -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~ppc64 ~x86" -SYSTEM_IUSE=( +system-{av1,harfbuzz,icu,jpeg,libevent,libvpx,png,sqlite} ) -IUSE="+chatzilla cpu_flags_arm_neon dbus +gmp-autoupdate +ipc jack -lto pulseaudio selinux startup-notification test webrtc wifi" -IUSE+=" ${SYSTEM_IUSE[@]}" - -RESTRICT="!test? ( test )" - -BDEPEND=" - app-arch/unzip - app-arch/zip - >=dev-lang/nasm-2.13 - dev-lang/perl - dev-util/cbindgen - >=sys-devel/binutils-2.16.1 - $(llvm_gen_dep ' - sys-devel/clang:${LLVM_SLOT}= - 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 ) -" -COMMON_DEPEND=" - app-arch/bzip2 - >=app-accessibility/at-spi2-core-2.46.0 - >=dev-libs/glib-2.26:2 - >=dev-libs/libffi-3.0.10:= - >=dev-libs/nspr-4.23 - >=dev-libs/nss-3.47.1 - media-libs/fontconfig - >=media-libs/freetype-2.4.10 - >=media-libs/mesa-10.2:= - >=sys-libs/zlib-1.2.3 - >=x11-libs/cairo-1.10[X] - x11-libs/gdk-pixbuf - x11-libs/gtk+:3[X] - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrender - x11-libs/libXt - x11-libs/libxcb:= - >=x11-libs/pango-1.22.0 - x11-libs/pixman - media-video/ffmpeg - virtual/freedesktop-icon-theme - dbus? ( - >=dev-libs/dbus-glib-0.72 - >=sys-apps/dbus-0.60 - ) - jack? ( virtual/jack ) - kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) - pulseaudio? ( || ( - media-libs/libpulse - >=media-sound/apulse-0.1.9 - ) ) - startup-notification? ( >=x11-libs/startup-notification-0.8 ) - system-av1? ( - >=media-libs/dav1d-0.3.0:= - >=media-libs/libaom-1.0.0:= - ) - system-harfbuzz? ( - >=media-gfx/graphite2-1.3.9-r1 - >=media-libs/harfbuzz-1.3.3:0= - ) - system-icu? ( >=dev-libs/icu-59.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) - system-libevent? ( >=dev-libs/libevent-2.0:0= ) - system-libvpx? ( >=media-libs/libvpx-1.8.0:0=[postproc] ) - system-png? ( >=media-libs/libpng-1.6.31:0=[apng] ) - system-sqlite? ( >=dev-db/sqlite-3.38.2:3[secure-delete] ) - wifi? ( - kernel_linux? ( - >=dev-libs/dbus-glib-0.72 - net-misc/networkmanager - >=sys-apps/dbus-0.60 - ) - ) -" -RDEPEND="${COMMON_DEPEND} - selinux? ( sec-policy/selinux-mozilla ) -" -DEPEND="${COMMON_DEPEND} - x11-base/xorg-proto - amd64? ( virtual/opengl ) - x86? ( virtual/opengl ) -" - -QA_CONFIG_IMPL_DECL_SKIP=( - pthread_cond_timedwait_monotonic_np # Doesn't exist on Linux. Bug #905825 -) - -# allow GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -[[ -z ${GMP_PLUGIN_LIST} ]] && GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) - -BUILD_OBJ_DIR="${S}/seamonk" - -pkg_setup() { - if [[ ${PV} == *_beta* ]] ; then - ewarn - ewarn "You're using an unofficial release of ${PN}. Don't file any bug in" - ewarn "Gentoo's Bugtracker against this package in case it breaks for you." - ewarn "Those belong to upstream: https://bugzilla.mozilla.org" - fi - - llvm-r1_pkg_setup - einfo "Using LLVM slot ${LLVM_SLOT} to build." >&2 - - moz_pkgsetup -} - -pkg_pretend() { - # Ensure we have enough disk space to compile - if use lto || use test ; then - CHECKREQS_DISK_BUILD="16G" - else - CHECKREQS_DISK_BUILD="12G" - fi - check-reqs_pkg_setup -} - -spkg_setup() { - # Ensure we have enough disk space to compile - if use lto || use test ; then - CHECKREQS_DISK_BUILD="16G" - else - CHECKREQS_DISK_BUILD="12G" - fi - check-reqs_pkg_setup -} - -src_unpack() { - local l10n_sources="${MY_MOZ_P}.source-l10n.tar.xz" - unpack ${A/ ${l10n_sources}} - - mkdir "${S}/${P}-l10n" || die - cd "${S}/${P}-l10n" || die - unpack ${l10n_sources} -} - -src_prepare() { - # Apply our patches - eapply "${PATCH_S}/${PN}" - - # Shell scripts sometimes contain DOS line endings; bug 391889 - grep -rlZ --include="*.sh" $'\r$' . | - while read -r -d $'\0' file ; do - einfo edos2unix "${file}" - edos2unix "${file}" - done - - if use system-libvpx ; then - eapply -p2 "${PATCH_S}/USE_flag/1009_seamonkey-2.53.3-system_libvpx-1.8.patch" - fi - - # Fix for building on x86 https://bugs.gentoo.org/915336 (x86-only) - if use x86 ; then - eapply -p1 "${PATCH_S}/USE_flag/2021_seamonkey_2.53.17-floating-point_normalization_on_x86_build_fix.patch" - fi - - # Patch for people who use their systems ICU 74 - if has_version ">=dev-libs/icu-74.1" && use system-icu ; then - eapply -p1 "${PATCH_S}/USE_flag/2022-bmo-1862601-system-icu-74.patch" - fi - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Fix wrong include, as suggested by SM upstream. - sed -e 's|#include \"RemoteSpellCheckEngineChild.h\"|#include \"mozilla/RemoteSpellCheckEngineChild.h\"|' \ - -i extensions/spellcheck/src/mozSpellChecker.h || die - - # Ensure that are plugins dir is enabled as default - sed -i -e "s:/usr/$(get_libdir)/mozilla/plugins:/usr/$(get_libdir)/${PN}/plugins:" \ - xpcom/io/nsAppFileLocationProvider.cpp || die - - # Don't exit with error when some libs are missing which we have in - # system. - sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \ - -i comm/suite/installer/Makefile.in || die - # Don't error out when there's no files to be removed: - sed 's@\(xargs rm\)$@\1 -f@' \ - -i toolkit/mozapps/installer/packager.mk || die - - # Don't build libs-% locale files for chatzilla if we are not building chatzilla - # (this is hard-coded in the build system at present rather than being based on configuration) - if ! use chatzilla ; then - sed '/extensions\/irc\/locales libs-/s@^@#@' \ - -i comm/suite/locales/Makefile.in || die - fi - - eautoreconf old-configure.in - cd js/src || die - eautoconf old-configure.in -} - -src_configure() { - # Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) - # Note: These are for Gentoo Linux use ONLY. For your own distribution, please - # get your own set of keys. - _google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc - - ###################################### - # - # mozconfig, CFLAGS and CXXFLAGS setup - # - ###################################### - - mozconfig_init - - ################################## - # Former mozconfig_config() part # - ################################## - - # Migrated from mozcoreconf-2 - mozconfig_annotate 'system_libs' --with-system-bz2 - mozconfig_annotate 'system_libs' --with-system-zlib - mozconfig_annotate 'system_libs' --enable-system-pixman - - # Disable for testing purposes only - mozconfig_annotate 'Upstream bug 1341234' --disable-stylo - - # Must pass release in order to properly select linker via gold useflag - mozconfig_annotate 'Enable by Gentoo' --enable-release - - # Broken on PPC64, but outdated and should not be used according to upstream. - mozconfig_annotate 'Outdated and broken, disabled' --disable-jemalloc - - # Must pass --enable-gold if using ld.gold - if tc-ld-is-gold ; then - mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold - else - mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold - fi - - # Debug is broken, disable debug symbols - mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols - - mozconfig_use_enable startup-notification - - # wifi pulls in dbus so manage both here - mozconfig_use_enable wifi necko-wifi - if use kernel_linux && use wifi && ! use dbus ; then - echo "Enabling dbus support due to wifi request" - mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus - else - mozconfig_use_enable dbus - mozconfig_annotate 'disabled' --disable-necko-wifi - fi - - # These are enabled by default in all mozilla applications - mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${ESYSROOT}"/usr - mozconfig_annotate '' --with-system-nss --with-nss-prefix="${ESYSROOT}"/usr - mozconfig_annotate '' --x-includes="${ESYSROOT}"/usr/include --x-libraries="${ESYSROOT}"/usr/$(get_libdir) - if use system-libevent ; then - mozconfig_annotate '' --with-system-libevent="${ESYSROOT}"/usr - fi - mozconfig_annotate '' --prefix="${EPREFIX}"/usr - mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) - mozconfig_annotate '' --disable-crashreporter - mozconfig_annotate '' --enable-system-ffi - mozconfig_annotate '' --disable-gconf - mozconfig_annotate '' --with-intl-api - - # default toolkit is cairo-gtk3, optional use flags can change this - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3 - - # Instead of the standard --build= and --host=, mozilla uses --host instead - # of --build, and --target intstead of --host. - # Note, mozilla also has --build but it does not do what you think it does. - # Set both --target and --host as mozilla uses python to guess values otherwise - mozconfig_annotate '' --target="${CHOST}" - mozconfig_annotate '' --host="${CBUILD:-${CHOST}}" - - mozconfig_use_enable pulseaudio - # force the deprecated alsa sound code if pulseaudio is disabled - if use kernel_linux && ! use pulseaudio ; then - mozconfig_annotate '-pulseaudio' --enable-alsa - fi - - # For testing purpose only - mozconfig_annotate 'Sandbox' --enable-content-sandbox - - mozconfig_use_enable system-sqlite - mozconfig_use_with system-jpeg - mozconfig_use_with system-icu - mozconfig_use_with system-libvpx - mozconfig_use_with system-png - mozconfig_use_with system-harfbuzz - mozconfig_use_with system-harfbuzz system-graphite2 - mozconfig_use_with system-av1 - - # Modifications to better support ARM, bug 553364 - if use cpu_flags_arm_neon ; then - mozconfig_annotate '' --with-fpu=neon - mozconfig_annotate '' --with-thumb=yes - mozconfig_annotate '' --with-thumb-interwork=no - fi - if [[ ${CHOST} == armv* ]] ; then - mozconfig_annotate '' --with-float-abi=hard - if ! use system-libvpx ; then - sed -i -e "s|softfp|hard|" media/libvpx/moz.build || die - fi - fi - - if use lto ; then - # Linking only works when using ld.gold when LTO is enabled - mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold - # ThinLTO is currently broken, see bmo#1644409 - mozconfig_annotate '+lto' --enable-lto=full - else - if tc-ld-is-gold ; then - mozconfig_annotate "linker is set to gold" --enable-linker=gold - else - mozconfig_annotate "linker is set to bfd" --enable-linker=bfd - fi - fi - # LTO flag was handled via configure - filter-lto - - ################################## - # Former mozconfig_config() end # - ################################## - - # enable JACK, bug 600002 - mozconfig_use_enable jack - - # It doesn't compile on alpha without this LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - # Linking fails without this due to memory exhaustion - use x86 && append-ldflags "-Wl,--no-keep-memory" - - # Setup api key for location services - printf '%s' "${_google_api_key}" > "${S}"/google-api-key - mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key" - mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key" - - mozconfig_use_enable chatzilla irc - mozconfig_annotate '' --enable-dominspector - - # use startup-cache for faster startup time - mozconfig_annotate '' --enable-startupcache - - # Elf-hack is known to be broken on multiple archs. - # Disable it by default, because on the archs that still work, - # it also gives more problems than it solves. - # https://bugs.gentoo.org/851933 - # https://bugzilla.mozilla.org/show_bug.cgi?id=1706264 - if use x86 || use arm64 || use arm || use amd64 ; then - mozconfig_annotate 'elf-hack is broken' --disable-elf-hack - fi - - # Disabled by default. See bug 836319 , comment 17. - if ! use webrtc ; then - mozconfig_annotate "disabled by Gentoo" --disable-webrtc - fi - - # Use an objdir to keep things organized. - echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig || die - echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig || die - - mozlinguas_mozconfig - - # Finalize and report settings - mozconfig_final - - # Work around breakage in makeopts with --no-print-directory - MAKEOPTS="${MAKEOPTS/--no-print-directory/}" - - if use amd64 || use x86 ; then - append-flags -mno-avx - fi - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - # Use system's Python environment - export MACH_USE_SYSTEM_PYTHON=1 - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # workaround for funky/broken upstream configure... - export SHELL="${SHELL:-${EPREFIX}/bin/bash}" - #emake V=1 -f client.mk configure - ./mach configure || die -} - -src_compile() { - #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \ - #emake V=1 -f client.mk - ./mach build --verbose || die - - mozlinguas_src_compile -} - -src_install() { - MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - DICTPATH="\"${EPREFIX}/usr/share/myspell\"" - - local emid - pushd "${BUILD_OBJ_DIR}" &>/dev/null || die - - # Pax mark xpcshell for hardened support, only used for startupcache creation. - pax-mark m dist/bin/xpcshell - - # Copy our preference before omnijar is created. - sed "s|SEAMONKEY_PVR|${PVR}|" "${FILESDIR}"/all-gentoo-1.js > \ - dist/bin/defaults/pref/all-gentoo.js \ - || die - - # Set default path to search for dictionaries. - echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \ - >> dist/bin/defaults/pref/all-gentoo.js \ - || die - - echo 'pref("extensions.autoDisableScopes", 3);' >> \ - dist/bin/defaults/pref/all-gentoo.js \ - || die - - local plugin - if ! use gmp-autoupdate ; then - for plugin in "${GMP_PLUGIN_LIST[@]}" ; do - echo "pref(\"media.${plugin}.autoupdate\", false);" >> \ - dist/bin/defaults/pref/all-gentoo.js || die - done - fi - - popd &>/dev/null || die - - #MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ - #emake DESTDIR="${D}" install - DESTDIR="${D}" ./mach install || die - MOZ_P="${MY_MOZ_P}" mozlinguas_src_install - - cp "${FILESDIR}"/${PN}.desktop "${T}" || die - - sed 's|^\(MimeType=.*\)$|\1text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;|' \ - -i "${T}"/${PN}.desktop || die - sed 's|^\(Categories=.*\)$|\1Email;|' -i "${T}"/${PN}.desktop \ - || die - - # Install icon and .desktop for menu entry - newicon "${S}"/comm/suite/branding/${PN}/default64.png ${PN}.png - domenu "${T}"/${PN}.desktop - - # Required in order to use plugins and even run seamonkey on hardened. - pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{seamonkey,seamonkey-bin,plugin-container} - - if use chatzilla ; then - local emid='{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}' - - # remove the en_US-only xpi file so a version with all requested locales can be installed - if [[ -e "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi ]] ; then - rm -f "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi || die - fi - - # merge the extra locales into the main extension - mozlinguas_xpistage_langpacks dist/xpi-stage/chatzilla - - # install the merged extension - mkdir -p "${T}/${emid}" || die - cp -RLp -t "${T}/${emid}" dist/xpi-stage/chatzilla/* || die - insinto ${MOZILLA_FIVE_HOME}/extensions - doins -r "${T}/${emid}" - fi - - # Provide a place for plugins - keepdir "${MOZILLA_FIVE_HOME}/plugins" - - # revdep-rebuild entry - insinto /etc/revdep-rebuild - echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}*" >> "${T}"/11${PN} || die - doins "${T}"/11${PN} -} - -pkg_preinst() { - SEAMONKEY_PLUGINS_DIR="${EROOT}/usr/$(get_libdir)/${PN}/plugins" - - if [[ -L "${SEAMONKEY_PLUGINS_DIR}" ]] ; then - rm "${SEAMONKEY_PLUGINS_DIR}" || die - fi -} - -pkg_postinst() { - # Update mimedb for the new .desktop file - xdg_desktop_database_update - - if ! use gmp-autoupdate ; then - elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or" - elog "installing into new profiles:" - local plugin - for plugin in "${GMP_PLUGIN_LIST[@]}"; do - elog "\t ${plugin}" ; - done - fi - - if use chatzilla ; then - elog "chatzilla is now an extension which can be en-/disabled and configured via" - elog "the Add-on manager." - fi -} - -pkg_postrm() { - xdg_desktop_database_update -} 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-r1.ebuild b/x11-terms/alacritty/alacritty-0.13.2-r1.ebuild new file mode 100644 index 000000000000..2ddcc021c043 --- /dev/null +++ b/x11-terms/alacritty/alacritty-0.13.2-r1.ebuild @@ -0,0 +1,388 @@ +# Copyright 2017-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.2 + android-activity@0.5.2 + android-properties@0.2.2 + anstream@0.6.13 + anstyle-parse@0.2.3 + anstyle-query@1.0.0 + anstyle-wincon@3.0.1 + anstyle@1.0.6 + arrayref@0.3.7 + arrayvec@0.7.4 + as-raw-xcb-connection@1.0.1 + atomic-waker@1.1.2 + autocfg@1.1.0 + base64@0.22.0 + bitflags@1.3.2 + bitflags@2.4.2 + block-sys@0.2.1 + block2@0.3.0 + block@0.1.6 + bumpalo@3.15.4 + bytemuck@1.15.0 + bytes@1.5.0 + calloop-wayland-source@0.2.0 + calloop@0.12.4 + cc@1.0.90 + cesu8@1.1.0 + cfg-if@1.0.0 + cfg_aliases@0.1.1 + cgl@0.3.2 + clap@4.4.11 + clap_builder@4.4.11 + clap_complete@4.4.4 + clap_derive@4.4.7 + clap_lex@0.6.0 + clipboard-win@3.1.1 + cmake@0.1.50 + cocoa-foundation@0.1.2 + cocoa@0.25.0 + colorchoice@1.0.0 + combine@4.6.6 + concurrent-queue@2.4.0 + copypasta@0.10.1 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + core-graphics-types@0.1.3 + core-graphics@0.23.1 + core-text@20.1.0 + crc32fast@1.4.0 + crossbeam-channel@0.5.12 + crossbeam-utils@0.8.19 + crossfont@0.7.0 + cursor-icon@1.1.0 + dirs-sys@0.4.1 + dirs@5.0.1 + dispatch@0.2.0 + dlib@0.5.2 + downcast-rs@1.2.0 + dwrote@0.11.0 + embed-resource@2.4.2 + equivalent@1.0.1 + errno@0.3.7 + expat-sys@2.1.6 + fastrand@2.0.1 + fdeflate@0.3.4 + filetime@0.2.22 + flate2@1.0.28 + foreign-types-macros@0.2.3 + foreign-types-shared@0.3.1 + foreign-types@0.5.0 + freetype-rs@0.26.0 + freetype-sys@0.13.1 + fsevent-sys@4.1.0 + futures-io@0.3.30 + gethostname@0.4.3 + getrandom@0.2.12 + gl_generator@0.14.0 + glutin@0.31.3 + glutin_egl_sys@0.6.0 + glutin_glx_sys@0.5.0 + glutin_wgl_sys@0.5.0 + hashbrown@0.14.3 + heck@0.4.1 + home@0.5.5 + icrate@0.0.4 + indexmap@2.2.5 + inotify-sys@0.1.5 + inotify@0.9.6 + itoa@1.0.10 + jni-sys@0.3.0 + jni@0.21.1 + jobserver@0.1.28 + js-sys@0.3.69 + khronos_api@3.1.0 + kqueue-sys@1.0.4 + kqueue@1.0.8 + lazy-bytes-cast@5.0.1 + lazy_static@1.4.0 + libc@0.2.153 + libloading@0.8.3 + libredox@0.0.1 + libredox@0.0.2 + linux-raw-sys@0.4.13 + lock_api@0.4.11 + log@0.4.21 + malloc_buf@0.0.6 + memchr@2.7.1 + memmap2@0.9.4 + miniz_oxide@0.7.2 + mio@0.8.11 + miow@0.6.0 + ndk-context@0.1.1 + ndk-sys@0.5.0+25.2.9519653 + ndk@0.8.0 + notify@6.1.1 + num_enum@0.7.2 + num_enum_derive@0.7.2 + objc-foundation@0.1.1 + objc-sys@0.3.2 + objc2-encode@3.0.0 + objc2@0.4.1 + objc@0.2.7 + objc_id@0.1.1 + once_cell@1.19.0 + option-ext@0.2.0 + orbclient@0.3.47 + parking_lot@0.12.1 + parking_lot_core@0.9.9 + percent-encoding@2.3.1 + pin-project-lite@0.2.13 + piper@0.2.1 + pkg-config@0.3.30 + png@0.17.13 + polling@3.3.0 + proc-macro-crate@3.1.0 + proc-macro2@1.0.79 + quick-xml@0.31.0 + quote@1.0.35 + raw-window-handle@0.5.2 + redox_syscall@0.3.5 + redox_syscall@0.4.1 + redox_users@0.4.4 + regex-automata@0.4.6 + regex-syntax@0.8.2 + rustc_version@0.4.0 + rustix-openpty@0.1.1 + rustix@0.38.25 + ryu@1.0.17 + same-file@1.0.6 + scoped-tls@1.0.1 + scopeguard@1.2.0 + sctk-adwaita@0.8.1 + semver@1.0.22 + serde@1.0.197 + serde_derive@1.0.197 + serde_json@1.0.114 + serde_spanned@0.6.5 + serde_yaml@0.9.33 + servo-fontconfig-sys@5.1.0 + servo-fontconfig@0.5.1 + signal-hook-registry@1.4.1 + signal-hook@0.3.17 + simd-adler32@0.3.7 + slab@0.4.9 + smallvec@1.13.1 + smithay-client-toolkit@0.18.1 + smithay-clipboard@0.7.1 + smol_str@0.2.1 + strict-num@0.1.1 + strsim@0.10.0 + syn@2.0.53 + thiserror-impl@1.0.58 + thiserror@1.0.58 + tiny-skia-path@0.11.4 + tiny-skia@0.11.4 + toml@0.8.11 + toml_datetime@0.6.5 + toml_edit@0.21.1 + toml_edit@0.22.7 + tracing-core@0.1.32 + tracing@0.1.40 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.11 + unsafe-libyaml@0.2.11 + utf8parse@0.2.1 + version_check@0.9.4 + vswhom-sys@0.1.2 + vswhom@0.1.0 + vte@0.13.0 + vte_generate_state_changes@0.1.1 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + wayland-backend@0.3.3 + wayland-client@0.31.2 + wayland-csd-frame@0.3.0 + wayland-cursor@0.31.1 + wayland-protocols-plasma@0.2.0 + wayland-protocols-wlr@0.2.0 + wayland-protocols@0.31.2 + wayland-scanner@0.31.1 + wayland-sys@0.31.1 + web-sys@0.3.69 + web-time@0.2.4 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + winit@0.29.15 + winnow@0.5.40 + winnow@0.6.5 + winreg@0.52.0 + wio@0.2.2 + x11-clipboard@0.9.2 + x11-dl@2.21.0 + x11rb-protocol@0.13.0 + x11rb@0.13.0 + xcursor@0.3.5 + xdg@2.5.2 + xkbcommon-dl@0.4.2 + xkeysym@0.2.0 + xml-rs@0.8.19 + zerocopy-derive@0.7.32 + zerocopy@0.7.32 +" + +MY_PV="${PV//_rc/-rc}" + +inherit bash-completion-r1 cargo desktop + +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" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 + Unicode-DFS-2016 +" +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} +" + +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 + app-text/scdoc +" + +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() { + scdoc < ./extra/man/alacritty.1.scd > ./alacritty.1 || die + scdoc < ./extra/man/alacritty.5.scd > ./alacritty.5 || die + scdoc < ./extra/man/alacritty-msg.1.scd > ./alacritty-msg.1 || die + scdoc < ./extra/man/alacritty-bindings.5.scd > ./alacritty-bindings.5 || die + + cd alacritty || die + cargo_src_compile +} + +src_install() { + cargo_src_install --path alacritty + + doman alacritty.1 alacritty.5 alacritty-msg.1 alacritty-bindings.5 + + 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=( + CHANGELOG.md README.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 "For information on how to configure alacritty, see the manpage:" + einfo "man 5 alacritty" + fi +} diff --git a/x11-terms/alacritty/alacritty-0.13.2.ebuild b/x11-terms/alacritty/alacritty-0.13.2.ebuild deleted file mode 100644 index 5a29a07633b4..000000000000 --- a/x11-terms/alacritty/alacritty-0.13.2.ebuild +++ /dev/null @@ -1,389 +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 - ahash@0.8.11 - aho-corasick@1.1.2 - android-activity@0.5.2 - android-properties@0.2.2 - anstream@0.6.13 - anstyle-parse@0.2.3 - anstyle-query@1.0.0 - anstyle-wincon@3.0.1 - anstyle@1.0.6 - arrayref@0.3.7 - arrayvec@0.7.4 - as-raw-xcb-connection@1.0.1 - atomic-waker@1.1.2 - autocfg@1.1.0 - base64@0.22.0 - bitflags@1.3.2 - bitflags@2.4.2 - block-sys@0.2.1 - block2@0.3.0 - block@0.1.6 - bumpalo@3.15.4 - bytemuck@1.15.0 - bytes@1.5.0 - calloop-wayland-source@0.2.0 - calloop@0.12.4 - cc@1.0.90 - cesu8@1.1.0 - cfg-if@1.0.0 - cfg_aliases@0.1.1 - cgl@0.3.2 - clap@4.4.11 - clap_builder@4.4.11 - clap_complete@4.4.4 - clap_derive@4.4.7 - clap_lex@0.6.0 - clipboard-win@3.1.1 - cmake@0.1.50 - cocoa-foundation@0.1.2 - cocoa@0.25.0 - colorchoice@1.0.0 - combine@4.6.6 - concurrent-queue@2.4.0 - copypasta@0.10.1 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - core-graphics-types@0.1.3 - core-graphics@0.23.1 - core-text@20.1.0 - crc32fast@1.4.0 - crossbeam-channel@0.5.12 - crossbeam-utils@0.8.19 - crossfont@0.7.0 - cursor-icon@1.1.0 - dirs-sys@0.4.1 - dirs@5.0.1 - dispatch@0.2.0 - dlib@0.5.2 - downcast-rs@1.2.0 - dwrote@0.11.0 - embed-resource@2.4.2 - equivalent@1.0.1 - errno@0.3.7 - expat-sys@2.1.6 - fastrand@2.0.1 - fdeflate@0.3.4 - filetime@0.2.22 - flate2@1.0.28 - foreign-types-macros@0.2.3 - foreign-types-shared@0.3.1 - foreign-types@0.5.0 - freetype-rs@0.26.0 - freetype-sys@0.13.1 - fsevent-sys@4.1.0 - futures-io@0.3.30 - gethostname@0.4.3 - getrandom@0.2.12 - gl_generator@0.14.0 - glutin@0.31.3 - glutin_egl_sys@0.6.0 - glutin_glx_sys@0.5.0 - glutin_wgl_sys@0.5.0 - hashbrown@0.14.3 - heck@0.4.1 - home@0.5.5 - icrate@0.0.4 - indexmap@2.2.5 - inotify-sys@0.1.5 - inotify@0.9.6 - itoa@1.0.10 - jni-sys@0.3.0 - jni@0.21.1 - jobserver@0.1.28 - js-sys@0.3.69 - khronos_api@3.1.0 - kqueue-sys@1.0.4 - kqueue@1.0.8 - lazy-bytes-cast@5.0.1 - lazy_static@1.4.0 - libc@0.2.153 - libloading@0.8.3 - libredox@0.0.1 - libredox@0.0.2 - linux-raw-sys@0.4.13 - lock_api@0.4.11 - log@0.4.21 - malloc_buf@0.0.6 - memchr@2.7.1 - memmap2@0.9.4 - miniz_oxide@0.7.2 - mio@0.8.11 - miow@0.6.0 - ndk-context@0.1.1 - ndk-sys@0.5.0+25.2.9519653 - ndk@0.8.0 - notify@6.1.1 - num_enum@0.7.2 - num_enum_derive@0.7.2 - objc-foundation@0.1.1 - objc-sys@0.3.2 - objc2-encode@3.0.0 - objc2@0.4.1 - objc@0.2.7 - objc_id@0.1.1 - once_cell@1.19.0 - option-ext@0.2.0 - orbclient@0.3.47 - parking_lot@0.12.1 - parking_lot_core@0.9.9 - percent-encoding@2.3.1 - pin-project-lite@0.2.13 - piper@0.2.1 - pkg-config@0.3.30 - png@0.17.13 - polling@3.3.0 - proc-macro-crate@3.1.0 - proc-macro2@1.0.79 - quick-xml@0.31.0 - quote@1.0.35 - raw-window-handle@0.5.2 - redox_syscall@0.3.5 - redox_syscall@0.4.1 - redox_users@0.4.4 - regex-automata@0.4.6 - regex-syntax@0.8.2 - rustc_version@0.4.0 - rustix-openpty@0.1.1 - rustix@0.38.25 - ryu@1.0.17 - same-file@1.0.6 - scoped-tls@1.0.1 - scopeguard@1.2.0 - sctk-adwaita@0.8.1 - semver@1.0.22 - serde@1.0.197 - serde_derive@1.0.197 - serde_json@1.0.114 - serde_spanned@0.6.5 - serde_yaml@0.9.33 - servo-fontconfig-sys@5.1.0 - servo-fontconfig@0.5.1 - signal-hook-registry@1.4.1 - signal-hook@0.3.17 - simd-adler32@0.3.7 - slab@0.4.9 - smallvec@1.13.1 - smithay-client-toolkit@0.18.1 - smithay-clipboard@0.7.1 - smol_str@0.2.1 - strict-num@0.1.1 - strsim@0.10.0 - syn@2.0.53 - thiserror-impl@1.0.58 - thiserror@1.0.58 - tiny-skia-path@0.11.4 - tiny-skia@0.11.4 - toml@0.8.11 - toml_datetime@0.6.5 - toml_edit@0.21.1 - toml_edit@0.22.7 - tracing-core@0.1.32 - tracing@0.1.40 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-width@0.1.11 - unsafe-libyaml@0.2.11 - utf8parse@0.2.1 - version_check@0.9.4 - vswhom-sys@0.1.2 - vswhom@0.1.0 - vte@0.13.0 - vte_generate_state_changes@0.1.1 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - wayland-backend@0.3.3 - wayland-client@0.31.2 - wayland-csd-frame@0.3.0 - wayland-cursor@0.31.1 - wayland-protocols-plasma@0.2.0 - wayland-protocols-wlr@0.2.0 - wayland-protocols@0.31.2 - wayland-scanner@0.31.1 - wayland-sys@0.31.1 - web-sys@0.3.69 - web-time@0.2.4 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - winit@0.29.15 - winnow@0.5.40 - winnow@0.6.5 - winreg@0.52.0 - wio@0.2.2 - x11-clipboard@0.9.2 - x11-dl@2.21.0 - x11rb-protocol@0.13.0 - x11rb@0.13.0 - xcursor@0.3.5 - xdg@2.5.2 - xkbcommon-dl@0.4.2 - xkeysym@0.2.0 - xml-rs@0.8.19 - zerocopy-derive@0.7.32 - zerocopy@0.7.32 -" - -MY_PV="${PV//_rc/-rc}" - -inherit bash-completion-r1 cargo desktop - -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" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 - Unicode-DFS-2016 -" -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} -" - -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.70.0 - app-text/scdoc -" - -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() { - scdoc < ./extra/man/alacritty.1.scd > ./alacritty.1 || die - scdoc < ./extra/man/alacritty.5.scd > ./alacritty.5 || die - scdoc < ./extra/man/alacritty-msg.1.scd > ./alacritty-msg.1 || die - scdoc < ./extra/man/alacritty-bindings.5.scd > ./alacritty-bindings.5 || die - - cd alacritty || die - cargo_src_compile -} - -src_install() { - cargo_src_install --path alacritty - - doman alacritty.1 alacritty.5 alacritty-msg.1 alacritty-bindings.5 - - 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=( - CHANGELOG.md README.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 "For information on how to configure alacritty, see the manpage:" - einfo "man 5 alacritty" - fi -} diff --git a/x11-terms/alacritty/alacritty-0.14.0-r1.ebuild b/x11-terms/alacritty/alacritty-0.14.0-r1.ebuild new file mode 100644 index 000000000000..a4749f75d4d4 --- /dev/null +++ b/x11-terms/alacritty/alacritty-0.14.0-r1.ebuild @@ -0,0 +1,414 @@ +# Copyright 2017-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" + adler@1.0.2 + ahash@0.8.11 + aho-corasick@1.1.3 + android-activity@0.6.0 + android-properties@0.2.2 + anstream@0.6.14 + anstyle-parse@0.2.4 + anstyle-query@1.1.0 + anstyle-wincon@3.0.3 + anstyle@1.0.7 + arrayref@0.3.7 + arrayvec@0.7.4 + as-raw-xcb-connection@1.0.1 + atomic-waker@1.1.2 + autocfg@1.3.0 + base64@0.22.1 + bitflags@1.3.2 + bitflags@2.6.0 + block2@0.5.1 + block@0.1.6 + bumpalo@3.16.0 + bytemuck@1.16.1 + bytes@1.6.1 + calloop-wayland-source@0.3.0 + calloop@0.13.0 + cc@1.1.5 + cesu8@1.1.0 + cfg-if@1.0.0 + cfg_aliases@0.2.1 + cgl@0.3.2 + clap@4.5.9 + clap_builder@4.5.9 + clap_complete@4.5.8 + clap_derive@4.5.8 + clap_lex@0.7.1 + clipboard-win@3.1.1 + cocoa-foundation@0.1.2 + cocoa@0.25.0 + colorchoice@1.0.1 + combine@4.6.7 + concurrent-queue@2.5.0 + copypasta@0.10.1 + core-foundation-sys@0.8.6 + core-foundation@0.9.4 + core-graphics-types@0.1.3 + core-graphics@0.23.2 + core-text@20.1.0 + crc32fast@1.4.2 + crossbeam-channel@0.5.13 + crossbeam-utils@0.8.20 + crossfont@0.8.0 + cstr@0.2.12 + cursor-icon@1.1.0 + dirs-sys@0.4.1 + dirs@5.0.1 + dispatch@0.2.0 + dlib@0.5.2 + downcast-rs@1.2.1 + dpi@0.1.1 + dwrote@0.11.0 + embed-resource@2.4.2 + equivalent@1.0.1 + errno@0.3.9 + fastrand@2.1.0 + fdeflate@0.3.4 + filetime@0.2.23 + flate2@1.0.30 + foreign-types-macros@0.2.3 + foreign-types-shared@0.3.1 + foreign-types@0.5.0 + freetype-rs@0.36.0 + freetype-sys@0.20.1 + fsevent-sys@4.1.0 + futures-io@0.3.30 + gethostname@0.4.3 + getrandom@0.2.15 + gl_generator@0.14.0 + glutin@0.32.0 + glutin_egl_sys@0.7.0 + glutin_glx_sys@0.6.0 + glutin_wgl_sys@0.6.0 + hashbrown@0.14.5 + heck@0.5.0 + hermit-abi@0.4.0 + home@0.5.9 + indexmap@2.5.0 + inotify-sys@0.1.5 + inotify@0.9.6 + is_terminal_polyfill@1.70.0 + itoa@1.0.11 + jni-sys@0.3.0 + jni@0.21.1 + jobserver@0.1.31 + js-sys@0.3.69 + khronos_api@3.1.0 + kqueue-sys@1.0.4 + kqueue@1.0.8 + lazy-bytes-cast@5.0.1 + lazy_static@1.5.0 + libc@0.2.155 + libloading@0.8.4 + libredox@0.0.2 + libredox@0.1.3 + linux-raw-sys@0.4.14 + lock_api@0.4.12 + log@0.4.22 + malloc_buf@0.0.6 + memchr@2.7.4 + memmap2@0.9.4 + miniz_oxide@0.7.4 + mio@0.8.11 + miow@0.6.0 + ndk-context@0.1.1 + ndk-sys@0.6.0+11769913 + ndk@0.9.0 + notify@6.1.1 + num_enum@0.7.2 + num_enum_derive@0.7.2 + objc-foundation@0.1.1 + objc-sys@0.3.5 + objc2-app-kit@0.2.2 + objc2-cloud-kit@0.2.2 + objc2-contacts@0.2.2 + objc2-core-data@0.2.2 + objc2-core-image@0.2.2 + objc2-core-location@0.2.2 + objc2-encode@4.0.3 + objc2-foundation@0.2.2 + objc2-link-presentation@0.2.2 + objc2-metal@0.2.2 + objc2-quartz-core@0.2.2 + objc2-symbols@0.2.2 + objc2-ui-kit@0.2.2 + objc2-uniform-type-identifiers@0.2.2 + objc2-user-notifications@0.2.2 + objc2@0.5.2 + objc@0.2.7 + objc_id@0.1.1 + once_cell@1.19.0 + option-ext@0.2.0 + orbclient@0.3.47 + parking_lot@0.12.3 + parking_lot_core@0.9.10 + percent-encoding@2.3.1 + pin-project-internal@1.1.5 + pin-project-lite@0.2.14 + pin-project@1.1.5 + piper@0.2.3 + pkg-config@0.3.30 + png@0.17.13 + polling@3.7.2 + proc-macro-crate@3.1.0 + proc-macro2@1.0.86 + quick-xml@0.34.0 + quote@1.0.36 + raw-window-handle@0.6.2 + redox_syscall@0.4.1 + redox_syscall@0.5.3 + redox_users@0.4.5 + regex-automata@0.4.7 + regex-syntax@0.8.4 + rustc_version@0.4.0 + rustix-openpty@0.1.1 + rustix@0.38.34 + ryu@1.0.18 + same-file@1.0.6 + scoped-tls@1.0.1 + scopeguard@1.2.0 + sctk-adwaita@0.10.1 + semver@1.0.23 + serde@1.0.204 + serde_derive@1.0.204 + serde_json@1.0.120 + serde_spanned@0.6.7 + serde_yaml@0.9.34+deprecated + signal-hook-registry@1.4.2 + signal-hook@0.3.17 + simd-adler32@0.3.7 + slab@0.4.9 + smallvec@1.13.2 + smithay-client-toolkit@0.19.2 + smithay-clipboard@0.7.2 + smol_str@0.2.2 + strict-num@0.1.1 + strsim@0.11.1 + syn@2.0.71 + tempfile@3.12.0 + thiserror-impl@1.0.62 + thiserror@1.0.62 + tiny-skia-path@0.11.4 + tiny-skia@0.11.4 + toml@0.8.14 + toml_datetime@0.6.8 + toml_edit@0.21.1 + toml_edit@0.22.21 + tracing-core@0.1.32 + tracing@0.1.40 + unicode-ident@1.0.12 + unicode-segmentation@1.11.0 + unicode-width@0.1.13 + unsafe-libyaml@0.2.11 + utf8parse@0.2.2 + version_check@0.9.4 + vswhom-sys@0.1.2 + vswhom@0.1.0 + vte@0.13.0 + vte_generate_state_changes@0.1.2 + walkdir@2.5.0 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen-backend@0.2.92 + wasm-bindgen-futures@0.4.42 + wasm-bindgen-macro-support@0.2.92 + wasm-bindgen-macro@0.2.92 + wasm-bindgen-shared@0.2.92 + wasm-bindgen@0.2.92 + wayland-backend@0.3.6 + wayland-client@0.31.5 + wayland-csd-frame@0.3.0 + wayland-cursor@0.31.5 + wayland-protocols-plasma@0.3.3 + wayland-protocols-wlr@0.3.3 + wayland-protocols@0.32.3 + wayland-scanner@0.31.4 + wayland-sys@0.31.4 + web-sys@0.3.69 + web-time@1.1.0 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.8 + winapi-x86_64-pc-windows-gnu@0.4.0 + winapi@0.3.9 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-sys@0.59.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows-targets@0.52.6 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.6 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.6 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.6 + windows_i686_gnullvm@0.52.6 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.6 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.6 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.6 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.6 + winit@0.30.4 + winnow@0.5.40 + winnow@0.6.18 + winreg@0.52.0 + wio@0.2.2 + x11-clipboard@0.9.3 + x11-dl@2.21.0 + x11rb-protocol@0.13.1 + x11rb@0.13.1 + xcursor@0.3.5 + xdg@2.5.2 + xkbcommon-dl@0.4.2 + xkeysym@0.2.1 + xml-rs@0.8.20 + yeslogic-fontconfig-sys@5.0.0 + zerocopy-derive@0.7.35 + zerocopy@0.7.35 +" + +MY_PV="${PV//_rc/-rc}" + +RUST_MIN_VER="1.74.1" + +inherit bash-completion-r1 cargo desktop + +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" +# Dependent crate licenses +LICENSE+=" + Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 + Unicode-DFS-2016 +" +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} +" + +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 + app-text/scdoc +" + +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() { + scdoc < ./extra/man/alacritty.1.scd > ./alacritty.1 || die + scdoc < ./extra/man/alacritty.5.scd > ./alacritty.5 || die + scdoc < ./extra/man/alacritty-msg.1.scd > ./alacritty-msg.1 || die + scdoc < ./extra/man/alacritty-bindings.5.scd > ./alacritty-bindings.5 || die + + cd alacritty || die + cargo_src_compile +} + +src_install() { + cargo_src_install --path alacritty + + doman alacritty.1 alacritty.5 alacritty-msg.1 alacritty-bindings.5 + + 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=( + CHANGELOG.md README.md + ) + einstalldocs +} + +src_test() { + cd alacritty || die + cargo_src_test +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + einfo "For information on how to configure alacritty, see the manpage:" + einfo "man 5 alacritty" + fi +} diff --git a/x11-terms/alacritty/alacritty-0.14.0.ebuild b/x11-terms/alacritty/alacritty-0.14.0.ebuild deleted file mode 100644 index dcabfa5c5ad0..000000000000 --- a/x11-terms/alacritty/alacritty-0.14.0.ebuild +++ /dev/null @@ -1,413 +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 - ahash@0.8.11 - aho-corasick@1.1.3 - android-activity@0.6.0 - android-properties@0.2.2 - anstream@0.6.14 - anstyle-parse@0.2.4 - anstyle-query@1.1.0 - anstyle-wincon@3.0.3 - anstyle@1.0.7 - arrayref@0.3.7 - arrayvec@0.7.4 - as-raw-xcb-connection@1.0.1 - atomic-waker@1.1.2 - autocfg@1.3.0 - base64@0.22.1 - bitflags@1.3.2 - bitflags@2.6.0 - block2@0.5.1 - block@0.1.6 - bumpalo@3.16.0 - bytemuck@1.16.1 - bytes@1.6.1 - calloop-wayland-source@0.3.0 - calloop@0.13.0 - cc@1.1.5 - cesu8@1.1.0 - cfg-if@1.0.0 - cfg_aliases@0.2.1 - cgl@0.3.2 - clap@4.5.9 - clap_builder@4.5.9 - clap_complete@4.5.8 - clap_derive@4.5.8 - clap_lex@0.7.1 - clipboard-win@3.1.1 - cocoa-foundation@0.1.2 - cocoa@0.25.0 - colorchoice@1.0.1 - combine@4.6.7 - concurrent-queue@2.5.0 - copypasta@0.10.1 - core-foundation-sys@0.8.6 - core-foundation@0.9.4 - core-graphics-types@0.1.3 - core-graphics@0.23.2 - core-text@20.1.0 - crc32fast@1.4.2 - crossbeam-channel@0.5.13 - crossbeam-utils@0.8.20 - crossfont@0.8.0 - cstr@0.2.12 - cursor-icon@1.1.0 - dirs-sys@0.4.1 - dirs@5.0.1 - dispatch@0.2.0 - dlib@0.5.2 - downcast-rs@1.2.1 - dpi@0.1.1 - dwrote@0.11.0 - embed-resource@2.4.2 - equivalent@1.0.1 - errno@0.3.9 - fastrand@2.1.0 - fdeflate@0.3.4 - filetime@0.2.23 - flate2@1.0.30 - foreign-types-macros@0.2.3 - foreign-types-shared@0.3.1 - foreign-types@0.5.0 - freetype-rs@0.36.0 - freetype-sys@0.20.1 - fsevent-sys@4.1.0 - futures-io@0.3.30 - gethostname@0.4.3 - getrandom@0.2.15 - gl_generator@0.14.0 - glutin@0.32.0 - glutin_egl_sys@0.7.0 - glutin_glx_sys@0.6.0 - glutin_wgl_sys@0.6.0 - hashbrown@0.14.5 - heck@0.5.0 - hermit-abi@0.4.0 - home@0.5.9 - indexmap@2.5.0 - inotify-sys@0.1.5 - inotify@0.9.6 - is_terminal_polyfill@1.70.0 - itoa@1.0.11 - jni-sys@0.3.0 - jni@0.21.1 - jobserver@0.1.31 - js-sys@0.3.69 - khronos_api@3.1.0 - kqueue-sys@1.0.4 - kqueue@1.0.8 - lazy-bytes-cast@5.0.1 - lazy_static@1.5.0 - libc@0.2.155 - libloading@0.8.4 - libredox@0.0.2 - libredox@0.1.3 - linux-raw-sys@0.4.14 - lock_api@0.4.12 - log@0.4.22 - malloc_buf@0.0.6 - memchr@2.7.4 - memmap2@0.9.4 - miniz_oxide@0.7.4 - mio@0.8.11 - miow@0.6.0 - ndk-context@0.1.1 - ndk-sys@0.6.0+11769913 - ndk@0.9.0 - notify@6.1.1 - num_enum@0.7.2 - num_enum_derive@0.7.2 - objc-foundation@0.1.1 - objc-sys@0.3.5 - objc2-app-kit@0.2.2 - objc2-cloud-kit@0.2.2 - objc2-contacts@0.2.2 - objc2-core-data@0.2.2 - objc2-core-image@0.2.2 - objc2-core-location@0.2.2 - objc2-encode@4.0.3 - objc2-foundation@0.2.2 - objc2-link-presentation@0.2.2 - objc2-metal@0.2.2 - objc2-quartz-core@0.2.2 - objc2-symbols@0.2.2 - objc2-ui-kit@0.2.2 - objc2-uniform-type-identifiers@0.2.2 - objc2-user-notifications@0.2.2 - objc2@0.5.2 - objc@0.2.7 - objc_id@0.1.1 - once_cell@1.19.0 - option-ext@0.2.0 - orbclient@0.3.47 - parking_lot@0.12.3 - parking_lot_core@0.9.10 - percent-encoding@2.3.1 - pin-project-internal@1.1.5 - pin-project-lite@0.2.14 - pin-project@1.1.5 - piper@0.2.3 - pkg-config@0.3.30 - png@0.17.13 - polling@3.7.2 - proc-macro-crate@3.1.0 - proc-macro2@1.0.86 - quick-xml@0.34.0 - quote@1.0.36 - raw-window-handle@0.6.2 - redox_syscall@0.4.1 - redox_syscall@0.5.3 - redox_users@0.4.5 - regex-automata@0.4.7 - regex-syntax@0.8.4 - rustc_version@0.4.0 - rustix-openpty@0.1.1 - rustix@0.38.34 - ryu@1.0.18 - same-file@1.0.6 - scoped-tls@1.0.1 - scopeguard@1.2.0 - sctk-adwaita@0.10.1 - semver@1.0.23 - serde@1.0.204 - serde_derive@1.0.204 - serde_json@1.0.120 - serde_spanned@0.6.7 - serde_yaml@0.9.34+deprecated - signal-hook-registry@1.4.2 - signal-hook@0.3.17 - simd-adler32@0.3.7 - slab@0.4.9 - smallvec@1.13.2 - smithay-client-toolkit@0.19.2 - smithay-clipboard@0.7.2 - smol_str@0.2.2 - strict-num@0.1.1 - strsim@0.11.1 - syn@2.0.71 - tempfile@3.12.0 - thiserror-impl@1.0.62 - thiserror@1.0.62 - tiny-skia-path@0.11.4 - tiny-skia@0.11.4 - toml@0.8.14 - toml_datetime@0.6.8 - toml_edit@0.21.1 - toml_edit@0.22.21 - tracing-core@0.1.32 - tracing@0.1.40 - unicode-ident@1.0.12 - unicode-segmentation@1.11.0 - unicode-width@0.1.13 - unsafe-libyaml@0.2.11 - utf8parse@0.2.2 - version_check@0.9.4 - vswhom-sys@0.1.2 - vswhom@0.1.0 - vte@0.13.0 - vte_generate_state_changes@0.1.2 - walkdir@2.5.0 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen-backend@0.2.92 - wasm-bindgen-futures@0.4.42 - wasm-bindgen-macro-support@0.2.92 - wasm-bindgen-macro@0.2.92 - wasm-bindgen-shared@0.2.92 - wasm-bindgen@0.2.92 - wayland-backend@0.3.6 - wayland-client@0.31.5 - wayland-csd-frame@0.3.0 - wayland-cursor@0.31.5 - wayland-protocols-plasma@0.3.3 - wayland-protocols-wlr@0.3.3 - wayland-protocols@0.32.3 - wayland-scanner@0.31.4 - wayland-sys@0.31.4 - web-sys@0.3.69 - web-time@1.1.0 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.8 - winapi-x86_64-pc-windows-gnu@0.4.0 - winapi@0.3.9 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-sys@0.59.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows-targets@0.52.6 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.6 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.6 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.6 - windows_i686_gnullvm@0.52.6 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.6 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.6 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.6 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.6 - winit@0.30.4 - winnow@0.5.40 - winnow@0.6.18 - winreg@0.52.0 - wio@0.2.2 - x11-clipboard@0.9.3 - x11-dl@2.21.0 - x11rb-protocol@0.13.1 - x11rb@0.13.1 - xcursor@0.3.5 - xdg@2.5.2 - xkbcommon-dl@0.4.2 - xkeysym@0.2.1 - xml-rs@0.8.20 - yeslogic-fontconfig-sys@5.0.0 - zerocopy-derive@0.7.35 - zerocopy@0.7.35 -" - -MY_PV="${PV//_rc/-rc}" - -inherit bash-completion-r1 cargo desktop - -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" -# Dependent crate licenses -LICENSE+=" - Apache-2.0 BSD-2 BSD Boost-1.0 CC0-1.0 ISC MIT MPL-2.0 - Unicode-DFS-2016 -" -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} -" - -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.74.0 - app-text/scdoc -" - -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() { - scdoc < ./extra/man/alacritty.1.scd > ./alacritty.1 || die - scdoc < ./extra/man/alacritty.5.scd > ./alacritty.5 || die - scdoc < ./extra/man/alacritty-msg.1.scd > ./alacritty-msg.1 || die - scdoc < ./extra/man/alacritty-bindings.5.scd > ./alacritty-bindings.5 || die - - cd alacritty || die - cargo_src_compile -} - -src_install() { - cargo_src_install --path alacritty - - doman alacritty.1 alacritty.5 alacritty-msg.1 alacritty-bindings.5 - - 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=( - CHANGELOG.md README.md - ) - einstalldocs -} - -src_test() { - cd alacritty || die - cargo_src_test -} - -pkg_postinst() { - if [[ -z ${REPLACING_VERSIONS} ]]; then - einfo "For information on how to configure alacritty, see the manpage:" - einfo "man 5 alacritty" - fi -} 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-r1.ebuild deleted file mode 100644 index 344b14163d58..000000000000 --- a/x11-terms/wezterm/wezterm-20240203.110809-r1.ebuild +++ /dev/null @@ -1,835 +0,0 @@ -# Copyright 2022-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# Auto-Generated by cargo-ebuild 0.5.4 - -EAPI=8 - -CRATES=" - addr2line@0.21.0 - adler@1.0.2 - adler32@1.2.0 - ahash@0.7.7 - ahash@0.8.7 - aho-corasick@1.1.2 - allocator-api2@0.2.16 - android-tzdata@0.1.1 - android_system_properties@0.1.5 - anes@0.1.6 - anstream@0.6.11 - anstyle@1.0.5 - anstyle-parse@0.2.3 - anstyle-query@1.0.2 - anstyle-wincon@3.0.2 - anyhow@1.0.79 - arrayref@0.3.7 - arrayvec@0.7.4 - as-raw-xcb-connection@1.0.1 - ash@0.37.3+1.3.251 - assert_fs@1.1.1 - async-broadcast@0.5.1 - async-channel@1.9.0 - async-channel@2.1.1 - async-executor@1.8.0 - async-fs@1.6.0 - async-io@1.13.0 - async-io@2.3.1 - async-lock@2.8.0 - async-lock@3.3.0 - async-net@1.8.0 - async-process@1.8.1 - async-recursion@1.0.5 - async-signal@0.2.5 - async-task@4.7.0 - async-trait@0.1.77 - atomic@0.5.3 - atomic-waker@1.1.2 - atty@0.2.14 - autocfg@1.1.0 - az@1.2.1 - backtrace@0.3.69 - base64@0.13.1 - base64@0.21.7 - benchmarking@0.4.12 - bit-set@0.5.3 - bit-vec@0.6.3 - bit_field@0.10.2 - bitflags@1.3.2 - bitflags@2.4.2 - block@0.1.6 - block-buffer@0.10.4 - blocking@1.5.1 - bstr@0.1.4 - bstr@1.9.0 - bumpalo@3.14.0 - bytemuck@1.14.1 - bytemuck_derive@1.5.0 - byteorder@1.5.0 - bytes@1.5.0 - cairo-rs@0.18.5 - cairo-sys-rs@0.18.0 - camino@1.1.6 - cassowary@0.3.0 - cast@0.3.0 - cc@1.0.83 - cfg-if@1.0.0 - cfg-expr@0.15.8 - cgl@0.3.2 - chrono@0.4.33 - ciborium@0.2.2 - ciborium-io@0.2.2 - ciborium-ll@0.2.2 - clap@2.34.0 - clap@3.2.25 - clap@4.4.18 - clap_builder@4.4.18 - clap_complete@4.4.9 - clap_complete_fig@4.4.2 - clap_derive@4.4.7 - clap_lex@0.2.4 - clap_lex@0.6.0 - clipboard-win@2.2.0 - cocoa@0.20.2 - cocoa@0.25.0 - cocoa-foundation@0.1.2 - codespan-reporting@0.11.1 - color_quant@1.1.0 - colorchoice@1.0.0 - colored@1.9.4 - colored@2.1.0 - colorgrad@0.6.2 - com-rs@0.2.1 - concurrent-queue@2.4.0 - core-foundation@0.7.0 - core-foundation@0.9.4 - core-foundation-sys@0.7.0 - core-foundation-sys@0.8.6 - core-graphics@0.19.2 - core-graphics@0.23.1 - core-graphics-types@0.1.3 - core-text@20.1.0 - core2@0.4.0 - cpufeatures@0.2.12 - crc32fast@1.3.2 - criterion@0.3.6 - criterion@0.4.0 - criterion-plot@0.4.5 - criterion-plot@0.5.0 - crossbeam@0.8.4 - crossbeam-channel@0.5.11 - crossbeam-deque@0.8.5 - crossbeam-epoch@0.9.18 - crossbeam-queue@0.3.11 - crossbeam-utils@0.8.19 - crunchy@0.2.2 - crypto-common@0.1.6 - csscolorparser@0.6.2 - csv@1.3.0 - csv-core@0.1.11 - d3d12@0.7.0 - darling@0.20.3 - darling_core@0.20.3 - darling_macro@0.20.3 - dary_heap@0.3.6 - data-encoding@2.5.0 - deltae@0.3.2 - deranged@0.3.11 - derivative@2.2.0 - dhat@0.3.2 - diff@0.1.13 - difflib@0.4.0 - digest@0.10.7 - dirs@4.0.0 - dirs-next@2.0.0 - dirs-sys@0.3.7 - dirs-sys-next@0.1.2 - dlib@0.5.2 - doc-comment@0.3.3 - downcast-rs@1.2.0 - dwrote@0.11.0 - either@1.9.0 - embed-resource@1.8.0 - emojis@0.6.1 - encoding_rs@0.8.33 - enum-display-derive@0.1.1 - enumflags2@0.7.8 - enumflags2_derive@0.7.8 - env_filter@0.1.0 - env_logger@0.10.2 - env_logger@0.11.1 - equivalent@1.0.1 - errno@0.3.8 - euclid@0.22.9 - event-listener@2.5.3 - event-listener@3.1.0 - event-listener@4.0.3 - event-listener-strategy@0.4.0 - exr@1.6.4 - fallible-iterator@0.2.0 - fallible-streaming-iterator@0.1.9 - fancy-regex@0.11.0 - fastrand@1.9.0 - fastrand@2.0.1 - fdeflate@0.3.4 - filenamegen@0.2.4 - filetime@0.2.23 - finl_unicode@1.2.0 - fixed@1.24.0 - fixedbitset@0.4.2 - flate2@1.0.28 - float-cmp@0.9.0 - flume@0.10.14 - flume@0.11.0 - fnv@1.0.7 - foreign-types@0.3.2 - foreign-types@0.5.0 - foreign-types-macros@0.2.3 - foreign-types-shared@0.1.1 - foreign-types-shared@0.3.1 - form_urlencoded@1.2.1 - fsevent-sys@4.1.0 - futures@0.3.30 - futures-channel@0.3.30 - futures-core@0.3.30 - futures-executor@0.3.30 - futures-io@0.3.30 - futures-lite@1.13.0 - futures-lite@2.2.0 - futures-macro@0.3.30 - futures-sink@0.3.30 - futures-task@0.3.30 - futures-timer@3.0.2 - futures-util@0.3.30 - fuzzy-matcher@0.3.7 - generic-array@0.14.7 - gethostname@0.4.3 - getopts@0.2.21 - getrandom@0.2.12 - gif@0.12.0 - gimli@0.28.1 - git2@0.16.1 - gl_generator@0.14.0 - glium@0.31.0 - glob@0.3.1 - globset@0.4.14 - globwalk@0.9.1 - glow@0.13.1 - glutin_wgl_sys@0.5.0 - governor@0.5.1 - gpu-alloc@0.6.0 - gpu-alloc-types@0.3.0 - gpu-allocator@0.23.0 - gpu-descriptor@0.2.4 - gpu-descriptor-types@0.1.2 - guillotiere@0.6.2 - h2@0.3.24 - half@1.8.2 - half@2.3.1 - hashbrown@0.11.2 - hashbrown@0.12.3 - hashbrown@0.13.2 - hashbrown@0.14.3 - hashlink@0.7.0 - hassle-rs@0.10.0 - hdrhistogram@7.5.4 - heck@0.4.1 - hermit-abi@0.1.19 - hermit-abi@0.3.4 - hex@0.4.3 - hexf-parse@0.2.1 - home@0.5.9 - hostname@0.3.1 - http@0.2.11 - http-body@0.4.6 - http_req@0.10.2 - httparse@1.8.0 - httpdate@1.0.3 - humansize@2.1.3 - humantime@2.1.0 - hyper@0.14.28 - hyper-tls@0.5.0 - iana-time-zone@0.1.59 - iana-time-zone-haiku@0.1.2 - ident_case@1.0.1 - idna@0.5.0 - ignore@0.4.22 - image@0.24.8 - indexmap@1.9.3 - indexmap@2.2.1 - inotify@0.9.6 - inotify-sys@0.1.5 - instant@0.1.12 - intrusive-collections@0.9.6 - io-lifetimes@1.0.11 - ioctl-rs@0.1.6 - ipnet@2.9.0 - is-terminal@0.4.10 - itertools@0.10.5 - itoa@1.0.10 - jobserver@0.1.27 - jpeg-decoder@0.3.1 - js-sys@0.3.67 - k9@0.11.6 - k9@0.12.0 - khronos-egl@6.0.0 - khronos_api@3.1.0 - kqueue@1.0.8 - kqueue-sys@1.0.4 - lab@0.11.0 - lazy_static@1.4.0 - lazycell@1.3.0 - leb128@0.2.5 - lebe@0.5.2 - libc@0.2.152 - libflate@2.0.0 - libflate_lz77@2.0.0 - libgit2-sys@0.14.2+1.5.1 - libloading@0.6.7 - libloading@0.7.4 - libloading@0.8.1 - libm@0.2.8 - libredox@0.0.1 - libsqlite3-sys@0.24.2 - libssh-rs@0.2.2 - libssh-rs-sys@0.2.2 - libssh2-sys@0.3.0 - libz-sys@1.1.15 - line-wrap@0.1.1 - line_drawing@0.8.1 - linked-hash-map@0.5.6 - linux-raw-sys@0.3.8 - linux-raw-sys@0.4.13 - lock_api@0.4.11 - log@0.4.20 - lru@0.7.8 - lua-src@546.0.2 - luajit-src@210.5.5+f2336c4 - mac_address@1.1.5 - mach@0.3.2 - malloc_buf@0.0.6 - maplit@1.0.2 - match_cfg@0.1.0 - memchr@2.7.1 - memmap2@0.2.3 - memmap2@0.5.10 - memmap2@0.8.0 - memmem@0.1.1 - memoffset@0.6.5 - memoffset@0.7.1 - memoffset@0.9.0 - metal@0.27.0 - metrics@0.17.1 - metrics-macros@0.4.1 - mime@0.3.17 - minimal-lexical@0.2.1 - miniz_oxide@0.4.4 - miniz_oxide@0.7.1 - mintex@0.1.3 - mio@0.8.10 - mlua@0.9.5 - mlua-sys@0.5.1 - naga@0.14.2 - names@0.12.0 - nanorand@0.7.0 - native-tls@0.2.11 - nix@0.23.2 - nix@0.24.3 - nix@0.25.1 - nix@0.26.4 - no-std-compat@0.4.1 - nom@7.1.3 - nonzero_ext@0.3.0 - normalize-line-endings@0.3.0 - notify@5.2.0 - ntapi@0.4.1 - num@0.3.1 - num-bigint@0.3.3 - num-complex@0.3.1 - num-derive@0.3.3 - num-integer@0.1.45 - num-iter@0.1.43 - num-rational@0.3.2 - num-traits@0.2.17 - num_cpus@1.16.0 - objc@0.2.7 - objc_exception@0.1.2 - object@0.32.2 - once_cell@1.19.0 - oorandom@11.1.3 - openssl@0.10.63 - openssl-macros@0.1.1 - openssl-probe@0.1.5 - openssl-src@300.2.1+3.2.0 - openssl-sys@0.9.99 - ordered-float@4.2.0 - ordered-stream@0.2.0 - os_str_bytes@6.6.1 - parking@2.2.0 - parking_lot@0.11.2 - parking_lot@0.12.1 - parking_lot_core@0.8.6 - parking_lot_core@0.9.9 - paste@1.0.14 - pem@3.0.3 - percent-encoding@2.3.1 - pest@2.7.6 - pest_derive@2.7.6 - pest_generator@2.7.6 - pest_meta@2.7.6 - phf@0.11.2 - phf_codegen@0.11.2 - phf_generator@0.11.2 - phf_macros@0.11.2 - phf_shared@0.11.2 - pin-project@1.1.4 - pin-project-internal@1.1.4 - pin-project-lite@0.2.13 - pin-utils@0.1.0 - piper@0.2.1 - pkg-config@0.3.29 - plist@1.6.0 - plotters@0.3.5 - plotters-backend@0.3.5 - plotters-svg@0.3.5 - png@0.17.11 - polling@2.8.0 - polling@3.3.2 - powerfmt@0.2.0 - ppv-lite86@0.2.17 - predicates@3.1.0 - predicates-core@1.0.6 - predicates-tree@1.0.9 - presser@0.3.1 - proc-macro-crate@1.3.1 - proc-macro2@1.0.78 - profiling@1.0.13 - pulldown-cmark@0.9.6 - pure-rust-locales@0.7.0 - qoi@0.4.1 - quick-xml@0.30.0 - quick-xml@0.31.0 - quote@1.0.35 - rand@0.8.5 - rand_chacha@0.3.1 - rand_core@0.6.4 - range-alloc@0.1.3 - raw-window-handle@0.5.2 - rayon@1.8.1 - rayon-core@1.12.1 - rcgen@0.12.1 - redox_syscall@0.2.16 - redox_syscall@0.4.1 - redox_users@0.4.4 - regex@1.10.3 - regex-automata@0.1.10 - regex-automata@0.4.5 - regex-syntax@0.8.2 - relative-path@1.9.2 - renderdoc-sys@1.0.0 - reqwest@0.11.23 - resize@0.5.5 - rgb@0.8.37 - ring@0.17.7 - rle-decode-fast@1.0.3 - rstest@0.18.2 - rstest_macros@0.18.2 - rusqlite@0.27.0 - rustc-demangle@0.1.23 - rustc-hash@1.1.0 - rustc_version@0.4.0 - rustix@0.37.27 - rustix@0.38.30 - ryu@1.0.16 - safemem@0.3.3 - same-file@1.0.6 - schannel@0.1.23 - scoped-tls@1.0.1 - scopeguard@1.2.0 - security-framework@2.9.2 - security-framework-sys@2.9.1 - semver@0.11.0 - semver@1.0.21 - semver-parser@0.10.2 - serde@1.0.196 - serde_cbor@0.11.2 - serde_derive@1.0.196 - serde_json@1.0.113 - serde_repr@0.1.18 - serde_spanned@0.6.5 - serde_urlencoded@0.7.1 - serde_with@2.3.3 - serde_with_macros@2.3.3 - serde_yaml@0.9.31 - serial@0.4.0 - serial-core@0.4.0 - serial-unix@0.4.0 - serial-windows@0.4.0 - sha1@0.10.6 - sha2@0.10.8 - shared_library@0.1.9 - shell-words@1.1.0 - shlex@1.3.0 - signal-hook@0.3.17 - signal-hook-registry@1.4.1 - simd-adler32@0.3.7 - siphasher@0.3.11 - slab@0.4.9 - slotmap@1.0.7 - smallvec@1.13.1 - smawk@0.3.2 - smithay-client-toolkit@0.16.1 - smol@1.3.0 - smol-potat@1.1.2 - smol-potat-macro@0.6.0 - socket2@0.4.10 - socket2@0.5.5 - spa@0.3.1 - spin@0.9.8 - spirv@0.2.0+1.5.4 - sqlite-cache@0.1.3 - ssh2@0.9.4 - starship-battery@0.7.9 - static_assertions@1.1.0 - strict-num@0.1.1 - strsim@0.10.0 - svg_fmt@0.4.1 - syn@1.0.109 - syn@2.0.48 - system-configuration@0.5.1 - system-configuration-sys@0.5.0 - system-deps@6.2.1 - takeable-option@0.5.0 - tar@0.4.40 - target-lexicon@0.12.14 - tempfile@3.9.0 - term_size@0.3.2 - termcolor@1.4.1 - terminal_size@0.2.6 - terminal_size@0.3.0 - terminfo@0.8.0 - termios@0.2.2 - termios@0.3.3 - termtree@0.4.1 - textwrap@0.11.0 - textwrap@0.16.0 - thiserror@1.0.56 - thiserror-impl@1.0.56 - thousands@0.2.0 - thread_local@1.1.7 - tiff@0.9.1 - time@0.3.31 - time-core@0.1.2 - time-macros@0.2.16 - tiny-skia@0.11.3 - tiny-skia-path@0.11.3 - tinytemplate@1.2.1 - tinyvec@1.6.0 - tinyvec_macros@0.1.1 - tokio@1.35.1 - tokio-macros@2.2.0 - tokio-native-tls@0.3.1 - tokio-util@0.7.10 - toml@0.5.11 - toml@0.8.8 - toml_datetime@0.6.5 - toml_edit@0.19.15 - toml_edit@0.21.0 - tower-service@0.3.2 - tracing@0.1.40 - tracing-attributes@0.1.27 - tracing-core@0.1.32 - try-lock@0.2.5 - typenum@1.17.0 - ucd-trie@0.1.6 - uds_windows@1.1.0 - unicase@2.7.0 - unicode-bidi@0.3.15 - unicode-ident@1.0.12 - unicode-linebreak@0.1.5 - unicode-normalization@0.1.22 - unicode-segmentation@1.10.1 - unicode-width@0.1.11 - unicode-xid@0.2.4 - unsafe-libyaml@0.2.10 - untrusted@0.9.0 - uom@0.30.0 - url@2.5.0 - utf8parse@0.2.1 - uuid@1.7.0 - varbincode@0.1.0 - vcpkg@0.2.15 - version-compare@0.1.1 - version_check@0.9.4 - vswhom@0.1.0 - vswhom-sys@0.1.2 - waker-fn@1.1.1 - walkdir@2.4.0 - want@0.3.1 - wasi@0.11.0+wasi-snapshot-preview1 - wasm-bindgen@0.2.90 - wasm-bindgen-backend@0.2.90 - wasm-bindgen-futures@0.4.40 - wasm-bindgen-macro@0.2.90 - wasm-bindgen-macro-support@0.2.90 - wasm-bindgen-shared@0.2.90 - wayland-client@0.29.5 - wayland-commons@0.29.5 - wayland-cursor@0.29.5 - wayland-egl@0.29.5 - wayland-protocols@0.29.5 - wayland-scanner@0.29.5 - wayland-sys@0.29.5 - web-sys@0.3.64 - weezl@0.1.8 - wgpu@0.18.0 - wgpu-core@0.18.1 - wgpu-hal@0.18.1 - wgpu-types@0.18.0 - which@5.0.0 - whoami@1.4.1 - widestring@1.0.2 - winapi@0.3.9 - winapi-i686-pc-windows-gnu@0.4.0 - winapi-util@0.1.6 - winapi-x86_64-pc-windows-gnu@0.4.0 - windows@0.33.0 - windows@0.51.1 - windows-core@0.51.1 - windows-core@0.52.0 - windows-sys@0.45.0 - windows-sys@0.48.0 - windows-sys@0.52.0 - windows-targets@0.42.2 - windows-targets@0.48.5 - windows-targets@0.52.0 - windows_aarch64_gnullvm@0.42.2 - windows_aarch64_gnullvm@0.48.5 - windows_aarch64_gnullvm@0.52.0 - windows_aarch64_msvc@0.33.0 - windows_aarch64_msvc@0.42.2 - windows_aarch64_msvc@0.48.5 - windows_aarch64_msvc@0.52.0 - windows_i686_gnu@0.33.0 - windows_i686_gnu@0.42.2 - windows_i686_gnu@0.48.5 - windows_i686_gnu@0.52.0 - windows_i686_msvc@0.33.0 - windows_i686_msvc@0.42.2 - windows_i686_msvc@0.48.5 - windows_i686_msvc@0.52.0 - windows_x86_64_gnu@0.33.0 - windows_x86_64_gnu@0.42.2 - windows_x86_64_gnu@0.48.5 - windows_x86_64_gnu@0.52.0 - windows_x86_64_gnullvm@0.42.2 - windows_x86_64_gnullvm@0.48.5 - windows_x86_64_gnullvm@0.52.0 - windows_x86_64_msvc@0.33.0 - windows_x86_64_msvc@0.42.2 - windows_x86_64_msvc@0.48.5 - windows_x86_64_msvc@0.52.0 - winnow@0.5.35 - winreg@0.10.1 - winreg@0.50.0 - wio@0.2.2 - x11@2.21.0 - xattr@1.3.1 - xcb@1.3.0 - xcb-imdkit@0.1.2 - xcursor@0.3.5 - xdg-home@1.0.0 - xkbcommon@0.7.0 - xkeysym@0.2.0 - xml-rs@0.8.19 - yaml-rust@0.4.5 - yasna@0.5.2 - zbus@3.14.1 - zbus_macros@3.14.1 - zbus_names@2.6.0 - zerocopy@0.7.32 - zerocopy-derive@0.7.32 - zstd@0.11.2+zstd.1.5.2 - zstd-safe@5.0.2+zstd.1.5.2 - zstd-sys@2.0.9+zstd.1.5.5 - zune-inflate@0.2.54 - zvariant@3.15.0 - zvariant_derive@3.15.0 - zvariant_utils@1.0.1 -" - -inherit bash-completion-r1 desktop cargo xdg-utils - -DESCRIPTION="A GPU-accelerated cross-platform terminal emulator and multiplexer" -HOMEPAGE="https://wezfurlong.org/wezterm/" - -MY_PV="$(ver_rs 1 -)-5046fc22" -MY_P="${PN}-${MY_PV}" - -SRC_URI=" - https://github.com/wez/${PN}/releases/download/${MY_PV}/${MY_P}-src.tar.gz - ${CARGO_CRATE_URIS} - " - -SUBMODULES=( - "freetype2 github freetype https://github.com/wez/freetype2 e4586d960f339cf75e2e0b34aee30a0ed8353c0d" - "libpng github freetype https://github.com/glennrp/libpng 8439534daa1d3a5705ba92e653eda9251246dd61" - "zlib github freetype https://github.com/madler/zlib cacf7f1d4e3d44d871b605da3b647f07d718623f" - "harfbuzz github harfbuzz https://github.com/harfbuzz/harfbuzz 894a1f72ee93a1fd8dc1d9218cb3fd8f048be29a" - "libssh-rs-tmp github crates https://github.com/wez/libssh-rs e57fdc813ed177738828ad73536f657cb2f91cf4" - "libssh gitlab crates https://gitlab.com/libssh/libssh-mirror 6ad455a8acfe6032c2a87cf83f2d20463c30f8af" -) - -# License set may be more restrictive as OR is not respected -# use cargo-license for a more accurate license picture -LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions Artistic-2 BSD BSD-2 Boost-1.0 CC0-1.0 GPL-3 ISC LGPL-2.1 MIT MPL-2.0 Unicode-DFS-2016 Unlicense WTFPL-2 ZLIB" -SLOT="0" -KEYWORDS="~amd64 ~arm64" -IUSE="wayland" - -RESTRICT=test # tests require network - -PATCHES=( - "${FILESDIR}/${PN}-20230320-124340-vendored-sources.patch" - "${FILESDIR}/${PN}-20240203-110809-xcb-imdkit.patch" - "${FILESDIR}/${PN}-20240203-110809-cairo.patch" -) - -DEPEND=" - dev-libs/openssl - wayland? ( dev-libs/wayland ) - media-fonts/jetbrains-mono - media-fonts/noto - media-fonts/noto-emoji - media-fonts/roboto - media-libs/fontconfig - media-libs/mesa - sys-apps/dbus - x11-libs/cairo[X] - x11-libs/libX11 - x11-libs/libxkbcommon[X,wayland?] - x11-libs/xcb-util - x11-libs/xcb-util-image - x11-libs/xcb-util-keysyms - x11-libs/xcb-util-wm - x11-themes/hicolor-icon-theme - x11-themes/xcursor-themes -" -RDEPEND="${DEPEND}" -BDEPEND=" - dev-build/cmake - dev-vcs/git - virtual/pkgconfig - virtual/rust -" - -QA_FLAGS_IGNORED=" - usr/bin/.* -" - -S="${WORKDIR}/${MY_P}" - -submodule_uris() { - for line in "${SUBMODULES[@]}"; do - read -r name hoster dep url commit <<< "${line}" || die - - if [ ${hoster} == "github" ]; - then - SRC_URI+=" ${url}/archive/${commit}.tar.gz -> ${url##*/}-${commit}.tar.gz" - elif [ ${hoster} == "gitlab" ]; - then - SRC_URI+=" ${url}/-/archive/${commit}/${url##*/}-${commit}.tar.gz" - else - die - fi - done -} - -submodule_uris - -src_prepare() { - for line in "${SUBMODULES[@]}"; do - read -r name hoster dep url commit <<< "${line}" || die - - mkdir -p "${S}/deps/${dep}/${name}" || die - cp -r "${WORKDIR}"/${url##*/}-${commit}/* "${S}/deps/${dep}/${name}" || die - done - - pushd "${WORKDIR}"/cargo_home/gentoo/xcb-imdkit-0.1.2 || die - eapply "${FILESDIR}"/xcb-imdkit-0.1.2-p1.patch - eapply "${FILESDIR}"/xcb-imdkit-0.1.2-p2.patch - eapply "${FILESDIR}"/xcb-imdkit-0.1.2-p3-xcb-1.3.patch - eapply "${FILESDIR}"/xcb-imdkit-0.1.2-p4.patch - popd || die - - mv "${S}/deps/crates/libssh-rs-tmp/libssh-rs" "${S}/deps/crates" || die - mv "${S}/deps/crates/libssh-rs-tmp/libssh-rs-sys" "${S}/deps/crates" || die - cp -r "${S}"/deps/crates/libssh/* "${S}/deps/crates/libssh-rs-sys/vendored/" || die - rm -rf "${S}/deps/crates/libssh-rs-tmp" || die - rm -rf "${S}/deps/crates/libssh" || die - echo '{"files":{}}' > "${S}/deps/crates/libssh-rs/.cargo-checksum.json" || die - echo '{"files":{}}' > "${S}/deps/crates/libssh-rs-sys/.cargo-checksum.json" || die - echo '{"files":{}}' > "${WORKDIR}/cargo_home/gentoo/xcb-imdkit-0.1.2/.cargo-checksum.json" || die - - echo "${MY_PV}-gentoo" > .tag || die - - default - eapply_user -} - -src_configure() { - local myfeatures=( - distro-defaults - vendor-nerd-font-symbols-font - $(usev wayland) - ) - cargo_src_configure --no-default-features -} - -src_compile() { - cargo_src_compile -} - -src_install() { - exeinto /usr/bin - doexe "$(cargo_target_dir)/wezterm" - doexe "$(cargo_target_dir)/wezterm-gui" - doexe "$(cargo_target_dir)/wezterm-mux-server" - doexe "$(cargo_target_dir)/strip-ansi-escapes" - - insinto /usr/share/icons/hicolor/128x128/apps - newins assets/icon/terminal.png org.wezfurlong.wezterm.png - - newmenu assets/wezterm.desktop org.wezfurlong.wezterm.desktop - - insinto /usr/share/metainfo - newins assets/wezterm.appdata.xml org.wezfurlong.wezterm.appdata.xml - - newbashcomp assets/shell-completion/bash ${PN} - - insopts -m 0644 - insinto /usr/share/zsh/site-functions - newins assets/shell-completion/zsh _${PN} - - insopts -m 0644 - insinto /usr/share/fish/vendor_completions.d - newins assets/shell-completion/fish ${PN}.fish -} - -pkg_postinst() { - xdg_icon_cache_update - einfo "It may be necessary to configure wezterm to use a cursor theme, see:" - einfo "https://wezfurlong.org/wezterm/faq.html?highlight=xcursor_theme#i-use-x11-or-wayland-and-my-mouse-cursor-theme-doesnt-seem-to-work" - einfo "It may be necessary to set the environment variable XCURSOR_PATH" - einfo "to the directory containing the cursor icons, for example" - einfo 'export XCURSOR_PATH="/usr/share/cursors/xorg-x11/"' - einfo "before starting the wayland or X11 window compositor to avoid the error:" - einfo "ERROR window::os::wayland::frame > Unable to set cursor to left_ptr: cursor not found" - einfo "For example, in the file ~/.wezterm.lua:" - einfo "return {" - einfo ' xcursor_theme = "whiteglass"' - einfo "}" -} - -pkg_postrm() { - xdg_icon_cache_update -} diff --git a/x11-terms/wezterm/wezterm-20240203.110809-r2.ebuild b/x11-terms/wezterm/wezterm-20240203.110809-r2.ebuild new file mode 100644 index 000000000000..065984499616 --- /dev/null +++ b/x11-terms/wezterm/wezterm-20240203.110809-r2.ebuild @@ -0,0 +1,837 @@ +# Copyright 2022-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Auto-Generated by cargo-ebuild 0.5.4 + +EAPI=8 + +CRATES=" + addr2line@0.21.0 + adler@1.0.2 + adler32@1.2.0 + ahash@0.7.7 + ahash@0.8.7 + aho-corasick@1.1.2 + allocator-api2@0.2.16 + android-tzdata@0.1.1 + android_system_properties@0.1.5 + anes@0.1.6 + anstream@0.6.11 + anstyle@1.0.5 + anstyle-parse@0.2.3 + anstyle-query@1.0.2 + anstyle-wincon@3.0.2 + anyhow@1.0.79 + arrayref@0.3.7 + arrayvec@0.7.4 + as-raw-xcb-connection@1.0.1 + ash@0.37.3+1.3.251 + assert_fs@1.1.1 + async-broadcast@0.5.1 + async-channel@1.9.0 + async-channel@2.1.1 + async-executor@1.8.0 + async-fs@1.6.0 + async-io@1.13.0 + async-io@2.3.1 + async-lock@2.8.0 + async-lock@3.3.0 + async-net@1.8.0 + async-process@1.8.1 + async-recursion@1.0.5 + async-signal@0.2.5 + async-task@4.7.0 + async-trait@0.1.77 + atomic@0.5.3 + atomic-waker@1.1.2 + atty@0.2.14 + autocfg@1.1.0 + az@1.2.1 + backtrace@0.3.69 + base64@0.13.1 + base64@0.21.7 + benchmarking@0.4.12 + bit-set@0.5.3 + bit-vec@0.6.3 + bit_field@0.10.2 + bitflags@1.3.2 + bitflags@2.4.2 + block@0.1.6 + block-buffer@0.10.4 + blocking@1.5.1 + bstr@0.1.4 + bstr@1.9.0 + bumpalo@3.14.0 + bytemuck@1.14.1 + bytemuck_derive@1.5.0 + byteorder@1.5.0 + bytes@1.5.0 + cairo-rs@0.18.5 + cairo-sys-rs@0.18.0 + camino@1.1.6 + cassowary@0.3.0 + cast@0.3.0 + cc@1.0.83 + cfg-if@1.0.0 + cfg-expr@0.15.8 + cgl@0.3.2 + chrono@0.4.33 + ciborium@0.2.2 + ciborium-io@0.2.2 + ciborium-ll@0.2.2 + clap@2.34.0 + clap@3.2.25 + clap@4.4.18 + clap_builder@4.4.18 + clap_complete@4.4.9 + clap_complete_fig@4.4.2 + clap_derive@4.4.7 + clap_lex@0.2.4 + clap_lex@0.6.0 + clipboard-win@2.2.0 + cocoa@0.20.2 + cocoa@0.25.0 + cocoa-foundation@0.1.2 + codespan-reporting@0.11.1 + color_quant@1.1.0 + colorchoice@1.0.0 + colored@1.9.4 + colored@2.1.0 + colorgrad@0.6.2 + com-rs@0.2.1 + concurrent-queue@2.4.0 + core-foundation@0.7.0 + core-foundation@0.9.4 + core-foundation-sys@0.7.0 + core-foundation-sys@0.8.6 + core-graphics@0.19.2 + core-graphics@0.23.1 + core-graphics-types@0.1.3 + core-text@20.1.0 + core2@0.4.0 + cpufeatures@0.2.12 + crc32fast@1.3.2 + criterion@0.3.6 + criterion@0.4.0 + criterion-plot@0.4.5 + criterion-plot@0.5.0 + crossbeam@0.8.4 + crossbeam-channel@0.5.11 + crossbeam-deque@0.8.5 + crossbeam-epoch@0.9.18 + crossbeam-queue@0.3.11 + crossbeam-utils@0.8.19 + crunchy@0.2.2 + crypto-common@0.1.6 + csscolorparser@0.6.2 + csv@1.3.0 + csv-core@0.1.11 + d3d12@0.7.0 + darling@0.20.3 + darling_core@0.20.3 + darling_macro@0.20.3 + dary_heap@0.3.6 + data-encoding@2.5.0 + deltae@0.3.2 + deranged@0.3.11 + derivative@2.2.0 + dhat@0.3.2 + diff@0.1.13 + difflib@0.4.0 + digest@0.10.7 + dirs@4.0.0 + dirs-next@2.0.0 + dirs-sys@0.3.7 + dirs-sys-next@0.1.2 + dlib@0.5.2 + doc-comment@0.3.3 + downcast-rs@1.2.0 + dwrote@0.11.0 + either@1.9.0 + embed-resource@1.8.0 + emojis@0.6.1 + encoding_rs@0.8.33 + enum-display-derive@0.1.1 + enumflags2@0.7.8 + enumflags2_derive@0.7.8 + env_filter@0.1.0 + env_logger@0.10.2 + env_logger@0.11.1 + equivalent@1.0.1 + errno@0.3.8 + euclid@0.22.9 + event-listener@2.5.3 + event-listener@3.1.0 + event-listener@4.0.3 + event-listener-strategy@0.4.0 + exr@1.6.4 + fallible-iterator@0.2.0 + fallible-streaming-iterator@0.1.9 + fancy-regex@0.11.0 + fastrand@1.9.0 + fastrand@2.0.1 + fdeflate@0.3.4 + filenamegen@0.2.4 + filetime@0.2.23 + finl_unicode@1.2.0 + fixed@1.24.0 + fixedbitset@0.4.2 + flate2@1.0.28 + float-cmp@0.9.0 + flume@0.10.14 + flume@0.11.0 + fnv@1.0.7 + foreign-types@0.3.2 + foreign-types@0.5.0 + foreign-types-macros@0.2.3 + foreign-types-shared@0.1.1 + foreign-types-shared@0.3.1 + form_urlencoded@1.2.1 + fsevent-sys@4.1.0 + futures@0.3.30 + futures-channel@0.3.30 + futures-core@0.3.30 + futures-executor@0.3.30 + futures-io@0.3.30 + futures-lite@1.13.0 + futures-lite@2.2.0 + futures-macro@0.3.30 + futures-sink@0.3.30 + futures-task@0.3.30 + futures-timer@3.0.2 + futures-util@0.3.30 + fuzzy-matcher@0.3.7 + generic-array@0.14.7 + gethostname@0.4.3 + getopts@0.2.21 + getrandom@0.2.12 + gif@0.12.0 + gimli@0.28.1 + git2@0.16.1 + gl_generator@0.14.0 + glium@0.31.0 + glob@0.3.1 + globset@0.4.14 + globwalk@0.9.1 + glow@0.13.1 + glutin_wgl_sys@0.5.0 + governor@0.5.1 + gpu-alloc@0.6.0 + gpu-alloc-types@0.3.0 + gpu-allocator@0.23.0 + gpu-descriptor@0.2.4 + gpu-descriptor-types@0.1.2 + guillotiere@0.6.2 + h2@0.3.24 + half@1.8.2 + half@2.3.1 + hashbrown@0.11.2 + hashbrown@0.12.3 + hashbrown@0.13.2 + hashbrown@0.14.3 + hashlink@0.7.0 + hassle-rs@0.10.0 + hdrhistogram@7.5.4 + heck@0.4.1 + hermit-abi@0.1.19 + hermit-abi@0.3.4 + hex@0.4.3 + hexf-parse@0.2.1 + home@0.5.9 + hostname@0.3.1 + http@0.2.11 + http-body@0.4.6 + http_req@0.10.2 + httparse@1.8.0 + httpdate@1.0.3 + humansize@2.1.3 + humantime@2.1.0 + hyper@0.14.28 + hyper-tls@0.5.0 + iana-time-zone@0.1.59 + iana-time-zone-haiku@0.1.2 + ident_case@1.0.1 + idna@0.5.0 + ignore@0.4.22 + image@0.24.8 + indexmap@1.9.3 + indexmap@2.2.1 + inotify@0.9.6 + inotify-sys@0.1.5 + instant@0.1.12 + intrusive-collections@0.9.6 + io-lifetimes@1.0.11 + ioctl-rs@0.1.6 + ipnet@2.9.0 + is-terminal@0.4.10 + itertools@0.10.5 + itoa@1.0.10 + jobserver@0.1.27 + jpeg-decoder@0.3.1 + js-sys@0.3.67 + k9@0.11.6 + k9@0.12.0 + khronos-egl@6.0.0 + khronos_api@3.1.0 + kqueue@1.0.8 + kqueue-sys@1.0.4 + lab@0.11.0 + lazy_static@1.4.0 + lazycell@1.3.0 + leb128@0.2.5 + lebe@0.5.2 + libc@0.2.152 + libflate@2.0.0 + libflate_lz77@2.0.0 + libgit2-sys@0.14.2+1.5.1 + libloading@0.6.7 + libloading@0.7.4 + libloading@0.8.1 + libm@0.2.8 + libredox@0.0.1 + libsqlite3-sys@0.24.2 + libssh-rs@0.2.2 + libssh-rs-sys@0.2.2 + libssh2-sys@0.3.0 + libz-sys@1.1.15 + line-wrap@0.1.1 + line_drawing@0.8.1 + linked-hash-map@0.5.6 + linux-raw-sys@0.3.8 + linux-raw-sys@0.4.13 + lock_api@0.4.11 + log@0.4.20 + lru@0.7.8 + lua-src@546.0.2 + luajit-src@210.5.5+f2336c4 + mac_address@1.1.5 + mach@0.3.2 + malloc_buf@0.0.6 + maplit@1.0.2 + match_cfg@0.1.0 + memchr@2.7.1 + memmap2@0.2.3 + memmap2@0.5.10 + memmap2@0.8.0 + memmem@0.1.1 + memoffset@0.6.5 + memoffset@0.7.1 + memoffset@0.9.0 + metal@0.27.0 + metrics@0.17.1 + metrics-macros@0.4.1 + mime@0.3.17 + minimal-lexical@0.2.1 + miniz_oxide@0.4.4 + miniz_oxide@0.7.1 + mintex@0.1.3 + mio@0.8.10 + mlua@0.9.5 + mlua-sys@0.5.1 + naga@0.14.2 + names@0.12.0 + nanorand@0.7.0 + native-tls@0.2.11 + nix@0.23.2 + nix@0.24.3 + nix@0.25.1 + nix@0.26.4 + no-std-compat@0.4.1 + nom@7.1.3 + nonzero_ext@0.3.0 + normalize-line-endings@0.3.0 + notify@5.2.0 + ntapi@0.4.1 + num@0.3.1 + num-bigint@0.3.3 + num-complex@0.3.1 + num-derive@0.3.3 + num-integer@0.1.45 + num-iter@0.1.43 + num-rational@0.3.2 + num-traits@0.2.17 + num_cpus@1.16.0 + objc@0.2.7 + objc_exception@0.1.2 + object@0.32.2 + once_cell@1.19.0 + oorandom@11.1.3 + openssl@0.10.63 + openssl-macros@0.1.1 + openssl-probe@0.1.5 + openssl-src@300.2.1+3.2.0 + openssl-sys@0.9.99 + ordered-float@4.2.0 + ordered-stream@0.2.0 + os_str_bytes@6.6.1 + parking@2.2.0 + parking_lot@0.11.2 + parking_lot@0.12.1 + parking_lot_core@0.8.6 + parking_lot_core@0.9.9 + paste@1.0.14 + pem@3.0.3 + percent-encoding@2.3.1 + pest@2.7.6 + pest_derive@2.7.6 + pest_generator@2.7.6 + pest_meta@2.7.6 + phf@0.11.2 + phf_codegen@0.11.2 + phf_generator@0.11.2 + phf_macros@0.11.2 + phf_shared@0.11.2 + pin-project@1.1.4 + pin-project-internal@1.1.4 + pin-project-lite@0.2.13 + pin-utils@0.1.0 + piper@0.2.1 + pkg-config@0.3.29 + plist@1.6.0 + plotters@0.3.5 + plotters-backend@0.3.5 + plotters-svg@0.3.5 + png@0.17.11 + polling@2.8.0 + polling@3.3.2 + powerfmt@0.2.0 + ppv-lite86@0.2.17 + predicates@3.1.0 + predicates-core@1.0.6 + predicates-tree@1.0.9 + presser@0.3.1 + proc-macro-crate@1.3.1 + proc-macro2@1.0.78 + profiling@1.0.13 + pulldown-cmark@0.9.6 + pure-rust-locales@0.7.0 + qoi@0.4.1 + quick-xml@0.30.0 + quick-xml@0.31.0 + quote@1.0.35 + rand@0.8.5 + rand_chacha@0.3.1 + rand_core@0.6.4 + range-alloc@0.1.3 + raw-window-handle@0.5.2 + rayon@1.8.1 + rayon-core@1.12.1 + rcgen@0.12.1 + redox_syscall@0.2.16 + redox_syscall@0.4.1 + redox_users@0.4.4 + regex@1.10.3 + regex-automata@0.1.10 + regex-automata@0.4.5 + regex-syntax@0.8.2 + relative-path@1.9.2 + renderdoc-sys@1.0.0 + reqwest@0.11.23 + resize@0.5.5 + rgb@0.8.37 + ring@0.17.7 + rle-decode-fast@1.0.3 + rstest@0.18.2 + rstest_macros@0.18.2 + rusqlite@0.27.0 + rustc-demangle@0.1.23 + rustc-hash@1.1.0 + rustc_version@0.4.0 + rustix@0.37.27 + rustix@0.38.30 + ryu@1.0.16 + safemem@0.3.3 + same-file@1.0.6 + schannel@0.1.23 + scoped-tls@1.0.1 + scopeguard@1.2.0 + security-framework@2.9.2 + security-framework-sys@2.9.1 + semver@0.11.0 + semver@1.0.21 + semver-parser@0.10.2 + serde@1.0.196 + serde_cbor@0.11.2 + serde_derive@1.0.196 + serde_json@1.0.113 + serde_repr@0.1.18 + serde_spanned@0.6.5 + serde_urlencoded@0.7.1 + serde_with@2.3.3 + serde_with_macros@2.3.3 + serde_yaml@0.9.31 + serial@0.4.0 + serial-core@0.4.0 + serial-unix@0.4.0 + serial-windows@0.4.0 + sha1@0.10.6 + sha2@0.10.8 + shared_library@0.1.9 + shell-words@1.1.0 + shlex@1.3.0 + signal-hook@0.3.17 + signal-hook-registry@1.4.1 + simd-adler32@0.3.7 + siphasher@0.3.11 + slab@0.4.9 + slotmap@1.0.7 + smallvec@1.13.1 + smawk@0.3.2 + smithay-client-toolkit@0.16.1 + smol@1.3.0 + smol-potat@1.1.2 + smol-potat-macro@0.6.0 + socket2@0.4.10 + socket2@0.5.5 + spa@0.3.1 + spin@0.9.8 + spirv@0.2.0+1.5.4 + sqlite-cache@0.1.3 + ssh2@0.9.4 + starship-battery@0.7.9 + static_assertions@1.1.0 + strict-num@0.1.1 + strsim@0.10.0 + svg_fmt@0.4.1 + syn@1.0.109 + syn@2.0.48 + system-configuration@0.5.1 + system-configuration-sys@0.5.0 + system-deps@6.2.1 + takeable-option@0.5.0 + tar@0.4.40 + target-lexicon@0.12.14 + tempfile@3.9.0 + term_size@0.3.2 + termcolor@1.4.1 + terminal_size@0.2.6 + terminal_size@0.3.0 + terminfo@0.8.0 + termios@0.2.2 + termios@0.3.3 + termtree@0.4.1 + textwrap@0.11.0 + textwrap@0.16.0 + thiserror@1.0.56 + thiserror-impl@1.0.56 + thousands@0.2.0 + thread_local@1.1.7 + tiff@0.9.1 + time@0.3.31 + time-core@0.1.2 + time-macros@0.2.16 + tiny-skia@0.11.3 + tiny-skia-path@0.11.3 + tinytemplate@1.2.1 + tinyvec@1.6.0 + tinyvec_macros@0.1.1 + tokio@1.35.1 + tokio-macros@2.2.0 + tokio-native-tls@0.3.1 + tokio-util@0.7.10 + toml@0.5.11 + toml@0.8.8 + toml_datetime@0.6.5 + toml_edit@0.19.15 + toml_edit@0.21.0 + tower-service@0.3.2 + tracing@0.1.40 + tracing-attributes@0.1.27 + tracing-core@0.1.32 + try-lock@0.2.5 + typenum@1.17.0 + ucd-trie@0.1.6 + uds_windows@1.1.0 + unicase@2.7.0 + unicode-bidi@0.3.15 + unicode-ident@1.0.12 + unicode-linebreak@0.1.5 + unicode-normalization@0.1.22 + unicode-segmentation@1.10.1 + unicode-width@0.1.11 + unicode-xid@0.2.4 + unsafe-libyaml@0.2.10 + untrusted@0.9.0 + uom@0.30.0 + url@2.5.0 + utf8parse@0.2.1 + uuid@1.7.0 + varbincode@0.1.0 + vcpkg@0.2.15 + version-compare@0.1.1 + version_check@0.9.4 + vswhom@0.1.0 + vswhom-sys@0.1.2 + waker-fn@1.1.1 + walkdir@2.4.0 + want@0.3.1 + wasi@0.11.0+wasi-snapshot-preview1 + wasm-bindgen@0.2.90 + wasm-bindgen-backend@0.2.90 + wasm-bindgen-futures@0.4.40 + wasm-bindgen-macro@0.2.90 + wasm-bindgen-macro-support@0.2.90 + wasm-bindgen-shared@0.2.90 + wayland-client@0.29.5 + wayland-commons@0.29.5 + wayland-cursor@0.29.5 + wayland-egl@0.29.5 + wayland-protocols@0.29.5 + wayland-scanner@0.29.5 + wayland-sys@0.29.5 + web-sys@0.3.64 + weezl@0.1.8 + wgpu@0.18.0 + wgpu-core@0.18.1 + wgpu-hal@0.18.1 + wgpu-types@0.18.0 + which@5.0.0 + whoami@1.4.1 + widestring@1.0.2 + winapi@0.3.9 + winapi-i686-pc-windows-gnu@0.4.0 + winapi-util@0.1.6 + winapi-x86_64-pc-windows-gnu@0.4.0 + windows@0.33.0 + windows@0.51.1 + windows-core@0.51.1 + windows-core@0.52.0 + windows-sys@0.45.0 + windows-sys@0.48.0 + windows-sys@0.52.0 + windows-targets@0.42.2 + windows-targets@0.48.5 + windows-targets@0.52.0 + windows_aarch64_gnullvm@0.42.2 + windows_aarch64_gnullvm@0.48.5 + windows_aarch64_gnullvm@0.52.0 + windows_aarch64_msvc@0.33.0 + windows_aarch64_msvc@0.42.2 + windows_aarch64_msvc@0.48.5 + windows_aarch64_msvc@0.52.0 + windows_i686_gnu@0.33.0 + windows_i686_gnu@0.42.2 + windows_i686_gnu@0.48.5 + windows_i686_gnu@0.52.0 + windows_i686_msvc@0.33.0 + windows_i686_msvc@0.42.2 + windows_i686_msvc@0.48.5 + windows_i686_msvc@0.52.0 + windows_x86_64_gnu@0.33.0 + windows_x86_64_gnu@0.42.2 + windows_x86_64_gnu@0.48.5 + windows_x86_64_gnu@0.52.0 + windows_x86_64_gnullvm@0.42.2 + windows_x86_64_gnullvm@0.48.5 + windows_x86_64_gnullvm@0.52.0 + windows_x86_64_msvc@0.33.0 + windows_x86_64_msvc@0.42.2 + windows_x86_64_msvc@0.48.5 + windows_x86_64_msvc@0.52.0 + winnow@0.5.35 + winreg@0.10.1 + winreg@0.50.0 + wio@0.2.2 + x11@2.21.0 + xattr@1.3.1 + xcb@1.3.0 + xcb-imdkit@0.1.2 + xcursor@0.3.5 + xdg-home@1.0.0 + xkbcommon@0.7.0 + xkeysym@0.2.0 + xml-rs@0.8.19 + yaml-rust@0.4.5 + yasna@0.5.2 + zbus@3.14.1 + zbus_macros@3.14.1 + zbus_names@2.6.0 + zerocopy@0.7.32 + zerocopy-derive@0.7.32 + zstd@0.11.2+zstd.1.5.2 + zstd-safe@5.0.2+zstd.1.5.2 + zstd-sys@2.0.9+zstd.1.5.5 + zune-inflate@0.2.54 + zvariant@3.15.0 + zvariant_derive@3.15.0 + 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" +HOMEPAGE="https://wezfurlong.org/wezterm/" + +MY_PV="$(ver_rs 1 -)-5046fc22" +MY_P="${PN}-${MY_PV}" + +SRC_URI=" + https://github.com/wez/${PN}/releases/download/${MY_PV}/${MY_P}-src.tar.gz + ${CARGO_CRATE_URIS} + " + +SUBMODULES=( + "freetype2 github freetype https://github.com/wez/freetype2 e4586d960f339cf75e2e0b34aee30a0ed8353c0d" + "libpng github freetype https://github.com/glennrp/libpng 8439534daa1d3a5705ba92e653eda9251246dd61" + "zlib github freetype https://github.com/madler/zlib cacf7f1d4e3d44d871b605da3b647f07d718623f" + "harfbuzz github harfbuzz https://github.com/harfbuzz/harfbuzz 894a1f72ee93a1fd8dc1d9218cb3fd8f048be29a" + "libssh-rs-tmp github crates https://github.com/wez/libssh-rs e57fdc813ed177738828ad73536f657cb2f91cf4" + "libssh gitlab crates https://gitlab.com/libssh/libssh-mirror 6ad455a8acfe6032c2a87cf83f2d20463c30f8af" +) + +# License set may be more restrictive as OR is not respected +# use cargo-license for a more accurate license picture +LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions Artistic-2 BSD BSD-2 Boost-1.0 CC0-1.0 GPL-3 ISC LGPL-2.1 MIT MPL-2.0 Unicode-DFS-2016 Unlicense WTFPL-2 ZLIB" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="wayland" + +RESTRICT=test # tests require network + +PATCHES=( + "${FILESDIR}/${PN}-20230320-124340-vendored-sources.patch" + "${FILESDIR}/${PN}-20240203-110809-xcb-imdkit.patch" + "${FILESDIR}/${PN}-20240203-110809-cairo.patch" +) + +DEPEND=" + dev-libs/openssl + wayland? ( dev-libs/wayland ) + media-fonts/jetbrains-mono + media-fonts/noto + media-fonts/noto-emoji + media-fonts/roboto + media-libs/fontconfig + media-libs/mesa + sys-apps/dbus + x11-libs/cairo[X] + x11-libs/libX11 + x11-libs/libxkbcommon[X,wayland?] + x11-libs/xcb-util + x11-libs/xcb-util-image + x11-libs/xcb-util-keysyms + x11-libs/xcb-util-wm + x11-themes/hicolor-icon-theme + x11-themes/xcursor-themes +" +RDEPEND="${DEPEND}" +BDEPEND=" + dev-build/cmake + dev-vcs/git + virtual/pkgconfig +" + +QA_FLAGS_IGNORED=" + usr/bin/.* +" + +S="${WORKDIR}/${MY_P}" + +submodule_uris() { + for line in "${SUBMODULES[@]}"; do + read -r name hoster dep url commit <<< "${line}" || die + + if [ ${hoster} == "github" ]; + then + SRC_URI+=" ${url}/archive/${commit}.tar.gz -> ${url##*/}-${commit}.tar.gz" + elif [ ${hoster} == "gitlab" ]; + then + SRC_URI+=" ${url}/-/archive/${commit}/${url##*/}-${commit}.tar.gz" + else + die + fi + done +} + +submodule_uris + +src_prepare() { + for line in "${SUBMODULES[@]}"; do + read -r name hoster dep url commit <<< "${line}" || die + + mkdir -p "${S}/deps/${dep}/${name}" || die + cp -r "${WORKDIR}"/${url##*/}-${commit}/* "${S}/deps/${dep}/${name}" || die + done + + pushd "${WORKDIR}"/cargo_home/gentoo/xcb-imdkit-0.1.2 || die + eapply "${FILESDIR}"/xcb-imdkit-0.1.2-p1.patch + eapply "${FILESDIR}"/xcb-imdkit-0.1.2-p2.patch + eapply "${FILESDIR}"/xcb-imdkit-0.1.2-p3-xcb-1.3.patch + eapply "${FILESDIR}"/xcb-imdkit-0.1.2-p4.patch + popd || die + + mv "${S}/deps/crates/libssh-rs-tmp/libssh-rs" "${S}/deps/crates" || die + mv "${S}/deps/crates/libssh-rs-tmp/libssh-rs-sys" "${S}/deps/crates" || die + cp -r "${S}"/deps/crates/libssh/* "${S}/deps/crates/libssh-rs-sys/vendored/" || die + rm -rf "${S}/deps/crates/libssh-rs-tmp" || die + rm -rf "${S}/deps/crates/libssh" || die + echo '{"files":{}}' > "${S}/deps/crates/libssh-rs/.cargo-checksum.json" || die + echo '{"files":{}}' > "${S}/deps/crates/libssh-rs-sys/.cargo-checksum.json" || die + echo '{"files":{}}' > "${WORKDIR}/cargo_home/gentoo/xcb-imdkit-0.1.2/.cargo-checksum.json" || die + + echo "${MY_PV}-gentoo" > .tag || die + + default + eapply_user +} + +src_configure() { + local myfeatures=( + distro-defaults + vendor-nerd-font-symbols-font + $(usev wayland) + ) + cargo_src_configure --no-default-features +} + +src_compile() { + cargo_src_compile +} + +src_install() { + exeinto /usr/bin + doexe "$(cargo_target_dir)/wezterm" + doexe "$(cargo_target_dir)/wezterm-gui" + doexe "$(cargo_target_dir)/wezterm-mux-server" + doexe "$(cargo_target_dir)/strip-ansi-escapes" + + insinto /usr/share/icons/hicolor/128x128/apps + newins assets/icon/terminal.png org.wezfurlong.wezterm.png + + newmenu assets/wezterm.desktop org.wezfurlong.wezterm.desktop + + insinto /usr/share/metainfo + newins assets/wezterm.appdata.xml org.wezfurlong.wezterm.appdata.xml + + newbashcomp assets/shell-completion/bash ${PN} + + insopts -m 0644 + insinto /usr/share/zsh/site-functions + newins assets/shell-completion/zsh _${PN} + + insopts -m 0644 + insinto /usr/share/fish/vendor_completions.d + newins assets/shell-completion/fish ${PN}.fish +} + +pkg_postinst() { + xdg_icon_cache_update + einfo "It may be necessary to configure wezterm to use a cursor theme, see:" + einfo "https://wezfurlong.org/wezterm/faq.html?highlight=xcursor_theme#i-use-x11-or-wayland-and-my-mouse-cursor-theme-doesnt-seem-to-work" + einfo "It may be necessary to set the environment variable XCURSOR_PATH" + einfo "to the directory containing the cursor icons, for example" + einfo 'export XCURSOR_PATH="/usr/share/cursors/xorg-x11/"' + einfo "before starting the wayland or X11 window compositor to avoid the error:" + einfo "ERROR window::os::wayland::frame > Unable to set cursor to left_ptr: cursor not found" + einfo "For example, in the file ~/.wezterm.lua:" + einfo "return {" + einfo ' xcursor_theme = "whiteglass"' + einfo "}" +} + +pkg_postrm() { + xdg_icon_cache_update +} -- cgit v1.2.3-65-gdbad