dev-python: update ProtonVPN dependency stack

Signed-off-by: amielke <gentoo@amielke.de>
This commit is contained in:
amielke committed 2026-04-18 14:59:26 +02:00
1 parent cbffbc2b52
commit 15ca7fabf3
9 files changed
+365 -1

No files matched your search

@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{12..13} )
PYTHON_COMPAT=( python3_{11..14} )
inherit distutils-r1
+1
View File
@@ -1 +1,2 @@
DIST proton-keyring-linux-0.2.0.tar.gz 17903 BLAKE2B 112562c61a02b05fb972cd1fff435e3ac2584fe869ae6a918d644579a667b750a0a594724f3b29e947d8c92fcc04e7fc75e0623d00e4d3a5ca08df1bcb55c2a8 SHA512 a3a79a11a8ad238d379fb050826a3941df960dd6eb0feba6bcea76c49842b46aac232dc7d40f647a7f0e2b574ff0b274bc409aa9424154621b4dc1c4de4c3cbe
DIST proton-keyring-linux-0.2.1.tar.gz 18055 BLAKE2B cb107c11c028f2c173cfbca8496ff27eab3038f2741878ecc95a92c183e61e9402da206d7740f76a8c8faed9f859702f7495b2f55713fd2dd3b673ade0386563 SHA512 293c764814489a8503f60b88cf65c4b8f146f8e2e62ccfb7a9848d430200c472f2a9931ca1e8cca7597af9a5f754c79d161cfe9e9538962efeb5b7f17329f4cd
@@ -0,0 +1,33 @@
# 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_{11..14} )
inherit distutils-r1
DESCRIPTION="Proton Technologies keyring plugins for linux"
HOMEPAGE="https://github.com/ProtonVPN/python-proton-keyring-linux"
SRC_URI="https://github.com/ProtonVPN/python-proton-keyring-linux/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/python-${P}"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-python/keyring[${PYTHON_USEDEP}]
dev-python/proton-core[${PYTHON_USEDEP}]
virtual/secret-service
"
distutils_enable_tests pytest
src_prepare() {
distutils-r1_src_prepare
sed -i "/--cov/d" setup.cfg || die
}
+1
View File
@@ -1,2 +1,3 @@
DIST proton-vpn-api-core-0.46.1-remove-anonymous-bug-report.patch 29567 BLAKE2B 660c30d219d41dd6b3259186015b312126adf48e83e0f15d6431b2dd08ae784ee6194bfaad98d64990230ed52e55460b58aa4d73c897c5fccd9ce90a3616e560 SHA512 83a0f35befaa26a0c5664cab3772e90ec873a304a49275ebda9c73488a888b98d9b47c6026c384e4cd54faa705bb7b7a4353809b836da86141ef0bfd18d448cf
DIST proton-vpn-api-core-0.46.1.tar.gz 118320 BLAKE2B 89500b4ae26f3f521573189c1b938b5353a087e7e265ba7bc6b9828856de581fee64f67007979af3cc1f30c9d2e202fd40e43a9ca8fcf90be6842072a06c6435 SHA512 7279ad3cc0fe28b456e91c0081b7f6f5d512598405d60821e844cfffcec07f3383768370b5192b99e7347e83a80d73572a4b4a4859accd8dc4a63e7c788136ea
DIST proton-vpn-api-core-4.19.1.tar.gz 165858 BLAKE2B d573e34b8c09340a98875b18fea5407dd50330fb9f5fbd312f9587c67ff97365efe38416b4b3da3b8ef1f7f62ebbb4aa0dc4e8e05c31b6572259fabeb5f03a6c SHA512 2e7299ed8f3d142ad7a4cc362ba5d86d5e3db3ae226f37c1ca0bd1901d162fce6fb06f2c73ad4ea38137c595d47ecd6369304666b017697ca651089050ce1dcb
@@ -0,0 +1,52 @@
# 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_{11..14} )
inherit distutils-r1
DESCRIPTION="Proton AG VPN Core API"
HOMEPAGE="https://github.com/ProtonVPN/python-proton-vpn-api-core"
SRC_URI="
https://github.com/ProtonVPN/python-proton-vpn-api-core/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
"
S="${WORKDIR}/python-${P}"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND="test? ( dev-python/pytest-asyncio[${PYTHON_USEDEP}] )"
RDEPEND="
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/distro[${PYTHON_USEDEP}]
>=dev-python/proton-core-0.5.0[${PYTHON_USEDEP}]
dev-python/pynacl[${PYTHON_USEDEP}]
"
distutils_enable_sphinx docs
distutils_enable_tests pytest
src_prepare() {
distutils-r1_src_prepare
sed -i "/--cov/d" setup.cfg || die
}
python_test() {
# VPN connection cannot be tested within sandbox
local EPYTEST_IGNORE=(
tests/connection
tests/core/refresher
tests/core/test_{connection,settings}.py
)
XDG_RUNTIME_DIR="${T}/python_test" epytest
}
@@ -90,6 +90,7 @@ DIST powerfmt-0.2.0.crate 15165 BLAKE2B a3e1ce63f5866f75526eeb749bec6607e42cb495
DIST prettyplease-0.2.20.crate 57809 BLAKE2B 7c0b96177508fb61f76e45cb1df901f09a48611494d807acde17fede4c62f79053a09737ab6d31562bb60edfb2edc43028e62a2c4136ed799ab247086531db46 SHA512 fd6aa2cfbbb953227653eb5cc9f48d8ae6a7120026144578a9250397511416af461fff9b3f4a0fcf565d9ae589d4c0ed7523951ef36c491270d740efb61427ec
DIST proc-macro2-1.0.94.crate 52391 BLAKE2B c50986bb34468379e22215c6572c2b722f54381c02258fcba6805eef0166e4bb591d20b94b9084b5d68972df8ef12476ce0d1081588cf80dad3c4ffffa347660 SHA512 3fc4552187d4130f0fdb415f94e625c156a1fdc6cc955fda8a68b49983ac8a83b897f43d1caa130c4f0932fbd9651140b7670601faa2b9b936947c3fd89f7769
DIST proton-vpn-local-agent-1.4.8.tar.gz 55228 BLAKE2B 2b0db7e38d21818f5e82d2e3a1d2749a6cdb21c95bcf13cac25bac4d0f9c8e79543b67f01863782966b761d5ed8c02e72f82a04e9433487c8a0283cd3ddf9d6a SHA512 76d635a008598b737fc239f76e8e0293be451a43d88512c9045b7cd169e9e09390383be49a4ad99aa4938454e957bcd0676d5bd1c8ab814dc5e28d4a3c900b95
DIST proton-vpn-local-agent-1.6.1.tar.gz 55622 BLAKE2B fcce5e120fadd30883fae7ae68825ddcb2cd64fded69a46a1a2d2c39fe4e084f5c3add3e4f213e5254bd213119d2a96060e8ca3f462af02871c01510e225d542 SHA512 8c2dce71d8b45dbeb50c647fc37b1b0974211e7b95344ca46674d7197e3737851fb0dacf7ff789927468a8f271c472179fae4e080cd09d89ca9794aaa193acc1
DIST pyo3-0.24.0.crate 1108432 BLAKE2B 03098e1ed1f2bcb489ab5fbaf2605631f75804ad138591ae88975c287b8e7544e5f70ef7e3261625075498ac00545b79f6c0b5aab3bcdee2897cbbfabc3f7e87 SHA512 2b9be3cc780c48198ccad08c304053c5248d7c3b7a32e8a3eeba48246b962aa71cbf31ab8c49cab9b555933cccd447412761017b477019a35dc2598999fe63ad
DIST pyo3-async-runtimes-0.24.0.crate 54014 BLAKE2B 42f3a32abd6752116d621b001331da04dfc5d10f50f1da55f1f59abe78952913b72546f47b26d3c2e20ff94a0352f94c3fd49de8be550e6d3aa1253e914dad91 SHA512 f634ddfecb749fdc8f57016edd7e4b91570ababf7b9d9f9c2705a873a47f70efabac2ce5ebccd14dc544f42f3a8ad0b85e90132cbbaba59b9db6c042df1a0b4b
DIST pyo3-async-runtimes-macros-0.24.0.crate 13676 BLAKE2B ff6d855d5a2243a69b825d366090894c5fb859df578cf41e87f396f7f5ad0527d899b8af599468f522c8270690e7396506d6c5275eb8188e4515107be557474a SHA512 72a58559b87d7a60bb6e79b8c7acc0785ece0537ba289490c6c9e2c308f4d25ec58bc071e0230cbd956998430024541a9e47f6a3ace4e841edde3fb77101e87d
@@ -0,0 +1,219 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Autogenerated by pycargoebuild 0.14.0
EAPI=8
CRATES="
addr2line@0.22.0
adler@1.0.2
aho-corasick@1.1.3
anstream@0.6.15
anstyle-parse@0.2.5
anstyle-query@1.1.1
anstyle-wincon@3.0.4
anstyle@1.0.8
asn1-rs-derive@0.5.1
asn1-rs-impl@0.2.0
asn1-rs@0.6.2
async-trait@0.1.81
autocfg@1.3.0
aws-lc-rs@1.8.1
aws-lc-sys@0.20.1
backtrace@0.3.73
base64@0.22.1
bincode@1.3.3
bindgen@0.69.4
bitflags@2.6.0
bytes@1.7.1
cc@1.1.8
cexpr@0.6.0
cfg-if@1.0.0
clang-sys@1.8.1
cmake@0.1.50
colorchoice@1.0.2
data-encoding@2.9.0
der-parser@9.0.0
deranged@0.5.3
displaydoc@0.2.5
dunce@1.0.5
either@1.13.0
env_filter@0.1.2
env_logger@0.11.5
errno@0.3.9
fs_extra@1.3.0
futures-channel@0.3.31
futures-core@0.3.31
futures-executor@0.3.31
futures-io@0.3.31
futures-macro@0.3.31
futures-sink@0.3.31
futures-task@0.3.31
futures-util@0.3.31
futures@0.3.31
getrandom@0.2.15
gimli@0.29.0
glob@0.3.1
heck@0.5.0
hermit-abi@0.3.9
home@0.5.9
humantime@2.1.0
indoc@2.0.5
is_terminal_polyfill@1.70.1
itertools@0.12.1
itoa@1.0.11
jobserver@0.1.32
lazy_static@1.5.0
lazycell@1.3.0
libc@0.2.155
libloading@0.8.5
linux-raw-sys@0.4.14
lock_api@0.4.12
log@0.4.22
matchers@0.1.0
memchr@2.7.4
memoffset@0.9.1
minimal-lexical@0.2.1
miniz_oxide@0.7.4
mio@1.0.1
mirai-annotations@1.12.0
nom@7.1.3
nu-ansi-term@0.46.0
num-bigint@0.4.6
num-conv@0.1.0
num-integer@0.1.46
num-traits@0.2.19
object@0.36.3
oid-registry@0.7.1
once_cell@1.19.0
overload@0.1.1
parking_lot@0.12.3
parking_lot_core@0.9.10
paste@1.0.15
pin-project-lite@0.2.14
pin-utils@0.1.0
portable-atomic@1.7.0
powerfmt@0.2.0
prettyplease@0.2.20
proc-macro2@1.0.94
pyo3-async-runtimes-macros@0.24.0
pyo3-async-runtimes@0.24.0
pyo3-build-config@0.24.0
pyo3-ffi@0.24.0
pyo3-macros-backend@0.24.0
pyo3-macros@0.24.0
pyo3@0.24.0
quote@1.0.36
redox_syscall@0.5.3
regex-automata@0.1.10
regex-automata@0.4.7
regex-syntax@0.6.29
regex-syntax@0.8.4
regex@1.10.6
ring@0.17.8
rustc-demangle@0.1.24
rustc-hash@1.1.0
rusticata-macros@4.1.0
rustix@0.38.34
rustls-pemfile@2.1.3
rustls-pki-types@1.8.0
rustls-webpki@0.102.6
rustls@0.23.12
ryu@1.0.18
scopeguard@1.2.0
serde@1.0.204
serde_derive@1.0.204
serde_json@1.0.122
sharded-slab@0.1.7
shlex@1.3.0
signal-hook-registry@1.4.2
slab@0.4.9
smallvec@1.13.2
socket2@0.5.7
spin@0.9.8
static_assertions@1.1.0
subtle@2.6.1
syn@2.0.100
synstructure@0.13.2
target-lexicon@0.13.2
test-log-macros@0.2.16
test-log@0.2.16
thiserror-impl@1.0.63
thiserror@1.0.63
thread_local@1.1.8
time-core@0.1.6
time-macros@0.2.24
time@0.3.43
tokio-macros@2.4.0
tokio-rustls@0.26.0
tokio@1.39.2
tracing-core@0.1.33
tracing-log@0.2.0
tracing-subscriber@0.3.19
tracing@0.1.41
unicode-ident@1.0.12
unindent@0.2.3
untrusted@0.9.0
utf8parse@0.2.2
valuable@0.1.0
wasi@0.11.0+wasi-snapshot-preview1
webpki-roots@0.26.6
webpki@0.22.4
which@4.4.2
winapi-i686-pc-windows-gnu@0.4.0
winapi-x86_64-pc-windows-gnu@0.4.0
winapi@0.3.9
windows-sys@0.52.0
windows-targets@0.52.6
windows_aarch64_gnullvm@0.52.6
windows_aarch64_msvc@0.52.6
windows_i686_gnu@0.52.6
windows_i686_gnullvm@0.52.6
windows_i686_msvc@0.52.6
windows_x86_64_gnu@0.52.6
windows_x86_64_gnullvm@0.52.6
windows_x86_64_msvc@0.52.6
x509-parser@0.16.0
zeroize@1.8.1
zeroize_derive@1.4.2
"
RUST_MIN_VER="1.81.0"
PYTHON_COMPAT=( python3_{11..14} )
inherit cargo python-r1
DESCRIPTION="Proton VPN local agent written in Rust"
HOMEPAGE="https://github.com/ProtonVPN/local-agent-rs"
SRC_URI="
https://github.com/ProtonVPN/local-agent-rs/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
${CARGO_CRATE_URIS}
"
S="${WORKDIR}/local-agent-rs-${PV}/python-proton-vpn-local-agent"
LICENSE="GPL-3+"
# Dependent crate licenses
LICENSE+="
Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0
openssl Unicode-DFS-2016
"
SLOT="0"
KEYWORDS="~amd64"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}"
src_install() {
einstalldocs
pushd target/release &>> /dev/null || die
mv libpython_proton_vpn_local_agent.so local_agent.abi3.so || die
popd &>> /dev/null || die
python_moduleinto proton/vpn
python_foreach_impl python_domodule target/release/local_agent.abi3.so
}
@@ -1 +1,2 @@
DIST proton-vpn-network-manager-0.13.0.tar.gz 61201 BLAKE2B 92963e146621d793d0a01412a023e7fcd8103828d157f5add44409226e2d049ca5461c09b4bea27f64cc1ab35e0b020f580f69544daee219b0a52ab47e53d85b SHA512 f938d70e971f1115c95c9fd4d12a7ffc7ba7b411cedee0c9d9c27729bd7b1c8fc01ae19efc1ec455c0e623b21badd0f7cfa067a411cbc2c97322b430eb8d4069
DIST proton-vpn-network-manager-0.13.5.tar.gz 61456 BLAKE2B 3a855f6e0f1d0b6cfd611a755cf8f06d4563bde0944f842c6c8205a4b495bf28222ee466af94efa144aaf995345634735aa5bd1511f1a4ea33e6d10d5859eddf SHA512 103f0a1aac808a71921adf11a93a5cdf2f2add0e6b93e19fe9ec88b6c7871f8acbcbdda04e2255f355e2bd982a264d74b2b10c5c2f9046c1551e9ef04e08b02c
@@ -0,0 +1,56 @@
# 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_{11..14} )
inherit distutils-r1 linux-info
DESCRIPTION="Proton VPN Network Manager handler"
HOMEPAGE="https://github.com/ProtonVPN/python-proton-vpn-network-manager"
SRC_URI="https://github.com/ProtonVPN/python-proton-vpn-network-manager/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/python-${P}"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND="test? ( dev-python/pytest-asyncio[${PYTHON_USEDEP}] )"
RDEPEND="
dev-python/jinja2[${PYTHON_USEDEP}]
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/proton-core[${PYTHON_USEDEP}]
>=dev-python/proton-vpn-api-core-0.45.1[${PYTHON_USEDEP}]
>=dev-python/proton-vpn-local-agent-1.4.4[${PYTHON_USEDEP}]
dev-python/pygobject[${PYTHON_USEDEP}]
net-misc/networkmanager[introspection]
net-vpn/networkmanager-openvpn
"
CONFIG_CHECK="~DUMMY ~WIREGUARD"
PATCHES=(
"${FILESDIR}/${PN}-0.12.13-fix-networkmanager-plugin-loading.patch"
"${FILESDIR}/${PN}-0.12.13-remove-call-to-apt.patch"
)
distutils_enable_tests pytest
src_prepare() {
distutils-r1_src_prepare
sed -i "/--cov/d" setup.cfg || die
}
python_test() {
# VPN connection cannot be tested within sandbox
local EPYTEST_IGNORE=(
tests/unit/core/test_networkmanager.py
tests/unit/wireguard/test_wireguard.py
)
XDG_RUNTIME_DIR="${T}/python_test" epytest
}