commit:     e44abc68881711cb9ea6b9ff175ca1d2212945a1
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 10 12:59:19 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Nov 10 13:09:20 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e44abc68

dev-python/fritzconnection: Add USE=qrcode for WiFi login QR Code gen

Closes: https://bugs.gentoo.org/916578
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../fritzconnection-1.13.2-r1.ebuild               | 64 ++++++++++++++++++++++
 dev-python/fritzconnection/metadata.xml            |  6 ++
 2 files changed, 70 insertions(+)

diff --git a/dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild 
b/dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild
new file mode 100644
index 000000000000..73e3ff50eb6b
--- /dev/null
+++ b/dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Lib/tool to communicate with AVM FRITZ! devices using TR-064 
protocol over UPnP"
+HOMEPAGE="
+       https://github.com/kbr/fritzconnection/
+       https://pypi.org/project/fritzconnection/
+"
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="qrcode"
+
+if [[ "${PV}" == "9999" ]]; then
+       EGIT_REPO_URI="https://github.com/kbr/fritzconnection";
+       inherit git-r3
+else
+       SRC_URI="
+               https://github.com/kbr/fritzconnection/archive/${PV}.tar.gz
+                       -> ${P}.gh.tar.gz
+       "
+       KEYWORDS="~amd64"
+fi
+
+RDEPEND="
+       >=dev-python/requests-2.22[${PYTHON_USEDEP}]
+       qrcode? (
+               dev-python/segno[${PYTHON_USEDEP}]
+       )
+"
+BDEPEND="
+       test? (
+               dev-python/pytest-mock[${PYTHON_USEDEP}]
+       )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+       local EPYTEST_DESELECT=(
+               # flaky (relies on time.sleep(0.01) magically being sufficient)
+               
fritzconnection/tests/test_fritzmonitor.py::test_terminate_thread_on_failed_reconnection
+       )
+
+       if has_version "dev-python/segno[${PYTHON_USEDEP}]"; then
+               EPYTEST_DESELECT+=(
+                       # requires "QR Code detection" support in 
media-libs/opencv
+                       # https://bugs.gentoo.org/917121
+                       
fritzconnection/tests/test_fritzwlan.py::test_get_wifi_qr_code
+                       
fritzconnection/tests/test_fritzwlan.py::test_helper_functions
+                       fritzconnection/tests/test_fritzwlan.py::test_tools
+               )
+       fi
+
+       # "routertest" marks tests against live hardware
+       epytest -m "not routertest"
+}

diff --git a/dev-python/fritzconnection/metadata.xml 
b/dev-python/fritzconnection/metadata.xml
index 80aadfcb4881..32eb24693df4 100644
--- a/dev-python/fritzconnection/metadata.xml
+++ b/dev-python/fritzconnection/metadata.xml
@@ -11,4 +11,10 @@
                <remote-id type="github">kbr/fritzconnection</remote-id>
                <remote-id type="pypi">fritzconnection</remote-id>
        </upstream>
+       <use>
+               <flag name="qrcode">
+                       Install dependencies needed to generate QR Codes for 
WiFi
+                       login.
+               </flag>
+       </use>
 </pkgmetadata>

Reply via email to