diff --git a/dev-util/selenium-manager/Manifest b/dev-util/selenium-manager/Manifest index 2dc64f741661a..f55eac7cb17c1 100644 --- a/dev-util/selenium-manager/Manifest +++ b/dev-util/selenium-manager/Manifest @@ -5,3 +5,4 @@ DIST selenium-selenium-4.26.0.gh.tar.gz 77107740 BLAKE2B d4e466dbdb9a12126ae8ee9 DIST selenium-selenium-4.31.0.gh.tar.gz 52458288 BLAKE2B 649d585e116ccd82e68f3b74b50cbbda5b9ac02c6ab8e72473b5775265205dc31ec69c846b1b39c91dceb63234bb02bf4833b321d101227f5873db6ad8897038 SHA512 e440e1b8e15b9e1f592b2466738f3982355a0757458bd7c8ef7eba31548df2bd449e54cea273a47f2b6bd0e68a2d75a1af67a791eff0cf3f601e685c4b8b237a DIST selenium-selenium-4.32.0.gh.tar.gz 52479399 BLAKE2B 01a2c0c172d4d25045b7f16d16c23945f4aaf48b422a9c926cdd6dbc728193a94d068c69f0317d3e5b8dd17df655581b3e5fd1e845cb18c1080f7a4aeb88d1dc SHA512 3beac9d23e9b92e54ff53195bb6376f6938019af9fdf9ad42210deb4bcd3b0fafe9e5098d4ba6e974d4d7f6bce6788622c0bd89ccf07117f3f7c7abad4e8831c DIST selenium-selenium-4.33.0.gh.tar.gz 52518597 BLAKE2B 126fd55707580ff1e8a1df129680dcfb3f6edd11cacc335bb0163cf0af7b9f713a5c73d70e963089e0bffd14bede21c04dcec8eb99aaa5be6719717411c73088 SHA512 6392f952081cac1c2d9a5d9b1a93da270a6605f370d25fa3e79551b8df648f527b1936448e42d5e75d89613a7306a5d8f351e471b7c783ef35e7b22be9eb2955 +DIST selenium-selenium-4.34.0.gh.tar.gz 52524095 BLAKE2B 1fe7e662697039708ce84ef4941f028369ca54089cd4f5075b3df2aa0d08373a3779ca201daa29ff5c4ad3d139f751a4525e114bfa80e3d0d297901309bf3bda SHA512 6e431e82d1ef4cb5dd47f319a95a43ebf68924b73f5de8e562ba21a0420d58098dcf63578699d36e3da5a6180fe7e433a50389a362357eb7c7f6d0a5770966b6 diff --git a/dev-util/selenium-manager/selenium-manager-4.34.0.ebuild b/dev-util/selenium-manager/selenium-manager-4.34.0.ebuild new file mode 100644 index 0000000000000..b6700c8655939 --- /dev/null +++ b/dev-util/selenium-manager/selenium-manager-4.34.0.ebuild @@ -0,0 +1,122 @@ +# 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.33.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/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_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 +}