diff --git a/app-misc/clipboard/Manifest b/app-misc/clipboard/Manifest index e5bc79b7b5..a734704424 100644 --- a/app-misc/clipboard/Manifest +++ b/app-misc/clipboard/Manifest @@ -1,2 +1 @@ -DIST clipboard-0.8.0.tar.gz 29340849 BLAKE2B 91635f16eee4c7fec588f3ceae34571e815680a34553ecf352f67b77c0749ad4c4ee848713d1b65d7e0a4dee0a2a597b29f59abab9082400dc02acba00ab7326 SHA512 b600e8425e48625ed2ad068500e381b1a0d40eacce92e05d45af21c1f5517dcac516287fbcdc1c03fe87cd5bdd5933258ffccf31460a03dfd7e306dc22442c63 -DIST clipboard-0.8.1.tar.gz 31510477 BLAKE2B 25243b59af15ef692f466fcb2b6c35cdd05e2ebaee95ddf2b1c6a555c2225d2273c4d0cc7785fb2da8cfdf8a5afeac968a48cc191c45e1df6966a8dfcfccff0b SHA512 b4c2c857cc734c6470990348c67f31b706cb61b116794135d5e60073d8e5389d4c93ee410e47a9c07998bd3a6578013879ee5f997eda9613c864ea312b54da2e +DIST clipboard-0.8.3.tar.gz 31616928 BLAKE2B 02621ed8864056af693c9bd0a40d1fba2930df08cde1d71d80ead9050c4e639901ae716678fdcf71832d51cd7539c40025b1a7ef99fd9045e967b51087e414a7 SHA512 fd906ebd42e894da7770713a6b7f9ca7327f9550d2d046d8e93cac6bfd44f6408f3e6286c7d51e4a5087b1ed2d5097fee6a25c1b13aa5d924a63eef60acf346d diff --git a/app-misc/clipboard/clipboard-0.8.1.ebuild b/app-misc/clipboard/clipboard-0.8.1.ebuild deleted file mode 100644 index 57d5d1c0aa..0000000000 --- a/app-misc/clipboard/clipboard-0.8.1.ebuild +++ /dev/null @@ -1,49 +0,0 @@ -# Copyright 2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake - -MY_PN="Clipboard" -MY_P="${MY_PN}-${PV}" -DESCRIPTION="Cut, copy, and paste anything in your terminal" -HOMEPAGE="https://getclipboard.app/ https://github.com/Slackadays/Clipboard" -SRC_URI="https://github.com/Slackadays/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64" -IUSE="X wayland lto debug" - -RDEPEND="X? ( x11-libs/libX11 ) - wayland? ( - dev-libs/wayland-protocols - dev-libs/wayland - ) -" -S="${WORKDIR}/${MY_P}" - -PATCHES=( - "${FILESDIR}/disable-git-and-lto.patch" -) - -src_prepare() { - if ! use wayland; then - sed -i '/pkg_check_modules(WAYLAND_CLIENT wayland-client wayland-protocols)/d' CMakeLists.txt || die - fi - - if ! use debug; then - eapply "${FILESDIR}/disable-debug-info.patch" - fi - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - "-DCMAKE_INSTALL_LIBDIR=$(get_libdir)" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=$(usex lto TRUE FALSE)" - "-DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex X OFF ON)" - ) - cmake_src_configure -} diff --git a/app-misc/clipboard/clipboard-0.8.0.ebuild b/app-misc/clipboard/clipboard-0.8.3.ebuild similarity index 64% rename from app-misc/clipboard/clipboard-0.8.0.ebuild rename to app-misc/clipboard/clipboard-0.8.3.ebuild index 57d5d1c0aa..a7f6b69332 100644 --- a/app-misc/clipboard/clipboard-0.8.0.ebuild +++ b/app-misc/clipboard/clipboard-0.8.3.ebuild @@ -16,34 +16,26 @@ SLOT="0" KEYWORDS="~amd64" IUSE="X wayland lto debug" -RDEPEND="X? ( x11-libs/libX11 ) +RDEPEND="X? ( + x11-libs/libX11 + x11-libs/libXext + ) wayland? ( dev-libs/wayland-protocols dev-libs/wayland ) + media-libs/alsa-lib " S="${WORKDIR}/${MY_P}" -PATCHES=( - "${FILESDIR}/disable-git-and-lto.patch" -) - -src_prepare() { - if ! use wayland; then - sed -i '/pkg_check_modules(WAYLAND_CLIENT wayland-client wayland-protocols)/d' CMakeLists.txt || die - fi - - if ! use debug; then - eapply "${FILESDIR}/disable-debug-info.patch" - fi - cmake_src_prepare -} - src_configure() { local mycmakeargs=( "-DCMAKE_INSTALL_LIBDIR=$(get_libdir)" - "-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=$(usex lto TRUE FALSE)" "-DCMAKE_DISABLE_FIND_PACKAGE_X11=$(usex X OFF ON)" + "-DCMAKE_C_FLAGS=$(usex debug "${CFLAGS}" "${CFLAGS} -DNDEBUG")" + "-DCMAKE_CXX_FLAGS=$(usex debug "${CXXFLAGS}" "${CXXFLAGS} -DNDEBUG")" + "-DNO_WAYLAND=$(usex wayland FALSE TRUE)" + "-DNO_LTO=$(usex lto FALSE TRUE)" ) cmake_src_configure } diff --git a/app-misc/clipboard/files/disable-debug-info.patch b/app-misc/clipboard/files/disable-debug-info.patch deleted file mode 100644 index c69cfb30b2..0000000000 --- a/app-misc/clipboard/files/disable-debug-info.patch +++ /dev/null @@ -1,19 +0,0 @@ -#Created by Quincy Fleming. -#Disables debug info without using flag NDEBUG as unless forced it will be ignored in favor of the user's specified compiler flags ---- a/src/gui/include/all/clipboard/logging.hpp -+++ b/src/gui/include/all/clipboard/logging.hpp -@@ -17,7 +17,6 @@ - #include - #include - --#if defined(NDEBUG) - class NullBuffer : public std::streambuf { - public: - int overflow(int c) override { return c; } -@@ -26,6 +25,3 @@ - static NullBuffer nullBuffer; - static std::ostream nullStream(&nullBuffer); - static std::ostream& debugStream = nullStream; --#else --static std::ostream& debugStream = std::cerr; --#endif diff --git a/app-misc/clipboard/files/disable-git-and-lto.patch b/app-misc/clipboard/files/disable-git-and-lto.patch deleted file mode 100644 index 42e5c81e11..0000000000 --- a/app-misc/clipboard/files/disable-git-and-lto.patch +++ /dev/null @@ -1,79 +0,0 @@ -#Created by Quincy Fleming -#Disables git program as it will just result in fatal error during build (won't stop the build though. just annoying) -#Also, this removes enabling of LTO by default and allows the user to choose wether or not they want LTO support via USE flag ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -11,22 +11,6 @@ - set(X11WL ON) - endif() - --execute_process( # save the current branch to GIT_BRANCH -- COMMAND git rev-parse --abbrev-ref HEAD -- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} -- OUTPUT_VARIABLE GIT_BRANCH -- OUTPUT_STRIP_TRAILING_WHITESPACE --) -- --execute_process( # save the current commit hash to GIT_COMMIT_HASH -- COMMAND git log -1 --format=%h -- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} -- OUTPUT_VARIABLE GIT_COMMIT_HASH -- OUTPUT_STRIP_TRAILING_WHITESPACE --) -- --add_definitions(-DGIT_COMMIT_HASH="${GIT_COMMIT_HASH}") --add_definitions(-DGIT_BRANCH="${GIT_BRANCH}") - add_definitions(-DCLIPBOARD_VERSION="${PROJECT_VERSION}") - - if (MSVC) -@@ -84,17 +68,6 @@ - set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL ${LIB_LOCATION}) - set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${BIN_LOCATION}) - --function(enable_lto this_target) --include(CheckIPOSupported) --check_ipo_supported(RESULT lto_supported) --if(lto_supported AND NOT NO_LTO) -- set_property(TARGET ${this_target} PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) -- if(CMAKE_COMPILER_IS_GNUCXX) -- list(APPEND CMAKE_CXX_COMPILE_OPTIONS_IPO "-flto=auto") # set the thread amount to what is available on the CPU -- endif() --endif() --endfunction() -- - add_subdirectory(src/gui) - - find_package(X11) ---- a/src/cb/CMakeLists.txt -+++ b/src/cb/CMakeLists.txt -@@ -5,8 +5,6 @@ - src/themes.cpp - ) - --enable_lto(cb) -- - target_link_libraries(cb gui) - - if(WIN32) ---- a/src/cbwayland/CMakeLists.txt -+++ b/src/cbwayland/CMakeLists.txt -@@ -60,8 +60,6 @@ - ) - add_dependencies(cbwayland cbwayland_generatedheaders) - --enable_lto(cbwayland) -- - target_link_libraries(cbwayland - ${WAYLAND_CLIENT_LIBRARIES} - gui ---- a/src/cbx11/CMakeLists.txt -+++ b/src/cbx11/CMakeLists.txt -@@ -7,8 +7,6 @@ - gui - ) - --enable_lto(cbx11) -- - target_include_directories(cbx11 PRIVATE ${X11_INCLUDE_DIR}) - - install(TARGETS cbx11 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/dev-python/grpc-stubs/Manifest b/dev-python/grpc-stubs/Manifest index 1e5e0b65ab..563d498fc0 100644 --- a/dev-python/grpc-stubs/Manifest +++ b/dev-python/grpc-stubs/Manifest @@ -1 +1 @@ -DIST grpc-stubs-1.53.0.2.gh.tar.gz 14607 BLAKE2B a18f17d1fe31133f7bafb4728b1748537db11b5d11f7da9364fb595c86afcfb47199d069e7eb3e05b89b92757b1080dfd443d0ee2006e85e49c75e5ad188e41a SHA512 ea8343231d12a34927bab56ddfdad69233c4e09502cd072db9ed21ec79726a600e9dc31a0b3ecbae47ea5f4357ddb0840e022fb385f6e1296665406254c59fba +DIST grpc-stubs-1.53.0.3.gh.tar.gz 14667 BLAKE2B 58f1ff46f6e4ad96fafa7583158e8a3be1ac5fc991f50dde34899fad919fbfb46afe5da8846aa7ef98cdc4de34609ee93a06d137630d505460d34ecaa3a47837 SHA512 dbcf9882b4ad986bcf17ed613c233cfd889d46340b91534d9ef33a11e1ce25db5e81a747c57b55a1e174012c81da94d29769706a1b3932ca13b020506235ccbd diff --git a/dev-python/grpc-stubs/files/grpc-stubs-1.53.0.3-die-on-missing-import.patch b/dev-python/grpc-stubs/files/grpc-stubs-1.53.0.3-die-on-missing-import.patch new file mode 100644 index 0000000000..7b7a8e9f0b --- /dev/null +++ b/dev-python/grpc-stubs/files/grpc-stubs-1.53.0.3-die-on-missing-import.patch @@ -0,0 +1,12 @@ +Tests should fail if mypy fails to find the stubs that are to be tested. +--- a/setup.cfg ++++ b/setup.cfg +@@ -1,7 +1,7 @@ + [mypy] + check_untyped_defs = True + ignore_errors = False +-ignore_missing_imports = True ++ignore_missing_imports = False + strict_optional = True + no_error_summary = True + no_color_output = True diff --git a/dev-python/grpc-stubs/grpc-stubs-1.53.0.2.ebuild b/dev-python/grpc-stubs/grpc-stubs-1.53.0.2.ebuild deleted file mode 100644 index 1b9fbdd659..0000000000 --- a/dev-python/grpc-stubs/grpc-stubs-1.53.0.2.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_11 ) -inherit distutils-r1 - -DESCRIPTION="gRPC typing stubs for Python" -HOMEPAGE=" - https://pypi.org/project/grpc-stubs/ - https://github.com/shabbyrobe/grpc-stubs/ -" - -SRC_URI="https://github.com/shabbyrobe/grpc-stubs/archive/refs/tags/${PV}.tar.gz - -> ${P}.gh.tar.gz" -LICENSE="MIT" -SLOT="0" -KEYWORDS="~amd64" - -RDEPEND=" - dev-python/grpcio[${PYTHON_USEDEP}] - dev-python/protobuf-python[${PYTHON_USEDEP}] -" -BDEPEND=" - test? ( - dev-python/mypy[${PYTHON_USEDEP}] - dev-python/pytest-mypy-plugins[${PYTHON_USEDEP}] - dev-python/types-protobuf[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -python_test() { - epytest --mypy-ini-file=setup.cfg -} diff --git a/dev-python/grpc-stubs/grpc-stubs-1.53.0.3.ebuild b/dev-python/grpc-stubs/grpc-stubs-1.53.0.3.ebuild new file mode 100644 index 0000000000..373d990529 --- /dev/null +++ b/dev-python/grpc-stubs/grpc-stubs-1.53.0.3.ebuild @@ -0,0 +1,40 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_11 ) +inherit distutils-r1 + +DESCRIPTION="gRPC typing stubs for Python" +HOMEPAGE=" + https://pypi.org/project/grpc-stubs/ + https://github.com/shabbyrobe/grpc-stubs/ +" + +SRC_URI="https://github.com/shabbyrobe/grpc-stubs/archive/refs/tags/${PV}.tar.gz + -> ${P}.gh.tar.gz" +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +RDEPEND="dev-python/types-protobuf[${PYTHON_USEDEP}]" +BDEPEND="test? ( + dev-python/pytest-mypy-plugins[${PYTHON_USEDEP}] + ${RDEPEND} + )" + +distutils_enable_tests pytest + +PATCHES="${FILESDIR}/"${P}-die-on-missing-import.patch + +python_test() { + # Gentoo's PEP 517 mode runs tests in a venv-like environment. + # Pytest-mypy-plugins checks the PATH for mypy, we provide a venv-aware + # variant. + printf "#!/bin/bash\n $(which python) -m mypy \$@" > \ + "${BUILD_DIR}"/install/usr/bin/mypy || die + chmod +x "${BUILD_DIR}"/install/usr/bin/mypy || die + epytest --mypy-ini-file=setup.cfg + rm "${BUILD_DIR}"/install/usr/bin/mypy || die +} diff --git a/dev-python/python-telegram-bot/files/python-telegram-bot-20.2-no-internet-tests.patch b/dev-python/python-telegram-bot/files/python-telegram-bot-20.2-no-internet-tests.patch deleted file mode 100644 index b904751a8c..0000000000 --- a/dev-python/python-telegram-bot/files/python-telegram-bot-20.2-no-internet-tests.patch +++ /dev/null @@ -1,667 +0,0 @@ -From: Pedro Arizmendi -Skip all tests that require an internet connection. - ---- a/tests/_files/test_animation.py -+++ b/tests/_files/test_animation.py -@@ -66,11 +66,13 @@ class TestAnimationBase: - - - class TestAnimationWithoutRequest(TestAnimationBase): -+ @pytest.mark.skip(reason="Requires internet connection") - def test_slot_behaviour(self, animation): - for attr in animation.__slots__: - assert getattr(animation, attr, "err") != "err", f"got extra slot '{attr}'" - assert len(mro_slots(animation)) == len(set(mro_slots(animation))), "duplicate slot" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_creation(self, animation): - assert isinstance(animation, Animation) - assert isinstance(animation.file_id, str) -@@ -78,6 +80,7 @@ class TestAnimationWithoutRequest(TestAnimationBase): - assert animation.file_id != "" - assert animation.file_unique_id != "" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_expected_values(self, animation): - assert animation.mime_type == self.mime_type - assert animation.file_name.startswith("game.gif") == self.file_name.startswith("game.gif") -@@ -95,6 +98,7 @@ class TestAnimationWithoutRequest(TestAnimationBase): - assert animation.thumb is animation.thumbnail - check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__) - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_de_json(self, bot, animation): - json_dict = { - "file_id": self.animation_file_id, -@@ -115,6 +119,7 @@ class TestAnimationWithoutRequest(TestAnimationBase): - assert animation.mime_type == self.mime_type - assert animation.file_size == self.file_size - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_to_dict(self, animation): - animation_dict = animation.to_dict() - -@@ -184,6 +189,7 @@ class TestAnimationWithoutRequest(TestAnimationBase): - finally: - bot._local_mode = False - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_send_with_animation(self, monkeypatch, bot, chat_id, animation): - async def make_assertion(url, request_data: RequestData, *args, **kwargs): - return request_data.json_parameters["animation"] == animation.file_id -@@ -200,6 +206,7 @@ class TestAnimationWithoutRequest(TestAnimationBase): - with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"): - await bot.send_animation(chat_id, file, thumbnail=file, thumb=different_file) - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_get_file_instance_method(self, monkeypatch, animation): - async def make_assertion(*_, **kwargs): - return kwargs["file_id"] == animation.file_id ---- a/tests/_files/test_audio.py -+++ b/tests/_files/test_audio.py -@@ -67,11 +67,13 @@ class TestAudioBase: - - - class TestAudioWithoutRequest(TestAudioBase): -+ @pytest.mark.skip(reason="Requires internet connection") - def test_slot_behaviour(self, audio): - for attr in audio.__slots__: - assert getattr(audio, attr, "err") != "err", f"got extra slot '{attr}'" - assert len(mro_slots(audio)) == len(set(mro_slots(audio))), "duplicate slot" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_creation(self, audio): - # Make sure file has been uploaded. - assert isinstance(audio, Audio) -@@ -80,6 +82,7 @@ class TestAudioWithoutRequest(TestAudioBase): - assert audio.file_id != "" - assert audio.file_unique_id != "" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_expected_values(self, audio): - assert audio.duration == self.duration - assert audio.performer is None -@@ -95,6 +98,7 @@ class TestAudioWithoutRequest(TestAudioBase): - assert audio.thumb is audio.thumbnail - check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__) - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_de_json(self, bot, audio): - json_dict = { - "file_id": self.audio_file_id, -@@ -120,6 +124,7 @@ class TestAudioWithoutRequest(TestAudioBase): - assert json_audio.file_size == self.file_size - assert json_audio.thumbnail == audio.thumbnail - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_to_dict(self, audio): - audio_dict = audio.to_dict() - -@@ -131,6 +136,7 @@ class TestAudioWithoutRequest(TestAudioBase): - assert audio_dict["file_size"] == audio.file_size - assert audio_dict["file_name"] == audio.file_name - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_equality(self, audio): - a = Audio(audio.file_id, audio.file_unique_id, audio.duration) - b = Audio("", audio.file_unique_id, audio.duration) -@@ -151,6 +157,7 @@ class TestAudioWithoutRequest(TestAudioBase): - assert a != e - assert hash(a) != hash(e) - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_send_with_audio(self, monkeypatch, bot, chat_id, audio): - async def make_assertion(url, request_data: RequestData, *args, **kwargs): - return request_data.json_parameters["audio"] == audio.file_id -@@ -198,6 +205,7 @@ class TestAudioWithoutRequest(TestAudioBase): - with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"): - await bot.send_audio(chat_id, file, thumbnail=file, thumb=different_file) - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_get_file_instance_method(self, monkeypatch, audio): - async def make_assertion(*_, **kwargs): - return kwargs["file_id"] == audio.file_id ---- a/tests/_files/test_chatphoto.py -+++ b/tests/_files/test_chatphoto.py -@@ -61,11 +61,13 @@ class TestChatPhotoBase: - - - class TestChatPhotoWithoutRequest(TestChatPhotoBase): -+ @pytest.mark.skip(reason="Requires internet connection") - def test_slot_behaviour(self, chat_photo): - for attr in chat_photo.__slots__: - assert getattr(chat_photo, attr, "err") != "err", f"got extra slot '{attr}'" - assert len(mro_slots(chat_photo)) == len(set(mro_slots(chat_photo))), "duplicate slot" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_de_json(self, bot, chat_photo): - json_dict = { - "small_file_id": self.chatphoto_small_file_id, -@@ -80,6 +82,7 @@ class TestChatPhotoWithoutRequest(TestChatPhotoBase): - assert chat_photo.small_file_unique_id == self.chatphoto_small_file_unique_id - assert chat_photo.big_file_unique_id == self.chatphoto_big_file_unique_id - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_to_dict(self, chat_photo): - chat_photo_dict = chat_photo.to_dict() - -@@ -121,6 +124,7 @@ class TestChatPhotoWithoutRequest(TestChatPhotoBase): - assert a != e - assert hash(a) != hash(e) - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_send_with_chat_photo(self, monkeypatch, bot, super_group_id, chat_photo): - async def make_assertion(url, request_data: RequestData, *args, **kwargs): - return request_data.parameters["photo"] == chat_photo.to_dict() -@@ -129,6 +133,7 @@ class TestChatPhotoWithoutRequest(TestChatPhotoBase): - message = await bot.set_chat_photo(photo=chat_photo, chat_id=super_group_id) - assert message - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_get_small_file_instance_method(self, monkeypatch, chat_photo): - async def make_assertion(*_, **kwargs): - return kwargs["file_id"] == chat_photo.small_file_id -@@ -142,6 +147,7 @@ class TestChatPhotoWithoutRequest(TestChatPhotoBase): - monkeypatch.setattr(chat_photo.get_bot(), "get_file", make_assertion) - assert await chat_photo.get_small_file() - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_get_big_file_instance_method(self, monkeypatch, chat_photo): - async def make_assertion(*_, **kwargs): - return kwargs["file_id"] == chat_photo.big_file_id ---- a/tests/_files/test_document.py -+++ b/tests/_files/test_document.py -@@ -62,11 +62,13 @@ class TestDocumentBase: - - - class TestDocumentWithoutRequest(TestDocumentBase): -+ @pytest.mark.skip(reason="Requires internet connection") - def test_slot_behaviour(self, document): - for attr in document.__slots__: - assert getattr(document, attr, "err") != "err", f"got extra slot '{attr}'" - assert len(mro_slots(document)) == len(set(mro_slots(document))), "duplicate slot" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_creation(self, document): - assert isinstance(document, Document) - assert isinstance(document.file_id, str) -@@ -74,6 +76,7 @@ class TestDocumentWithoutRequest(TestDocumentBase): - assert document.file_id != "" - assert document.file_unique_id != "" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_expected_values(self, document): - assert document.file_size == self.file_size - assert document.mime_type == self.mime_type -@@ -87,6 +90,7 @@ class TestDocumentWithoutRequest(TestDocumentBase): - assert document.thumb is document.thumbnail - check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__) - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_de_json(self, bot, document): - json_dict = { - "file_id": self.document_file_id, -@@ -106,6 +110,7 @@ class TestDocumentWithoutRequest(TestDocumentBase): - assert test_document.mime_type == self.mime_type - assert test_document.file_size == self.file_size - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_to_dict(self, document): - document_dict = document.to_dict() - -@@ -116,6 +121,7 @@ class TestDocumentWithoutRequest(TestDocumentBase): - assert document_dict["mime_type"] == document.mime_type - assert document_dict["file_size"] == document.file_size - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_equality(self, document): - a = Document(document.file_id, document.file_unique_id) - b = Document("", document.file_unique_id) -@@ -137,6 +143,7 @@ class TestDocumentWithoutRequest(TestDocumentBase): - await bot.send_document(chat_id=chat_id) - - @pytest.mark.parametrize("disable_content_type_detection", [True, False, None]) -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_send_with_document( - self, monkeypatch, bot, chat_id, document, disable_content_type_detection - ): -@@ -192,6 +199,7 @@ class TestDocumentWithoutRequest(TestDocumentBase): - with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"): - await bot.send_document(chat_id, file, thumbnail=file, thumb=different_file) - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_get_file_instance_method(self, monkeypatch, document): - async def make_assertion(*_, **kwargs): - return kwargs["file_id"] == document.file_id ---- a/tests/_files/test_inputmedia.py -+++ b/tests/_files/test_inputmedia.py -@@ -186,6 +186,7 @@ class TestInputMediaVideoWithoutRequest(TestInputMediaVideoBase): - assert input_media_video_dict["supports_streaming"] == input_media_video.supports_streaming - assert input_media_video_dict["has_spoiler"] == input_media_video.has_spoiler - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_with_video(self, video): # noqa: F811 - # fixture found in test_video - input_media_video = InputMediaVideo(video, caption="test 3") -@@ -258,6 +259,7 @@ class TestInputMediaPhotoWithoutRequest(TestInputMediaPhotoBase): - ] - assert input_media_photo_dict["has_spoiler"] == input_media_photo.has_spoiler - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_with_photo(self, photo): # noqa: F811 - # fixture found in test_photo - input_media_photo = InputMediaPhoto(photo, caption="test 2") -@@ -329,6 +331,7 @@ class TestInputMediaAnimationWithoutRequest(TestInputMediaAnimationBase): - assert input_media_animation_dict["duration"] == input_media_animation.duration - assert input_media_animation_dict["has_spoiler"] == input_media_animation.has_spoiler - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_with_animation(self, animation): # noqa: F811 - # fixture found in test_animation - input_media_animation = InputMediaAnimation(animation, caption="test 2") -@@ -411,6 +414,7 @@ class TestInputMediaAudioWithoutRequest(TestInputMediaAudioBase): - ce.to_dict() for ce in input_media_audio.caption_entities - ] - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_with_audio(self, audio): # noqa: F811 - # fixture found in test_audio - input_media_audio = InputMediaAudio(audio, caption="test 3") -@@ -496,6 +500,7 @@ class TestInputMediaDocumentWithoutRequest(TestInputMediaDocumentBase): - == input_media_document.disable_content_type_detection - ) - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_with_document(self, document): # noqa: F811 - # fixture found in test_document - input_media_document = InputMediaDocument(document, caption="test 3") -@@ -559,6 +564,7 @@ def media_group_no_caption_only_parse_mode(photo, thumb): # noqa: F811 - - - class TestSendMediaGroupWithoutRequest: -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_send_media_group_throws_error_with_group_caption_and_individual_captions( - self, - bot, ---- a/tests/_files/test_photo.py -+++ b/tests/_files/test_photo.py -@@ -74,11 +74,13 @@ class TestPhotoBase: - - - class TestPhotoWithoutRequest(TestPhotoBase): -+ @pytest.mark.skip(reason="Requires internet connection") - def test_slot_behaviour(self, photo): - for attr in photo.__slots__: - assert getattr(photo, attr, "err") != "err", f"got extra slot '{attr}'" - assert len(mro_slots(photo)) == len(set(mro_slots(photo))), "duplicate slot" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_creation(self, thumb, photo): - # Make sure file has been uploaded. - assert isinstance(photo, PhotoSize) -@@ -93,6 +95,7 @@ class TestPhotoWithoutRequest(TestPhotoBase): - assert thumb.file_id != "" - assert thumb.file_unique_id != "" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_expected_values(self, photo, thumb): - assert photo.width == self.width - assert photo.height == self.height -@@ -101,6 +104,7 @@ class TestPhotoWithoutRequest(TestPhotoBase): - assert thumb.height == 90 - assert thumb.file_size == 1477 - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_de_json(self, bot, photo): - json_dict = { - "file_id": photo.file_id, -@@ -118,6 +122,7 @@ class TestPhotoWithoutRequest(TestPhotoBase): - assert json_photo.height == self.height - assert json_photo.file_size == self.file_size - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_to_dict(self, photo): - photo_dict = photo.to_dict() - -@@ -128,6 +133,7 @@ class TestPhotoWithoutRequest(TestPhotoBase): - assert photo_dict["height"] == photo.height - assert photo_dict["file_size"] == photo.file_size - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_equality(self, photo): - a = PhotoSize(photo.file_id, photo.file_unique_id, self.width, self.height) - b = PhotoSize("", photo.file_unique_id, self.width, self.height) -@@ -189,6 +195,7 @@ class TestPhotoWithoutRequest(TestPhotoBase): - finally: - bot._local_mode = False - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_send_with_photosize(self, monkeypatch, bot, chat_id, photo): - async def make_assertion(url, request_data: RequestData, *args, **kwargs): - return request_data.json_parameters["photo"] == photo.file_id -@@ -196,6 +203,7 @@ class TestPhotoWithoutRequest(TestPhotoBase): - monkeypatch.setattr(bot.request, "post", make_assertion) - assert await bot.send_photo(photo=photo, chat_id=chat_id) - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_get_file_instance_method(self, monkeypatch, photo): - async def make_assertion(*_, **kwargs): - return kwargs["file_id"] == photo.file_id ---- a/tests/_files/test_sticker.py -+++ b/tests/_files/test_sticker.py -@@ -116,11 +116,13 @@ class TestStickerBase: - - - class TestStickerWithoutRequest(TestStickerBase): -+ @pytest.mark.skip(reason="Requires internet connection") - def test_slot_behaviour(self, sticker): - for attr in sticker.__slots__: - assert getattr(sticker, attr, "err") != "err", f"got extra slot '{attr}'" - assert len(mro_slots(sticker)) == len(set(mro_slots(sticker))), "duplicate slot" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_creation(self, sticker): - # Make sure file has been uploaded. - assert isinstance(sticker, Sticker) -@@ -135,6 +137,7 @@ class TestStickerWithoutRequest(TestStickerBase): - assert sticker.thumbnail.file_unique_id != "" - assert isinstance(sticker.needs_repainting, bool) - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_expected_values(self, sticker): - assert sticker.width == self.width - assert sticker.height == self.height -@@ -163,6 +166,7 @@ class TestStickerWithoutRequest(TestStickerBase): - assert sticker.thumb is sticker.thumbnail - check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__) - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_to_dict(self, sticker): - sticker_dict = sticker.to_dict() - -@@ -178,6 +182,7 @@ class TestStickerWithoutRequest(TestStickerBase): - assert sticker_dict["type"] == sticker.type - assert sticker_dict["needs_repainting"] == sticker.needs_repainting - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_de_json(self, bot, sticker): - json_dict = { - "file_id": self.sticker_file_id, -@@ -211,6 +216,7 @@ class TestStickerWithoutRequest(TestStickerBase): - assert json_sticker.custom_emoji_id == self.custom_emoji_id - assert json_sticker.needs_repainting == self.needs_repainting - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_equality(self, sticker): - a = Sticker( - sticker.file_id, -@@ -273,6 +279,7 @@ class TestStickerWithoutRequest(TestStickerBase): - with pytest.raises(TypeError): - await bot.send_sticker(chat_id) - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_send_with_sticker(self, monkeypatch, bot, chat_id, sticker): - async def make_assertion(url, request_data: RequestData, *args, **kwargs): - return request_data.json_parameters["sticker"] == sticker.file_id -@@ -564,6 +571,7 @@ class TestStickerSetWithoutRequest(TestStickerSetBase): - assert sticker_set.thumb is sticker_set.thumbnail - check_thumb_deprecation_warnings_for_args_and_attrs(recwarn, __file__) - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_de_json(self, bot, sticker): - name = f"test_by_{bot.username}" - json_dict = { -@@ -587,6 +595,7 @@ class TestStickerSetWithoutRequest(TestStickerSetBase): - assert sticker_set.sticker_type == self.sticker_type - assert sticker_set.api_kwargs == {"contains_masks": self.contains_masks} - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_sticker_set_to_dict(self, sticker_set): - sticker_set_dict = sticker_set.to_dict() - -@@ -927,6 +936,7 @@ class TestStickerSetWithoutRequest(TestStickerSetBase): - assert recwarn[0].filename == __file__, f"incorrect stacklevel for class {cls_name}!" - recwarn.clear() - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_get_file_instance_method(self, monkeypatch, sticker): - async def make_assertion(*_, **kwargs): - return kwargs["file_id"] == sticker.file_id ---- a/tests/_files/test_video.py -+++ b/tests/_files/test_video.py -@@ -66,11 +66,13 @@ class TestVideoBase: - - - class TestVideoWithoutRequest(TestVideoBase): -+ @pytest.mark.skip(reason="Requires internet connection") - def test_slot_behaviour(self, video): - for attr in video.__slots__: - assert getattr(video, attr, "err") != "err", f"got extra slot '{attr}'" - assert len(mro_slots(video)) == len(set(mro_slots(video))), "duplicate slot" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_creation(self, video): - # Make sure file has been uploaded. - assert isinstance(video, Video) -@@ -85,6 +87,7 @@ class TestVideoWithoutRequest(TestVideoBase): - assert video.thumbnail.file_id != "" - assert video.thumbnail.file_unique_id != "" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_expected_values(self, video): - assert video.width == self.width - assert video.height == self.height -@@ -127,6 +130,7 @@ class TestVideoWithoutRequest(TestVideoBase): - assert json_video.file_size == self.file_size - assert json_video.file_name == self.file_name - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_to_dict(self, video): - video_dict = video.to_dict() - -@@ -140,6 +144,7 @@ class TestVideoWithoutRequest(TestVideoBase): - assert video_dict["file_size"] == video.file_size - assert video_dict["file_name"] == video.file_name - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_equality(self, video): - a = Video(video.file_id, video.file_unique_id, self.width, self.height, self.duration) - b = Video("", video.file_unique_id, self.width, self.height, self.duration) -@@ -164,6 +169,7 @@ class TestVideoWithoutRequest(TestVideoBase): - with pytest.raises(TypeError): - await bot.send_video(chat_id=chat_id) - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_send_with_video(self, monkeypatch, bot, chat_id, video): - async def make_assertion(url, request_data: RequestData, *args, **kwargs): - return request_data.json_parameters["video"] == video.file_id -@@ -212,6 +218,7 @@ class TestVideoWithoutRequest(TestVideoBase): - with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"): - await bot.send_video(chat_id, file, thumbnail=file, thumb=different_file) - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_get_file_instance_method(self, monkeypatch, video): - async def make_assertion(*_, **kwargs): - return kwargs["file_id"] == video.file_id ---- a/tests/_files/test_videonote.py -+++ b/tests/_files/test_videonote.py -@@ -60,11 +60,13 @@ class TestVideoNoteBase: - - - class TestVideoNoteWithoutRequest(TestVideoNoteBase): -+ @pytest.mark.skip(reason="Requires internet connection") - def test_slot_behaviour(self, video_note): - for attr in video_note.__slots__: - assert getattr(video_note, attr, "err") != "err", f"got extra slot '{attr}'" - assert len(mro_slots(video_note)) == len(set(mro_slots(video_note))), "duplicate slot" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_creation(self, video_note): - # Make sure file has been uploaded. - assert isinstance(video_note, VideoNote) -@@ -79,6 +81,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase): - assert video_note.thumbnail.file_id != "" - assert video_note.thumbnail.file_unique_id != "" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_expected_values(self, video_note): - assert video_note.length == self.length - assert video_note.duration == self.duration -@@ -108,6 +111,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase): - assert json_video_note.duration == self.duration - assert json_video_note.file_size == self.file_size - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_to_dict(self, video_note): - video_note_dict = video_note.to_dict() - -@@ -118,6 +122,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase): - assert video_note_dict["duration"] == video_note.duration - assert video_note_dict["file_size"] == video_note.file_size - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_equality(self, video_note): - a = VideoNote(video_note.file_id, video_note.file_unique_id, self.length, self.duration) - b = VideoNote("", video_note.file_unique_id, self.length, self.duration) -@@ -142,6 +147,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase): - with pytest.raises(TypeError): - await bot.send_video_note(chat_id=chat_id) - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_send_with_video_note(self, monkeypatch, bot, chat_id, video_note): - async def make_assertion(url, request_data: RequestData, *args, **kwargs): - return request_data.json_parameters["video_note"] == video_note.file_id -@@ -194,6 +200,7 @@ class TestVideoNoteWithoutRequest(TestVideoNoteBase): - with pytest.raises(ValueError, match="different entities as 'thumb' and 'thumbnail'"): - await bot.send_video_note(chat_id, file, thumbnail=file, thumb=different_file) - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_get_file_instance_method(self, monkeypatch, video_note): - async def make_assertion(*_, **kwargs): - return kwargs["file_id"] == video_note.file_id ---- a/tests/_files/test_voice.py -+++ b/tests/_files/test_voice.py -@@ -58,11 +58,13 @@ class TestVoiceBase: - - - class TestVoiceWithoutRequest(TestVoiceBase): -+ @pytest.mark.skip(reason="Requires internet connection") - def test_slot_behaviour(self, voice): - for attr in voice.__slots__: - assert getattr(voice, attr, "err") != "err", f"got extra slot '{attr}'" - assert len(mro_slots(voice)) == len(set(mro_slots(voice))), "duplicate slot" - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_creation(self, voice): - # Make sure file has been uploaded. - assert isinstance(voice, Voice) -@@ -71,6 +73,7 @@ class TestVoiceWithoutRequest(TestVoiceBase): - assert voice.file_id != "" - assert voice.file_unique_id != "" - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_expected_values(self, voice): - assert voice.duration == self.duration - assert voice.mime_type == self.mime_type -@@ -93,6 +96,7 @@ class TestVoiceWithoutRequest(TestVoiceBase): - assert json_voice.mime_type == self.mime_type - assert json_voice.file_size == self.file_size - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_to_dict(self, voice): - voice_dict = voice.to_dict() - -@@ -103,6 +107,7 @@ class TestVoiceWithoutRequest(TestVoiceBase): - assert voice_dict["mime_type"] == voice.mime_type - assert voice_dict["file_size"] == voice.file_size - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_equality(self, voice): - a = Voice(voice.file_id, voice.file_unique_id, self.duration) - b = Voice("", voice.file_unique_id, self.duration) -@@ -135,6 +140,7 @@ class TestVoiceWithoutRequest(TestVoiceBase): - - assert await bot.send_voice(chat_id, voice_file, filename="custom_filename") - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_send_with_voice(self, monkeypatch, bot, chat_id, voice): - async def make_assertion(url, request_data: RequestData, *args, **kwargs): - return request_data.json_parameters["voice"] == voice.file_id -@@ -164,6 +170,7 @@ class TestVoiceWithoutRequest(TestVoiceBase): - finally: - bot._local_mode = False - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_get_file_instance_method(self, monkeypatch, voice): - async def make_assertion(*_, **kwargs): - return kwargs["file_id"] == voice.file_id ---- a/tests/request/test_request.py -+++ b/tests/request/test_request.py -@@ -411,6 +411,7 @@ class TestHTTPXRequestWithoutRequest: - assert self.test_flag["init"] == 1 - assert self.test_flag["shutdown"] == 1 - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_multiple_init_cycles(self): - # nothing really to assert - this should just not fail - httpx_request = HTTPXRequest() -@@ -423,6 +424,7 @@ class TestHTTPXRequestWithoutRequest: - with pytest.raises(ValueError, match="`http_version` must be either"): - HTTPXRequest(http_version="1.0") - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_http_1_response(self): - httpx_request = HTTPXRequest(http_version="1.1") - async with httpx_request: ---- a/tests/test_bot.py -+++ b/tests/test_bot.py -@@ -302,6 +302,7 @@ class TestBotWithoutRequest: - - assert self.test_flag == "stop" - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_equality(self): - async with make_bot(token=FALLBACKS[0]["token"]) as a, make_bot( - token=FALLBACKS[0]["token"] -@@ -343,6 +344,7 @@ class TestBotWithoutRequest: - finally: - await bot.shutdown() - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_get_me_and_properties(self, bot): - get_me_bot = await ExtBot(bot.token).get_me() - -@@ -377,6 +379,7 @@ class TestBotWithoutRequest: - re.match(rf"\s*\@\_log\s*async def {bot_method_name}", source) - ), f"{bot_method_name} is missing the @_log decorator" - -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_log_decorator(self, bot: PytestExtBot, caplog): - # Second argument makes sure that we ignore logs from e.g. httpx - with caplog.at_level(logging.DEBUG, logger="telegram"): -@@ -1361,6 +1364,7 @@ class TestBotWithoutRequest: - - @pytest.mark.parametrize("json_keyboard", [True, False]) - @pytest.mark.parametrize("caption", ["Test", "", None]) -+ @pytest.mark.skip(reason="Requires internet connection") - async def test_copy_message( - self, monkeypatch, bot, chat_id, media_message, json_keyboard, caption - ): ---- a/tests/test_forum.py -+++ b/tests/test_forum.py -@@ -73,6 +73,7 @@ async def real_topic(bot, emoji_id, forum_group_id): - assert result is True, "Topic was not deleted" - - -+@pytest.mark.skip(reason="Requires internet connection") - class TestForumTopicWithoutRequest: - def test_slot_behaviour(self, forum_topic_object): - inst = forum_topic_object -@@ -336,6 +337,7 @@ class TestForumTopicCreatedWithoutRequest: - assert action_dict["name"] == TEST_TOPIC_NAME - assert action_dict["icon_color"] == TEST_TOPIC_ICON_COLOR - -+ @pytest.mark.skip(reason="Requires internet connection") - def test_equality(self, emoji_id): - a = ForumTopicCreated(name=TEST_TOPIC_NAME, icon_color=TEST_TOPIC_ICON_COLOR) - b = ForumTopicCreated( diff --git a/dev-python/python-telegram-bot/python-telegram-bot-9999.ebuild b/dev-python/python-telegram-bot/python-telegram-bot-9999.ebuild index 916c66994b..5347b75677 100644 --- a/dev-python/python-telegram-bot/python-telegram-bot-9999.ebuild +++ b/dev-python/python-telegram-bot/python-telegram-bot-9999.ebuild @@ -1,68 +1,61 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_10 ) - -inherit distutils-r1 +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..12} ) +inherit distutils-r1 optfeature DESCRIPTION="Python wrapper of telegram bots API" -HOMEPAGE="https://python-telegram-bot.org https://github.com/python-telegram-bot/python-telegram-bot" +HOMEPAGE="https://docs.python-telegram-bot.org https://github.com/python-telegram-bot/python-telegram-bot" if [[ ${PV} == *9999 ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/python-telegram-bot/python-telegram-bot" else SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64 ~x86" fi -LICENSE="GPL-3" +LICENSE="LGPL-3" SLOT="0" - -# This error is really strange -# UserWarning: python-telegram-bot is using upstream urllib3. This is allowed but not supported by python-telegram-bot maintainers. -RESTRICT="test" +IUSE="" RDEPEND=" - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/cryptography[${PYTHON_USEDEP}] - dev-python/decorator[${PYTHON_USEDEP}] - dev-python/future[${PYTHON_USEDEP}] - dev-python/PySocks[${PYTHON_USEDEP}] - dev-python/ujson[${PYTHON_USEDEP}] - dev-python/urllib3[${PYTHON_USEDEP}] - dev-python/tornado[${PYTHON_USEDEP}] + >=dev-python/cachetools-5.3.0[${PYTHON_USEDEP}] + >=dev-python/cryptography-39.0.1[${PYTHON_USEDEP}] + >=dev-python/httpx-0.24.0[${PYTHON_USEDEP}] + >=dev-python/tornado-6.2[${PYTHON_USEDEP}] + dev-python/setuptools[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/beautifulsoup4[${PYTHON_USEDEP}] + dev-python/flaky[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/pytest-asyncio[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + >=dev-python/tornado-6.2[${PYTHON_USEDEP}] + ) " -DEPEND="test? ( - dev-python/APScheduler[${PYTHON_USEDEP}] - dev-python/attrs[${PYTHON_USEDEP}] - dev-python/beautifulsoup4[${PYTHON_USEDEP}] - dev-python/flaky[${PYTHON_USEDEP}] - dev-python/pytest-timeout[${PYTHON_USEDEP}] - dev-python/pytz[${PYTHON_USEDEP}] - dev-python/yapf[${PYTHON_USEDEP}] -)" +PATCHES=( + "${FILESDIR}/${P}-no-internet-tests.patch" +) distutils_enable_tests pytest -distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme + +# Run only the tests that don't require a connection +python_test() { + epytest -m no_req +} python_prepare_all() { - # do not make a test flaky report - sed -i -e '/addopts/d' setup.cfg || die - - sed -i 's/from telegram.vendor.ptb_urllib3 //g' tests/test_*.py - sed -i 's/telegram.vendor.ptb_urllib3.urllib3/urllib3/g' tests/test_*.py - - # Remove tests files that require network access - rm tests/test_{animation,audio,bot,commandhandler,constants,conversationhandler}.py || die - rm tests/test_{dispatcher,document,forcereply,inlinekeyboardmarkup,inputmedia}.py || die - rm tests/test_{invoice,jobqueue,official,parsemode,persistence,photo,sticker,updater}.py || die - rm tests/test_replykeyboard{markup,remove}.py || die - rm tests/test_{video,videonote,voice}.py || die - distutils-r1_python_prepare_all } + +pkg_postinst() { + optfeature_header "Optional package dependencies:" + optfeature "using telegram.ext.JobQueue" dev-python/APScheduler +} diff --git a/dev-python/types-requests/Manifest b/dev-python/types-requests/Manifest index 91a68b94b6..7f38906d4d 100644 --- a/dev-python/types-requests/Manifest +++ b/dev-python/types-requests/Manifest @@ -1 +1,2 @@ -DIST types-requests-2.31.0.5.tar.gz 15474 BLAKE2B d1fc25eb9003f47bca74c21d9791aae2830b2242da387e0627e7509a3a52cb417f780fd6c4d5808314000a00b7f0385e1a275d0aaa23e9ecbcfe112290bead7a SHA512 a6df779ddfdc0ad3389d9c5c200bc1b14aefa3d6baf622879789c22230fbd5a3c0a71c0660ddc7abe75a57902abfb356b5c7107136919642d403e6da398c8489 +DIST types-requests-2.31.0.6.tar.gz 15535 BLAKE2B 165bbedb94cf39b271a32c37e58333d0f59b053a3c882c964e5c46f8fe95fba4ce158434714f4352fc426b6c6fcc98e31caf79407d1778c4e514c0a8a6dfe457 SHA512 e35dc869c6192cea6408407fe024c9dcaeac7baa208df250671f0d99d31e36aa20647d3d1823069bdae27b899d1278010ebfc4ad19ef00a922cd1f64636bd521 +DIST types-requests-2.31.0.7.tar.gz 15689 BLAKE2B 98006bfa2da460772ccdd9fe23f25c12a7b1bc6d6cdfe64fb0f0b7114702529cb0caef334cdd91c367c6c0c67dbea32e9b6d2a1c4f757181b9b59f1066e59165 SHA512 57ab649bb0f30d2bfb790eb1e5875779a6fa5708291db2a7e18beac4b436eeb3a19de163095926d907f4e78589082ee677b1e4d68430fd2aa82dbefdaa89666b diff --git a/dev-python/types-requests/types-requests-2.31.0.5.ebuild b/dev-python/types-requests/types-requests-2.31.0.6.ebuild similarity index 85% rename from dev-python/types-requests/types-requests-2.31.0.5.ebuild rename to dev-python/types-requests/types-requests-2.31.0.6.ebuild index 9cba92dc63..992925ec37 100644 --- a/dev-python/types-requests/types-requests-2.31.0.5.ebuild +++ b/dev-python/types-requests/types-requests-2.31.0.6.ebuild @@ -19,4 +19,5 @@ SLOT="0" LICENSE="Apache-2.0" KEYWORDS="~amd64" +# Depends on _typeshed util stub module bundled with mypy and other type checkers. RDEPEND="dev-python/types-urllib3" diff --git a/dev-python/types-requests/types-requests-2.31.0.7.ebuild b/dev-python/types-requests/types-requests-2.31.0.7.ebuild new file mode 100644 index 0000000000..84128ffa2f --- /dev/null +++ b/dev-python/types-requests/types-requests-2.31.0.7.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYPI_NO_NORMALIZE=1 +PYTHON_COMPAT=( python3_{10..11} pypy3 ) + +inherit distutils-r1 pypi + +DESCRIPTION="Typing stubs for requests" +HOMEPAGE=" + https://pypi.org/project/types-requests/ + https://github.com/python/typeshed/tree/master/stubs/requests +" + +SLOT="0" +LICENSE="Apache-2.0" +KEYWORDS="~amd64" + +# Depends on _typeshed util stub module bundled with mypy and other type checkers. +RDEPEND=">=dev-python/urllib3-2" diff --git a/gui-apps/sfwbar/Manifest b/gui-apps/sfwbar/Manifest index b21d9e2bfa..908d32d725 100644 --- a/gui-apps/sfwbar/Manifest +++ b/gui-apps/sfwbar/Manifest @@ -1,3 +1,2 @@ -DIST sfwbar-1.0_beta10.tar.gz 328768 BLAKE2B 9e3530bdb51de0baa997429dcaa5799db34827ccd412872c8f145ba7aef8a02776146e4a28c251968c8d9643a563201c7aa1ab8fbbbafb290c677526c9dfa5ac SHA512 d3671564a228419bca9a8cfa94939efd4c4455b7b80e7e06de023fb694366a267b012ad8167719cf8863bb1841cfba50b269924c4b23b447089ca587616d613f -DIST sfwbar-1.0_beta11.tar.gz 335292 BLAKE2B e4f81db97b73f082fd2d670819dc99b1dcfe15fe70af0a9a6ebc4da333ed33a3db00b6a1c1f9b3c0764a82eb9cb36d08fcabb83b866db7243f0c300a7c7a3842 SHA512 390d6018183738a0c3e6321537a3ba8b477a0932b8638115e9617c1f08fefad481c0c7385784178abe0282a2d1318aa288ab5b097da45229823653632d116bb8 DIST sfwbar-1.0_beta12.tar.gz 362373 BLAKE2B b1adda8a85c90d9459c4716c10eac501062476c4a039be7c8a8ebbcbfe63bb984a6869ed43157d24c02103e996d38e0d55e0d4b0df447f6e838a82bb7b725fc8 SHA512 b817ae0a0a77f13c6347ce50308b716ab30d7fc1e7920bf365ef34b332e07736bb4c08ec260195166b3cdc9cbafccabfd656afa7679f539a0a035d12ad519832 +DIST sfwbar-1.0_beta13.tar.gz 370717 BLAKE2B 1728c823b8f077ed3ddf952138cb7a15c70628df60b9dcdc43abffd7e7b7b39ddee785063b2b144889dbd265cc4851fe953bf31aa0393297b7cf3029019f9224 SHA512 e838374bfabea6cdbb71ee2e8f0e8ea814cb874ecf617b250959aec81da3a18dd178e3257ead06bf41be55a0d1492312979eab11318cbc7da913a0881e247d67 diff --git a/gui-apps/sfwbar/sfwbar-1.0_beta10-r1.ebuild b/gui-apps/sfwbar/sfwbar-1.0_beta10-r1.ebuild deleted file mode 100644 index 3caa9228b3..0000000000 --- a/gui-apps/sfwbar/sfwbar-1.0_beta10-r1.ebuild +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 2020-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit meson xdg - -DESCRIPTION="S* Floating Window Bar" -HOMEPAGE="https://github.com/LBCrion/sfwbar" -SRC_URI="https://github.com/LBCrion/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" -KEYWORDS="~amd64" - -LICENSE="GPL-3" -SLOT="0" -IUSE="X mpd pulseaudio" - -COMMON_DEPEND=" - dev-libs/glib:2 - dev-libs/json-c:= - dev-libs/wayland - gui-libs/gtk-layer-shell - >=x11-libs/gtk+-3.22.0:3[introspection,wayland] - X? ( x11-libs/libxkbcommon ) - mpd? ( media-libs/libmpdclient ) - pulseaudio? ( media-libs/libpulse[glib] ) -" -RDEPEND="${COMMON_DEPEND} - virtual/freedesktop-icon-theme -" -DEPEND="${COMMON_DEPEND} - >=dev-libs/wayland-protocols-1.17 -" -BDEPEND="dev-util/wayland-scanner" - -src_configure() { - local emesonargs=( - $(meson_feature mpd) - $(meson_feature pulseaudio pulse) - $(meson_feature X xkb) - -Dnetwork=enabled - ) - - meson_src_configure -} diff --git a/gui-apps/sfwbar/sfwbar-1.0_beta11.ebuild b/gui-apps/sfwbar/sfwbar-1.0_beta13.ebuild similarity index 88% rename from gui-apps/sfwbar/sfwbar-1.0_beta11.ebuild rename to gui-apps/sfwbar/sfwbar-1.0_beta13.ebuild index d7d8937058..0a25934553 100644 --- a/gui-apps/sfwbar/sfwbar-1.0_beta11.ebuild +++ b/gui-apps/sfwbar/sfwbar-1.0_beta13.ebuild @@ -12,7 +12,7 @@ KEYWORDS="~amd64" LICENSE="GPL-3" SLOT="0" -IUSE="X mpd pulseaudio" +IUSE="X mpd pulseaudio alsa" COMMON_DEPEND=" dev-libs/glib:2 @@ -23,6 +23,7 @@ COMMON_DEPEND=" X? ( x11-libs/libxkbcommon ) mpd? ( media-libs/libmpdclient ) pulseaudio? ( media-libs/libpulse[glib] ) + alsa? ( media-libs/alsa-lib ) " RDEPEND="${COMMON_DEPEND} virtual/freedesktop-icon-theme @@ -34,10 +35,13 @@ BDEPEND="dev-util/wayland-scanner" src_configure() { local emesonargs=( + $(meson_feature alsa) $(meson_feature mpd) $(meson_feature pulseaudio pulse) $(meson_feature X xkb) -Dnetwork=enabled + -Didleinhibit=enabled + -Dbluez=enabled -Dbsdctl=disabled ) diff --git a/net-p2p/monero/Manifest b/net-p2p/monero/Manifest index 04b5e07920..6bee6f3292 100644 --- a/net-p2p/monero/Manifest +++ b/net-p2p/monero/Manifest @@ -7,5 +7,5 @@ DIST monero-0.18.1.1.tar.gz 11609864 BLAKE2B 45591a856d251b6d11dc9eac987852fc413 DIST monero-0.18.1.2.tar.gz 11609034 BLAKE2B 3186a1038e9dd8f204a506df28c526bf3e0e5f788ad2d6b512f02735162a479be3f46d309d4e6888f30f962d68ecaf269888c8c0b21a066cad78b3c06f8cfc83 SHA512 d112f34b2fe6720c324560dd523badb68f08d03183d4bbbe7e1aa95f641cde4a1c4fa4042f1d47f9920f799269cc9620150136ebbef6dd66fcd4df0336c0d7f3 DIST monero-0.18.2.0.tar.gz 11624875 BLAKE2B e8dc2e89c664cb218d900ce0803dd1716f1ee363bbddb232fbd22570818c9a9ca307df04808ffef1eb30ee6097fbe243f6977dfad181f57b9169f22d4819f145 SHA512 19625d8e6ee3e9f27ba06eb6027ef21571a2ae8261c9e32f6e74d2f7adf8c73e9dfe34516cd456426274c41ce941e1e5b7eba9f9d20492b99decbd9262aec434 DIST monero-0.18.2.2.tar.gz 11640001 BLAKE2B 04b19e760b09636d7862af2a071128a28006d2829f08039cf55cfa1fd7d054b1382dbbcfc7f0ed381fcbd358e75ec437467349c7f250510e99e06527d1209da6 SHA512 78d4f7fee4eb37ba4837bc392c5869e21c9ea1e9bd9e95f768003bc833302935121c315fb3b4fcbe8f07a9513f928e9e9146dc7ca8892a3db2eb14cfe1371727 -DIST monero-0.18.3.0.tar.gz 14004133 BLAKE2B 9318721474aa5783b79f495ab50b28f5c5e0c0157ddd68c742c3e0866f83863f58106e826036a1604b47462e1307cf60f0ffb3cff6501bf578541b8a9568fb00 SHA512 85b37bb890afa8ea2c12dde9ea3ad654fcfbaccae9feb4033b3f345ee0497fce506f461e0de32d1620b2182ba33ffdb83886f92ebdf6fb39bc4473cc0122cff1 +DIST monero-0.18.3.1.tar.gz 14005197 BLAKE2B 169d876caf94090894c9a2bd9d07b71e46411971b06da0f51fc57f01396de4f5f770062e08cbebf702b6b49dbcd47923675d2375795969f5673bf2091a7da742 SHA512 b29d25043d50fa30459e59e0c82627cc3dc4a7e2e28a727a353915a32cf5e70e36f548bda152dee13329cb2d09a978ff45c2121f8bf7acc8966957a53e772f03 DIST monero-8682.patch 1053 BLAKE2B 6252ee36961d41e6c7161004f2b3ddb0916a2dc91b91eed0e500a9681040366eb7e696abc91b138484bc735da5eb13f0a79ec1ded6f3c36dd3c8f8565113d7cf SHA512 2960a937ec04bc96a3564d2c730ca53cd1369f26d47567cd08c8e90abaf126f336a083e297b4240b5fae22ab3ad3cb45d741f2f48364d30f1442df393109a6eb diff --git a/net-p2p/monero/monero-0.18.3.0.ebuild b/net-p2p/monero/monero-0.18.3.1.ebuild similarity index 100% rename from net-p2p/monero/monero-0.18.3.0.ebuild rename to net-p2p/monero/monero-0.18.3.1.ebuild diff --git a/www-client/yandex-browser/Manifest b/www-client/yandex-browser/Manifest index dcfd445fa1..aa310c172f 100644 --- a/www-client/yandex-browser/Manifest +++ b/www-client/yandex-browser/Manifest @@ -1 +1 @@ -DIST yandex-browser-23.3.1.912_p1.deb 122419732 BLAKE2B e1081b3df190bc264332d7a575bb10d480c6231b53c55bb9c60302a8dda1675adb44f14f308f56de40ad10abac6d15f291884cd36af4e4613fb02b9d046ff567 SHA512 f42a1b9237b6f296ab354f65fe6bdca1137146b1ffed3edd12c2ebde7e8e15ea0bb6ceb6917b2d4f9c3abbe1d2c256435315362a00421e8509fb5a06445f56c1 +DIST yandex-browser-23.9.1.962_p1.deb 158802680 BLAKE2B ab76c07182fc8ff253b57cffcee9dec6d2f5e5454a1b96b06235228e5ded9248a3351bc201bddb0c0ac629c1d56cca7bf1a584991d7413bb6454c1f5d313ebe8 SHA512 5da7616fea48d0ed1b1ee7e5530c69511c7303664fbf16e9ea85f7a155c87a92feea8e8f1d41659de00986e7c4a47939b56684fdc41febd4111a7764bdc94081 diff --git a/www-client/yandex-browser/yandex-browser-23.3.1.912_p1.ebuild b/www-client/yandex-browser/yandex-browser-23.9.1.962_p1.ebuild similarity index 97% rename from www-client/yandex-browser/yandex-browser-23.3.1.912_p1.ebuild rename to www-client/yandex-browser/yandex-browser-23.9.1.962_p1.ebuild index 43df87b79a..0c69df7d3f 100644 --- a/www-client/yandex-browser/yandex-browser-23.3.1.912_p1.ebuild +++ b/www-client/yandex-browser/yandex-browser-23.9.1.962_p1.ebuild @@ -18,13 +18,18 @@ DESCRIPTION="The web browser from Yandex" HOMEPAGE="https://browser.yandex.ru/" LICENSE="Yandex-EULA" SLOT="0" -IUSE="+ffmpeg-codecs" + +IUSE="X wayland +ffmpeg-codecs" + +REQUIRED_USE="|| ( X wayland )" + SRC_URI=" amd64? ( https://repo.yandex.ru/yandex-browser/deb/pool/main/y/${MY_PN}/${MY_PN}_${MY_PV}_amd64.deb -> ${P}.deb ) " KEYWORDS="~amd64" RDEPEND=" + X? ( x11-base/xorg-server ) dev-libs/expat dev-libs/glib:2 dev-libs/nspr diff --git a/www-plugins/yandex-browser-ffmpeg-codecs-bin/Manifest b/www-plugins/yandex-browser-ffmpeg-codecs-bin/Manifest index eae89541eb..d484e7bd0d 100644 --- a/www-plugins/yandex-browser-ffmpeg-codecs-bin/Manifest +++ b/www-plugins/yandex-browser-ffmpeg-codecs-bin/Manifest @@ -1,2 +1,2 @@ -DIST chromium-codecs-ffmpeg-extra_110.0.5481.100-0ubuntu0.18.04.1_amd64.deb 1108300 BLAKE2B befca27cdd764d9ee6442674f817576313b566f6b249e90962e1d6200362d27e000d26578de32f4c4f7c0400326c74bc26b1ec85906d912d6b17304dfc63f021 SHA512 d3c716d571594de19df219239fa3d34971b68ffcd78cb4bdfe18fd24ff26662fd43a382a4b9e0aa9d1f3e13c9dce551ab9cd5f47321acb0e58689ba0a02aa684 -DIST chromium-codecs-ffmpeg-extra_110.0.5481.100-0ubuntu0.18.04.1_i386.deb 1090256 BLAKE2B 4cc031ddac0e567d6ac3d9c8d007b3af3b3c36b79f0ebed04ca587216ee7acc60a69ef208e649bd8b8f786c0b50a75ad1c74a0c2eaaa0b65d893b983cc46da56 SHA512 7b8a5818348bd9b33b30023ef80514264038f33caf2de9a4130cf27683fa04cb60110189eeaba9693f4eb59eb0b708aa79ebfd2e05d804111901deee02e1330c +DIST chromium-codecs-ffmpeg-extra_112.0.5615.49-0ubuntu0.18.04.1_amd64.deb 1113644 BLAKE2B f189ff98c5720497b7a2cd22f3f234e1f4ea9a14ae619176b68aa6a67ff2b9948e37f3684b5a954c6d3886ca5b921879c7850957580d9946e0786446c38deab3 SHA512 1e1cdceff1d9e1c585b4d33cf8afeb8f35ebbe9bbda2044b4e3538e832bddb170917b32e321bbed7936e14f40721ad4d4d89f4c4371e32e8e69f60ea6cda9c5e +DIST chromium-codecs-ffmpeg-extra_112.0.5615.49-0ubuntu0.18.04.1_i386.deb 1095040 BLAKE2B 9fa82d21d4abfa50eec7453c9e895b71f11ceb5c7761ee94455be1b714d3ce3b5754231cbcac3a5e51a205eab7ee4b9df75c8572c578138affc0be6dc7a3ca63 SHA512 4ba7817102820f17f3b9d4ebf4f6d3f64135798ce7f0cc333712a27e0c1838c88dc314c8e01fd161368d6fadfde3e8c5003242233a1a45c50c5160d72d64578c diff --git a/www-plugins/yandex-browser-ffmpeg-codecs-bin/yandex-browser-ffmpeg-codecs-bin-110.0.5481.100.ebuild b/www-plugins/yandex-browser-ffmpeg-codecs-bin/yandex-browser-ffmpeg-codecs-bin-112.0.5615.49.ebuild similarity index 100% rename from www-plugins/yandex-browser-ffmpeg-codecs-bin/yandex-browser-ffmpeg-codecs-bin-110.0.5481.100.ebuild rename to www-plugins/yandex-browser-ffmpeg-codecs-bin/yandex-browser-ffmpeg-codecs-bin-112.0.5615.49.ebuild