commit:     29344796c386743383fc919960da35156f61f54a
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 18 06:05:01 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Oct 18 06:05:01 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29344796

dev-python/selenium: Bump to 4.37.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/selenium/Manifest               |   2 +
 dev-python/selenium/selenium-4.37.0.ebuild | 151 +++++++++++++++++++++++++++++
 2 files changed, 153 insertions(+)

diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest
index c79964b53abc..6830e6d7b7b0 100644
--- a/dev-python/selenium/Manifest
+++ b/dev-python/selenium/Manifest
@@ -2,7 +2,9 @@ DIST selenium-4.26.1.tar.gz 967543 BLAKE2B 
7e7476338a030083261199b725aaa38d03bb6
 DIST selenium-4.34.2.tar.gz 896309 BLAKE2B 
094d3596a86e1cd50a6967a65b3e7b9a73300403f5d88163ded8b1d3a62cb09d77057e9b90a35b39f3a6000a8ba604bd71ecb051866cf7ad88c5ab9e21752978
 SHA512 
f5911f41bc4988e1af26812299cf37aba7e88820cf4e719e0e04a36a5dbdba5420422c52393c8d31c4e0f88efe779e9beec2c490892e4546caa0a920047e01fa
 DIST selenium-4.35.0.tar.gz 907991 BLAKE2B 
e2d0baade499b41cdb23bdbae0059163fb58157dc86c3bcf4d7b9c4d040bcec19aba4000a223a4e7dd0137d4cc321064e95cd12fe22beaa311237c18261518ce
 SHA512 
09f9149b94974c7965d5b81ee1ca65cca7e7a1de775d7323335c21acbbdc21da17f0f6314a8162177c6a22fdbb23b4147c213b2c3a98bfd9a13ac077dc113812
 DIST selenium-4.36.0.tar.gz 913613 BLAKE2B 
cc4354d8c5a85aea2ed8c825b2ed06833db7f85276f99c8294b4dcaa1b58ad48f81549a8aafd4e93143b97eeaafd1c96d162b93c3c7bb7d45df6dbd7e9764f9b
 SHA512 
9ad9a3fbe1234754d7eaac94ad07f876108f390414addb057b50fa3ae46107f40f1cc7b40683064d59b82ce081ca9ca0297be6a55f61e8c19d93a49b91bc6d57
+DIST selenium-4.37.0.tar.gz 918689 BLAKE2B 
2ca4067e3e1729345b078515fc362571c73e818f9f71697f96648829d777df50e51d6ef29c1af5082718c5ce127e9bb8af4e3a7e3ed9b3f4f90164334c1693a6
 SHA512 
0406c57c1bd7614fed716c9fb59be089f63c102e2f7fc06ee38db4a3390bb3bda37f171818a3e6697ebe84f380238cb9d97214dbd5f7a99a2b6038cf6e75d682
 DIST selenium-selenium-4.26.1-python.gh.tar.gz 77109265 BLAKE2B 
c0c5693c64fa65a627e5edf0cbbc051410fcddf59e4fd80c362b9a382c586fc3ad3d574674e5523ab284b40b6639e95e85fd1c8195f2f1a6f35ad6532ed667ce
 SHA512 
7ace69332f17c6f7e28b81223f4c8c62cde1832b5acaf2fd1c777a08a5a9cfebb5d9c83daa10462eeb3acb9c7cb5038711f5acee51f5dad3910d7e29e4387d3f
 DIST selenium-selenium-4.34.2-python.gh.tar.gz 52515190 BLAKE2B 
319a7083d5942c1962b4f48f907fea12943a403e4490f74f3cd38662f1c63f57270b27b6039a5a8f29a980540cd0dcf1d1c7560c7ac126f07e491983dc0e81ef
 SHA512 
5ca0b6e970ded3dc93cd55a2c1af7c43063d87f57f119a011313eb7d08faa4057896a56d4eac2e13d39857c94b54f04840a053153cc39008c76cbdd33c8ddbba
 DIST selenium-selenium-4.35.0.gh.tar.gz 52550104 BLAKE2B 
b7ed0fb513cfb2ed24aa8393497b349f930739c3d24a330e5942fbaa5505f31d7086396a430776a3a28a5f65927b92bf27c0a32e8c36d893b5d62ef73151d5ef
 SHA512 
dc73829e3b0fcb7fb7ee1cc04574b95b63d23f67974575dbd66338e14a5cb2b06f983145ce874be0d7124e8828b0a41b99c75d3befb19e04cbf8d027d0bb983a
 DIST selenium-selenium-4.36.0.gh.tar.gz 52567842 BLAKE2B 
e5e715ce0d4e491f2551ea13c2b9cd6c1021fafd6b0bf0dacba9b0aa4e3f479816cb910c66e286e8cb7b737063705caa2c843db3ccb83f964b4bd64ff174d935
 SHA512 
b95037df807c827c8f110d112ec0d062c7bb3c71b9faf31f5bfae59b5bfd1c2e20b035c3c3ab180b2319f8ba952042fb77966eb44db5b803a545fa18e0285bb5
+DIST selenium-selenium-4.37.0.gh.tar.gz 52580241 BLAKE2B 
360f0c435cd79c37d65e03a6e049ab75cde20683599965a4ffbd155dd31ca7c8e0c5bbca83f3688d29a2404a51b6c6633581e369bcfb95b7b13b8508b0b65787
 SHA512 
0389e5dad02719da66689a9509ca95ae009120218f47ffedc1db2bb4063e95d842b527be23828a988c66c8b2ab7452817571aeda14b4f3254c5536d2d4b0f535

diff --git a/dev-python/selenium/selenium-4.37.0.ebuild 
b/dev-python/selenium/selenium-4.37.0.ebuild
new file mode 100644
index 000000000000..332a0b0b01cc
--- /dev/null
+++ b/dev-python/selenium/selenium-4.37.0.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{11..14} pypy3_11 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+# base releases are usually ${P}, followups ${P}-python
+TEST_TAG=${P}
+[[ ${PV} != *.0 ]] && TEST_TAG+=-python
+TEST_P=selenium-${TEST_TAG}
+
+DESCRIPTION="Python language binding for Selenium Remote Control"
+HOMEPAGE="
+       https://seleniumhq.org/
+       https://github.com/SeleniumHQ/selenium/tree/trunk/py/
+       https://pypi.org/project/selenium/
+"
+SRC_URI+="
+       test? (
+               
https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
+                       -> ${TEST_P}.gh.tar.gz
+       )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test test-rust"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+       >=dev-python/certifi-2025.10.5[${PYTHON_USEDEP}]
+       >=dev-python/trio-0.31.0[${PYTHON_USEDEP}]
+       >=dev-python/trio-websocket-0.12.2[${PYTHON_USEDEP}]
+       >=dev-python/typing-extensions-4.15.0[${PYTHON_USEDEP}]
+       >=dev-python/urllib3-2.5.0[${PYTHON_USEDEP}]
+       >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+       test? (
+               ${RDEPEND}
+               $(python_gen_cond_dep '
+                       dev-python/filetype[${PYTHON_USEDEP}]
+                       dev-python/pytest-mock[${PYTHON_USEDEP}]
+                       test-rust? (
+                               dev-python/pytest[${PYTHON_USEDEP}]
+                               
dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+                               dev-util/selenium-manager
+                               net-misc/geckodriver
+                               || (
+                                       www-client/firefox
+                                       www-client/firefox-bin
+                               )
+                       )
+               ' "${PYTHON_TESTED[@]}")
+       )
+"
+
+src_prepare() {
+       distutils-r1_src_prepare
+
+       # do not build selenium-manager implicitly
+       sed -e 's:\[tool\.setuptools-rust:[tool.ignore-me:' \
+               -i pyproject.toml || die
+       # unpin deps
+       sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+}
+
+python_test() {
+       # NB: xdist is causing random pytest crashes with high job numbers
+
+       if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+               einfo "Skipping tests on ${EPYTHON}"
+               return
+       fi
+
+       local EPYTEST_PLUGINS=( pytest-mock )
+       local EPYTEST_IGNORE=()
+       local EPYTEST_DESELECT=(
+               # expects vanilla certifi
+               
test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
+       )
+       local pytest_args=(
+               # 
https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
+               # seriously?
+               -o "python_files=*_tests.py test_*.py"
+       )
+       if use test-rust; then
+               local -x PATH=${T}/bin:${PATH}
+               local -x SE_MANAGER_PATH="$(type -P selenium-manager)"
+
+               local EPYTEST_RERUNS=5
+               pytest_args+=(
+                       --driver=firefox
+                       --browser-binary="$(type -P firefox || type -P 
firefox-bin)"
+                       --driver-binary="$(type -P geckodriver)"
+                       --headless
+               )
+
+               local EPYTEST_IGNORE+=(
+                       # requires some "python.runfiles", also bidi tests 
generally fail
+                       
test/selenium/webdriver/common/bidi_webextension_tests.py
+               )
+               EPYTEST_DESELECT+=(
+                       # expects prebuilt executables for various systems
+                       
test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_windows
+                       
test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_linux
+                       
test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_mac
+                       
test/selenium/webdriver/common/selenium_manager_tests.py::test_errors_if_invalid_os
+
+                       # TODO: these don't respect --*-binary and try to fetch 
versions
+                       test/selenium/webdriver/firefox
+                       
test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
+                       
test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
+                       
test/selenium/webdriver/marionette/mn_options_tests.py::TestIntegration::test_we_can_pass_options
+                       
test/selenium/webdriver/marionette/mn_set_context_tests.py::test_we_can_switch_context_to_chrome
+
+                       # TODO
+                       
'test/selenium/webdriver/common/devtools_tests.py::test_check_console_messages[firefox]'
+
+                       # TODO
+                       test/selenium/webdriver/common/bidi_browser_tests.py
+                       
test/selenium/webdriver/common/bidi_browsing_context_tests.py
+                       test/selenium/webdriver/common/bidi_emulation_tests.py
+                       test/selenium/webdriver/common/bidi_input_tests.py
+                       test/selenium/webdriver/common/bidi_network_tests.py
+                       test/selenium/webdriver/common/bidi_permissions_tests.py
+                       test/selenium/webdriver/common/bidi_script_tests.py
+                       test/selenium/webdriver/common/bidi_session_tests.py
+                       test/selenium/webdriver/common/bidi_storage_tests.py
+                       test/selenium/webdriver/common/bidi_tests.py
+                       
test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_binary
+                       
test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_ctor
+                       
test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_prefs
+                       
test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_to_capabilities
+               )
+       else
+               EPYTEST_IGNORE+=(
+                       test/selenium
+               )
+       fi
+
+       cd "${WORKDIR}/${TEST_P}/py" || die
+       rm -rf selenium || die
+       epytest "${pytest_args[@]}"
+}

Reply via email to