diff --git a/dev-util/selenium-manager/Manifest b/dev-util/selenium-manager/Manifest index a8100b095ad91..2c589887dbdfa 100644 --- a/dev-util/selenium-manager/Manifest +++ b/dev-util/selenium-manager/Manifest @@ -1,5 +1,7 @@ +DIST selenium-4.30.0-crates.tar.xz 23141460 BLAKE2B 5570eb553df4181b64800ca516fdcc7514c1485533585451ffbfa3ab0b15e2bc906c50bde83a1ade75227744a7e927aa2eb16e3b91bf3c9f1d9c210c704aa16d SHA512 e210bee9cf4280b8607b16a417d591169fba5703ed849e6811004ee14df24a93d335d1019cd00ae004acb189b5a0fa99b55555a858ee394139b82d5612e2dc1d DIST selenium-manager-4.26.0-crates.tar.xz 25659608 BLAKE2B 35c8c7aab560a16424580a79245bf096112b3eaa2a5a64a08535e5ad523331c905e1391138c5ee9555cb74169c758ffc6a1ef0ec36eba9754b883c66ae313321 SHA512 114c880feeead5cc37d57197b8d9eeefde428d9f8ed1f8c946f86064ec633e6f925c250114f91de8ed5fae6b1a25424754f008210f4f897a972c11a80a03eaf0 DIST selenium-manager-4.28.0-crates.tar.xz 25281624 BLAKE2B 1026f45f2b12c709235e4e998e80dd3d13ddba47f71fe327ada9ecd3bc9e97c39fe5000e3c61082881099fbb0c0fa18116edf0c512e507f31922b6b4534aa9f9 SHA512 ea48e79973333d97edcd4444b7725ca6f152b64045ec28e2886a812040f9274e19c6f2e5b80350ef184e8b12b060d652794330cd8485176662d3e4016ddfe92d DIST selenium-selenium-4.26.0.gh.tar.gz 77107740 BLAKE2B d4e466dbdb9a12126ae8ee9e311d5d997228da3b22620ead3dbf1a553232503fbd8c19470419d6ad5862acfc19f0012c4c48b3a5e1ccecaf0f7c4171f35904fb SHA512 03197215c04e8f6e151631d769975e70b5140d2d7635443c07e43e63b1c0cc3bc99b0694300ca4dbfea6178af9d037d28699a756ef74926a357f7a3030086182 DIST selenium-selenium-4.28.0.gh.tar.gz 52440665 BLAKE2B c954745ffc62d05c7686dfad8be2963dc520d831849a3ff50e75d6b3bf6f14e985932026b61bd6c4df37a1cd50d877bd6b52d0ee35df3b0763d4f5d2f08b8b6a SHA512 02316b264a25888116070f697be59094139114ce3388013da8e907dc55ac4e0d60b773b35ae5a786fbd94ee59c3afc7ff9344aeec709c160960a343337f42d8c DIST selenium-selenium-4.29.0.gh.tar.gz 52589103 BLAKE2B 65b202e599c1a3d31ebd15a3da1246fe7e8ea4a55c24189a1146d07e4a49a5fcdfbdb000b7e8102b09de4f3c60d4ca13c033c2127603f8ed2c6277d254cb3069 SHA512 2a3dde375539592cb65fc2dca27e5a3f92ccdd9111dd0c7a0453a6f447a2f4b738d92120d1ef6872321265f86c87708859e714288b49893f6b8ccb1ad003cbf7 +DIST selenium-selenium-4.30.0.gh.tar.gz 52519870 BLAKE2B 440198b919d2c3400666bc07d246bff04521ec10716fadf660c564bd316e5889c4ecb314a45422661623b2a17e47e93921cad6eb97d3ca1b6f47cbae0ad42ac7 SHA512 561551002d2c37acc9a0b5fc40e3989a47d69dc0692a6fe44c90b0b77bf0056bc390848020fea7f5681ccbb5ec9808912cc5e63c286577ec60d787f3d2991b82 diff --git a/dev-util/selenium-manager/selenium-manager-4.30.0.ebuild b/dev-util/selenium-manager/selenium-manager-4.30.0.ebuild new file mode 100644 index 0000000000000..1de7687747335 --- /dev/null +++ b/dev-util/selenium-manager/selenium-manager-4.30.0.ebuild @@ -0,0 +1,121 @@ +# Copyright 2024-2025 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=selenium-4.30.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://github.com/gentoo-crate-dist/selenium/releases/download/${CRATES_P}/${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-3.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 +}