diff --git a/dev-util/selenium-manager/Manifest b/dev-util/selenium-manager/Manifest index d1842112274a1..ddc53e6b1ea9d 100644 --- a/dev-util/selenium-manager/Manifest +++ b/dev-util/selenium-manager/Manifest @@ -1,5 +1,7 @@ DIST selenium-4.37.0-crates.tar.xz 23351684 BLAKE2B cf345adec9156c1da3ee1a77fb7253363aeff1bc6590fae6a26a32ca87b2a894a64d6bdfbe82fdf42ba0d887dfb930df8d2762694975661896b2fbd8ac592569 SHA512 3d00b200fb8b9aed53968dd495f091f7b873af4075857542318e9c1437cd2ca9c38f64aab1488924c69b8d82f0c5368639ae70cc99e8742349584e3548160fb5 DIST selenium-4.45.0-crates.tar.xz 24449188 BLAKE2B 4a795f37809fb96cb53db69dbedf88aac693f475bd5fe0ea6fedc3ad31de0205445c648689c3e0909c6abda2fa25cc5bebced285b6ede63211723e63f1200be3 SHA512 c2f6cdf2a6a34106860a4753cac57d2f535b93663005f056166d42cdcadbf5fd897398e300c2fa6f4aaa28cd41c4f601ba3d584b48a8fe51cfa427392d27ee35 +DIST selenium-4.46.0-crates.tar.xz 22240968 BLAKE2B 9cc0eb698777f801412c8be48c6f4ddda38a8a67e1489268019fd9d6fe52211cc602bb903f7d48c71f75f7d1ed0febe1da5a3210f875194f8c34c144ace4e614 SHA512 1eed5447b209893466166b25fc095b55f66f5696caac4154712680d302a1a163076a9916bb9f5bebe46217ca2c30b562606ad1d75ab51975977977c85e1bb4ff DIST selenium-selenium-4.43.0.gh.tar.gz 43705758 BLAKE2B d10a4167481924becfdc115175b7681ecda287e009288acda448cb81f081d7dc6b1789ae7cca3a8ef93dbcfb15f27bbc3f201b1b10fb9339dc2f5595221221aa SHA512 596c9a7631a25166391d92af931a660fd2bfe0994c720357e47552ca7101f6af2b578f05f160c24765ec81471b6a02af91ee7baf758c9b853d68ca7fbfa0820a DIST selenium-selenium-4.44.0.gh.tar.gz 43755091 BLAKE2B 05a58f6cde1bf1a9cdd4aa7dc61a93bedbeed814f6b16c9876cb85879d5aa4f470db569c21b6582673a281af01637237c0e099c79d9dc6e602ceedfc57e1a04d SHA512 6b93db69b9c1196e72b0a762b64b0677d70262428fc5a8dfe8d93847588fa5b78e481e9fa195fac41279ebbe4f1dd354b1217635cabcf7fac1c964a3a8b18e7a DIST selenium-selenium-4.45.0.gh.tar.gz 43849895 BLAKE2B ac9f2a6fdb393946e4e92326174c07c36fb15e1a8fc5053cbe5b4f4c76234127545234863149ec2d1811445d0985794b51927924f86d1067f2a9b4a5e36e2835 SHA512 943db9e790a2e9f52dcab9ea688bf805a9e6875a7eb43972f3c2b2eb454d2067eeb14204146dbc203b255d7228b18d9806a41711c8e37fa2e3d07a5b0bb96985 +DIST selenium-selenium-4.46.0.gh.tar.gz 43968307 BLAKE2B 83554d041f8fb060d74e326494ada681c27dcf1457d705e7c6c91b92f7342cd8675c2954cf34ffabec445d542f824d88bf610e27778dd5363a713bf96b9ee89a SHA512 4a5317252dfaf90bac5689b0df83a19cb9e1dfd03fdb7de1f6d1ec03c50803c444cf89f231e34d6d26971f7275ab30179bcb35883533dc132d49beba9d96462c diff --git a/dev-util/selenium-manager/selenium-manager-4.46.0.ebuild b/dev-util/selenium-manager/selenium-manager-4.46.0.ebuild new file mode 100644 index 0000000000000..fe362f3f34c41 --- /dev/null +++ b/dev-util/selenium-manager/selenium-manager-4.46.0.ebuild @@ -0,0 +1,131 @@ +# Copyright 2024-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CRATES=" +" +RUST_MIN_VER="1.88.0" + +inherit cargo + +TAG=selenium-${PV} +MY_P=selenium-${TAG} +CRATES_P=selenium-${PV} +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 CDLA-Permissive-2.0 ISC MIT MPL-2.0 Unicode-3.0 ZLIB + BZIP2 +" +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:= + virtual/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 + + # 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/electron_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_configure() { + local myfeatures=( + $(usev !telemetry avoid_stats) + ) + + cargo_src_configure +} + +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() { + dobin "$(cargo_target_dir)"/selenium-manager + einstalldocs + dodoc README.md + + newenvd - 70selenium-manager <<-EOF || die + SE_MANAGER_PATH="${EPREFIX}/usr/bin/selenium-manager" + EOF +}