diff options
Diffstat (limited to 'dev-python/steam')
| -rw-r--r-- | dev-python/steam/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/steam/files/steam-2.0.0-path-pycryptodome-and-gevent.patch | 188 | ||||
| -rw-r--r-- | dev-python/steam/metadata.xml | 13 | ||||
| -rw-r--r-- | dev-python/steam/steam-2.0.0-r1.ebuild | 62 |
4 files changed, 0 insertions, 264 deletions
diff --git a/dev-python/steam/Manifest b/dev-python/steam/Manifest deleted file mode 100644 index 60ad0dc2881e..000000000000 --- a/dev-python/steam/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST steam-2.0.0.gh.tar.gz 675414 BLAKE2B 9ee5c412a1a7f498a773aaf290bba4b268ea71e929d6cec3cbe6629f4af994cb375aaac102364d5fe3aa5b14c40078a53ecd12adea09ee9bb06f8412d6880994 SHA512 7168dc500ae116dc8230abf9405cfd46f9ec9a518e9c0e2ee7902a610dbc2fff92e975061f080c257746979b9fd240d713ced53603b44cbc5361118174eae1b9 diff --git a/dev-python/steam/files/steam-2.0.0-path-pycryptodome-and-gevent.patch b/dev-python/steam/files/steam-2.0.0-path-pycryptodome-and-gevent.patch deleted file mode 100644 index 571a48d17afd..000000000000 --- a/dev-python/steam/files/steam-2.0.0-path-pycryptodome-and-gevent.patch +++ /dev/null @@ -1,188 +0,0 @@ -From dd8334ce47dbb0c5cc5547094e9800e7789821ce Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Gon=C3=A7alo=20Negrier=20Duarte?= - <gonegrier.duarte@gmail.com> -Date: Thu, 14 Aug 2025 15:30:13 +0100 -Subject: [PATCH] dev-python: patched for `dev-python/pycryptodome` and remove - test depend on `dev-python/gevent` -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -* Since `dev-python/gevent` was removed in BUG 879011 so - tests/test_core_cm.py need to be removed - -Signed-off-by: Gonçalo Negrier Duarte <gonegrier.duarte@gmail.com> ---- - steam/core/crypto.py | 8 +-- - tests/test_core_cm.py | 140 ------------------------------------------ - 2 files changed, 4 insertions(+), 144 deletions(-) - delete mode 100644 tests/test_core_cm.py - -diff --git a/steam/core/crypto.py b/steam/core/crypto.py -index 9557ee6..7894dcf 100644 ---- a/steam/core/crypto.py -+++ b/steam/core/crypto.py -@@ -6,10 +6,10 @@ from os import urandom as random_bytes - from struct import pack - from base64 import b64decode - --from Cryptodome.Hash import MD5, SHA1, HMAC --from Cryptodome.PublicKey.RSA import import_key as rsa_import_key, construct as rsa_construct --from Cryptodome.Cipher import PKCS1_OAEP, PKCS1_v1_5 --from Cryptodome.Cipher import AES as AES -+from Crypto.Hash import MD5, SHA1, HMAC -+from Crypto.PublicKey.RSA import import_key as rsa_import_key, construct as rsa_construct -+from Crypto.Cipher import PKCS1_OAEP, PKCS1_v1_5 -+from Crypto.Cipher import AES as AES - - - class UniverseKey: -diff --git a/tests/test_core_cm.py b/tests/test_core_cm.py -deleted file mode 100644 -index bbc2c27..0000000 ---- a/tests/test_core_cm.py -+++ /dev/null -@@ -1,140 +0,0 @@ --import unittest --from unittest.mock import patch --import gevent --import gevent.queue -- --from steam.core.cm import CMClient -- --class CMClient_Scenarios(unittest.TestCase): -- test_channel_key = b'SESSION KEY LOL' -- -- def setUp(self): -- # mock out crypto -- patcher = patch('steam.core.crypto.generate_session_key') -- self.addCleanup(patcher.stop) -- self.gen_skey = patcher.start() -- self.gen_skey.return_value = (self.test_channel_key, b'PUBKEY ENCRYPTED SESSION KEY') -- -- patcher = patch('steam.core.crypto.symmetric_encrypt') -- self.addCleanup(patcher.stop) -- self.s_enc = patcher.start() -- self.s_enc.side_effect = lambda m, k: m -- patcher = patch('steam.core.crypto.symmetric_encrypt_HMAC') -- self.addCleanup(patcher.stop) -- self.s_enc_hmac = patcher.start() -- self.s_enc_hmac.side_effect = lambda m, k, mac: m -- -- patcher = patch('steam.core.crypto.symmetric_decrypt') -- self.addCleanup(patcher.stop) -- self.s_dec = patcher.start() -- self.s_dec.side_effect = lambda c, k: c -- patcher = patch('steam.core.crypto.symmetric_decrypt_HMAC') -- self.addCleanup(patcher.stop) -- self.s_dec_hmac = patcher.start() -- self.s_dec_hmac.side_effect = lambda c, k, mac: c -- -- # TODO: Tests for WebsocketConnection -- -- # mock out TCPConnection -- patcher = patch('steam.core.cm.TCPConnection', autospec=True) -- self.addCleanup(patcher.stop) -- self.conn = patcher.start().return_value -- -- self.conn_in = gevent.queue.Queue() -- self.conn.__iter__.return_value = self.conn_in -- -- # mock out CMServerList -- patcher = patch('steam.core.cm.CMServerList', autospec=True) -- self.addCleanup(patcher.stop) -- self.server_list = patcher.start().return_value -- self.server_list.__iter__.return_value = [(127001, 20000+i) for i in range(10)] -- self.server_list.bootstrap_from_webapi.return_value = False -- self.server_list.bootstrap_from_dns.return_value = False -- -- @patch.object(CMClient, 'emit') -- @patch.object(CMClient, '_recv_messages') -- def test_connect(self, mock_recv, mock_emit): -- # setup -- self.conn.connect.return_value = True -- self.server_list.__len__.return_value = 10 -- -- # run -- cm = CMClient() -- -- with gevent.Timeout(2, False): -- cm.connect(retry=1) -- -- gevent.idle() -- -- # verify -- self.conn.connect.assert_called_once_with((127001, 20000)) -- mock_emit.assert_called_once_with('connected') -- mock_recv.assert_called_once_with() -- -- @patch.object(CMClient, 'emit') -- @patch.object(CMClient, '_recv_messages') -- def test_connect_auto_discovery_failing(self, mock_recv, mock_emit): -- # setup -- self.conn.connect.return_value = True -- self.server_list.__len__.return_value = 0 -- -- # run -- cm = CMClient() -- -- with gevent.Timeout(3, False): -- cm.connect(retry=1) -- -- gevent.idle() -- -- # verify -- self.server_list.bootstrap_from_webapi.assert_called_once_with() -- self.server_list.bootstrap_from_dns.assert_called_once_with() -- self.conn.connect.assert_not_called() -- -- @patch.object(CMClient, 'emit') -- @patch.object(CMClient, '_recv_messages') -- def test_connect_auto_discovery_success(self, mock_recv, mock_emit): -- # setup -- self.conn.connect.return_value = True -- self.server_list.__len__.return_value = 0 -- -- def fake_servers(*args, **kwargs): -- self.server_list.__len__.return_value = 10 -- return True -- -- self.server_list.bootstrap_from_webapi.side_effect = fake_servers -- -- # run -- cm = CMClient() -- -- with gevent.Timeout(3, False): -- cm.connect(retry=1) -- -- gevent.idle() -- -- # verify -- self.server_list.bootstrap_from_webapi.assert_called_once_with() -- self.server_list.bootstrap_from_dns.assert_not_called() -- self.conn.connect.assert_called_once_with((127001, 20000)) -- mock_emit.assert_called_once_with('connected') -- mock_recv.assert_called_once_with() -- -- def test_channel_encrypt_sequence(self): -- # setup -- self.conn.connect.return_value = True -- -- # run ------------ -- cm = CMClient() -- cm.connected = True -- gevent.spawn(cm._recv_messages) -- -- # recieve ChannelEncryptRequest -- self.conn_in.put(b'\x17\x05\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x01\x00\x00\x00') -- gevent.idle(); gevent.idle(); gevent.idle(); gevent.idle() -- -- self.conn.put_message.assert_called_once_with(b'\x18\x05\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00\x80\x00\x00\x00PUBKEY ENCRYPTED SESSION KEY\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h-\xc4@\x00\x00\x00\x00') -- -- # recieve ChannelEncryptResult (OK) -- self.conn_in.put(b'\x19\x05\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x00\x00') -- -- cm.wait_event('channel_secured', timeout=2, raises=True) --- -2.50.0 - diff --git a/dev-python/steam/metadata.xml b/dev-python/steam/metadata.xml deleted file mode 100644 index b0f214e3ec08..000000000000 --- a/dev-python/steam/metadata.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>gonegrier.duarte@gmail.com</email> - <name>Gonçalo Negrier Duarte</name> - </maintainer> - <upstream> - <remote-id type="github">ValvePython/steam</remote-id> - <remote-id type="github">solsticegamestudios/steam</remote-id> - <remote-id type="pypi">steam</remote-id> - </upstream> -</pkgmetadata> diff --git a/dev-python/steam/steam-2.0.0-r1.ebuild b/dev-python/steam/steam-2.0.0-r1.ebuild deleted file mode 100644 index 2337e3032d70..000000000000 --- a/dev-python/steam/steam-2.0.0-r1.ebuild +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -DISTUTILS_USE_PEP517=setuptools -PYTHON_COMPAT=( python3_{13..14} ) - -inherit distutils-r1 - -DESCRIPTION="Python package for interacting with Steam" -HOMEPAGE=" - https://github.com/solsticegamestudios/steam/ - https://pypi.org/project/steam/ -" -SRC_URI=" - https://github.com/solsticegamestudios/steam/archive/refs/tags/v${PV}-alpha1.tar.gz - -> ${P}.gh.tar.gz -" -S="${WORKDIR}/${P}-alpha1" - -PATCHES=( - "${FILESDIR}/${P}-path-pycryptodome-and-gevent.patch" -) - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -RDEPEND=" - >=dev-python/cachetools-3.0.0[${PYTHON_USEDEP}] - >=dev-python/pycryptodome-3.7.0[${PYTHON_USEDEP}] - >=dev-python/requests-2.9.1[${PYTHON_USEDEP}] - >=dev-python/six-1.10.0[${PYTHON_USEDEP}] - >=dev-python/vdf-4.0[${PYTHON_USEDEP}] - - dev-python/certifi[${PYTHON_USEDEP}] - dev-python/protobuf[${PYTHON_USEDEP}] - dev-python/wsproto[${PYTHON_USEDEP}] -" - -BDEPEND=" - test? ( - dev-python/vcrpy[${PYTHON_USEDEP}] - dev-python/mock[${PYTHON_USEDEP}] - ) -" - -distutils_enable_tests pytest - -pkg_postinst() { - if [[ ! ${REPLACING_VERSIONS} ]]; then - ewarn "If you intend to use this library for anything else than" - ewarn "ProtonUp-Qt you most likely need additional ebuilds for" - ewarn "gevent and gevent-eventemitter. These are currently not" - ewarn "part of the GURU repository." - ewarn - ewarn "Project references:" - ewarn " - http://www.gevent.org/" - ewarn " - https://github.com/rossengeorgiev/gevent-eventemitter" - fi -} |
