Complete Yocto mirror with license table for TQMa6UL (2038-compliance)

- 264 license table entries with exact download URLs (224/264 resolved)
- Complete sources/ directory with all BitBake recipes
- Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl)
- Full traceability for Softwarefreigabeantrag
- GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4
- License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
DESCRIPTION = "GYP is a Meta-Build system: a build system that generates other build systems."
HOMEPAGE = "https://gyp.gsrc.io/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ab828cb8ce4c62ee82945a11247b6bbd"
SECTION = "devel"
SRC_URI = "git://chromium.googlesource.com/external/gyp;protocol=https;branch=master \
"
SRCREV = "a03d7413becefc8d55c8aa3df58b55b9bd0e9052"
S = "${WORKDIR}/git"
PV = "0.1+git"
inherit setuptools3
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,28 @@
From 1b594cf12e5a69aa25f49f532c1201a6b39e280d Mon Sep 17 00:00:00 2001
From: Leon Anavi <leon.anavi@konsulko.com>
Date: Tue, 7 Nov 2023 10:43:32 +0000
Subject: [PATCH] Migrate to pdm-backend
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Upstream-Status: Pending
---
pyproject.toml | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index f549376..c608213 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -36,7 +36,5 @@ includes = [
profile = "black"
[build-system]
-requires = [
- "pdm-pep517>=1.0.0",
-]
-build-backend = "pdm.pep517.api"
+requires = ["pdm-backend"]
+build-backend = "pdm.backend"
--
2.39.2

View File

@@ -0,0 +1,23 @@
SUMMARY = "jsonref is a library for automatic dereferencing of JSON Reference objects for Python"
HOMEPAGE = "https://github.com/gazpachoking/jsonref"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4ac1cccee5d43e11fc4eddcf445be64a"
SRC_URI[sha256sum] = "32fe8e1d85af0fdefbebce950af85590b22b60f9e95443176adbde4e1ecea552"
SRC_URI += "file://migrate-to-pdm-backend.patch"
inherit pypi python_setuptools_build_meta
BBCLASSEXTEND = "native nativesdk"
DEPENDS += " \
python3-pdm-native \
python3-pdm-backend-native \
"
RDEPENDS:${PN} += " \
python3-core \
python3-json \
python3-netclient \
"

View File

@@ -0,0 +1,29 @@
From 0920bd21ceab75bc4b655c571a37835526dd2468 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Wed, 27 Dec 2023 15:12:19 +0100
Subject: [PATCH] versioneer.py: do not use SafeConfigParser
This has been deprecated for a long time, and finally removed in python 3.12
Upstream-Status: Submitted [https://github.com/rsokl/custom_inherit/pull/49]
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
versioneer.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/versioneer.py b/versioneer.py
index 64fea1c..3aa5da3 100644
--- a/versioneer.py
+++ b/versioneer.py
@@ -339,9 +339,9 @@ def get_config_from_root(root):
# configparser.NoOptionError (if it lacks "VCS="). See the docstring at
# the top of versioneer.py for instructions on writing your setup.cfg .
setup_cfg = os.path.join(root, "setup.cfg")
- parser = configparser.SafeConfigParser()
+ parser = configparser.ConfigParser()
with open(setup_cfg, "r") as f:
- parser.readfp(f)
+ parser.read_file(f)
VCS = parser.get("versioneer", "VCS") # mandatory
def get(parser, name):

View File

@@ -0,0 +1,14 @@
DESCRIPTION = "Pamela: yet another Python wrapper for PAM"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=6b706db92112b8384848de3e5c6adaa3"
SRC_URI[sha256sum] = "d4b139fe600e192e176a2a368059207a6bffa0e7879879b13f4fcba0163481be"
PYPI_PACKAGE = "pamela"
inherit pypi setuptools3
RDEPENDS:${PN} = "libpam"
inherit features_check
REQUIRED_DISTRO_FEATURES = "pam"

View File

@@ -0,0 +1,35 @@
SUMMARY = "Python interface for Remember The Milk API"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=a53cbc7cb75660694e138ba973c148df"
PYPI_PACKAGE_EXT = "tar.bz2"
SRC_URI[md5sum] = "7c87da94656b620dfe532ca63d642eb8"
SRC_URI[sha256sum] = "b2d701b25ad3f9a1542057f3eb492c5c1d7dbe2b8d1e8f763043dcc14ee1d933"
inherit pypi setuptools3
PACKAGES =+ "${PN}-tests ${PN}-samples"
FILES:${PN}-samples += " \
${PYTHON_SITEPACKAGES_DIR}/rtm/samples \
"
FILES:${PN}-tests += " \
${PYTHON_SITEPACKAGES_DIR}/rtm/tests \
"
RDEPENDS:${PN} += "\
python3-json \
python3-logging \
python3-netclient \
"
RDEPENDS:${PN}-samples += " \
${PN} \
"
RDEPENDS:${PN}-tests += " \
${PN} \
python3-unittest \
"

View File

@@ -0,0 +1,17 @@
SUMMARY = "Migrations for Django"
DESCRIPTION = "South is an intelligent database migrations library for the Django web framework. It is database-independent and DVCS-friendly, as well as a whole host of other features."
HOMEPAGE = "http://south.aeracode.org/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=17;endline=18;md5=2155d8ae21e7c23101d5febac696b27e"
SRC_URI[md5sum] = "c76a9758b2011bc3b6c39f881bba2f66"
SRC_URI[sha256sum] = "d360bd31898f9df59f6faa786551065bba45b35e7ee3c39b381b4fbfef7392f4"
PYPI_PACKAGE = "South"
inherit pypi
BBCLASSEXTEND = "native nativesdk"
RDEPENDS:${PN} += "\
python3-django \
"

View File

@@ -0,0 +1,33 @@
SUMMARY = "A high-level Python Web framework"
HOMEPAGE = "http://www.djangoproject.com/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa"
PYPI_PACKAGE = "Django"
inherit pypi
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
FILES:${PN} += "${datadir}/django"
BBCLASSEXTEND = "native nativesdk"
RDEPENDS:${PN} += "\
python3-compression \
python3-ctypes \
python3-datetime \
python3-email \
python3-html \
python3-json \
python3-logging \
python3-multiprocessing \
python3-netserver \
python3-numbers \
python3-pkgutil \
python3-pytz \
python3-threading \
python3-unixadmin \
python3-xml \
"
CVE_PRODUCT = "django"

View File

@@ -0,0 +1,14 @@
DESCRIPTION = "An extension that includes Bootstrap in your project, without any boilerplate code."
LICENSE = "Apache-2.0 & MIT & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=a03749709f06118a17349deb5a210619"
SRC_URI[md5sum] = "e40d50f5c5b6438c1c6200a6f2871f81"
SRC_URI[sha256sum] = "cb08ed940183f6343a64e465e83b3a3f13c53e1baabb8d72b5da4545ef123ac8"
PYPI_PACKAGE = "Flask-Bootstrap"
RDEPENDS:${PN} += "\
python3-dominate \
python3-flask \
python3-visitor \
"

View File

@@ -0,0 +1,12 @@
DESCRIPTION = "An extension for the Flask microframework that adds Sijax support."
HOMEPAGE = "https://github.com/spantaleev/flask-sijax"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=266adc7b911b7c84b837bf77196e1ba6"
PYPI_PACKAGE = "Flask-Sijax"
RDEPENDS:${PN} += " \
python3-flask \
python3-sijax \
python3-werkzeug \
"

View File

@@ -0,0 +1,16 @@
DESCRIPTION = "XStatic support for flask"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=659968f6ebd4b70b6c3190d20b4a924c"
SRC_URI[md5sum] = "2f56023e1444c8bd1fec41afe93de743"
SRC_URI[sha256sum] = "226ea8e97065a9488b59bfe5c94af4c6e2ea70a25052e301fb231a1381490133"
FILESEXTRAPATHS:prepend := "${THISDIR}/python-flask-xstatic:"
SRC_URI += "file://remove-pip-requires.patch"
PYPI_PACKAGE = "Flask-XStatic"
RDEPENDS:${PN} += "\
python3-flask \
python3-xstatic \
"

View File

@@ -0,0 +1,9 @@
Upstream-Status: Pending
--- Flask-XStatic-0.0.1/setup.py.orig 2015-01-30 08:01:56.000000000 -0800
+++ Flask-XStatic-0.0.1/setup.py 2017-04-17 21:40:32.570181626 -0700
@@ -1,4 +1,3 @@
-from pip.req import parse_requirements
import setuptools
with open('README.rst') as f:

View File

@@ -0,0 +1,18 @@
SUMMARY = "Pure-python wrapper for libusb-1.0"
HOMEPAGE = "http://github.com/vpelletier/python-libusb1"
AUTHOR = "Vincent Pelletier <plr.vincent@gmail.com>"
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
file://COPYING.LESSER;md5=4fbd65380cdd255951079008b364516c \
"
SRC_URI = "https://github.com/vpelletier/${BPN}/releases/download/${PV}/libusb1-${PV}.tar.gz"
SRC_URI[md5sum] = "7b4f094786d1dfc8d011c7649d8ccb97"
SRC_URI[sha256sum] = "4ee9b0a55f8bd0b3ea7017ae919a6c1f439af742c4a4b04543c5fd7af89b828c"
S = "${WORKDIR}/libusb1-${PV}"
RDEPENDS:${PN} = "libusb1"
inherit setuptools3

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest --automake

View File

@@ -0,0 +1,33 @@
SUMMARY = "Convert WSGI app to ASGI app or ASGI app to WSGI app."
HOMEPAGE = "https://github.com/abersheeran/a2wsgi"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e10d05d29ec6d8be8bfc503683f1bc9a"
inherit pypi python_setuptools_build_meta ptest
SRC_URI[sha256sum] = "50e81ac55aa609fa2c666e42bacc25c424c8884ce6072f1a7e902114b7ee5d63"
DEPENDS += " \
python3-pdm-native \
python3-pdm-backend-native \
"
SRC_URI += " \
file://run-ptest \
"
RDEPENDS:${PN}-ptest += " \
python3-httpx \
python3-pytest \
python3-pytest-asyncio \
python3-unittest-automake-output \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
}
RDEPENDS:${PN} += " \
python3-asyncio \
"

View File

@@ -0,0 +1,13 @@
SUMMARY = "Abseil Python Common Libraries"
HOMEPAGE = "https://github.com/abseil/abseil-py"
SECTION = "devel/python"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI[sha256sum] = "7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff"
PYPI_PACKAGE = "absl-py"
inherit pypi setuptools3
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,14 @@
SUMMARY = "Advanced Enumerations library"
HOMEPAGE = "https://pypi.org/project/aenum/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://aenum/LICENSE;md5=c6a85477543f8b8591b9c1f82abebbe9"
SRC_URI[sha256sum] = "8cbd76cd18c4f870ff39b24284d3ea028fbe8731a58df3aa581e434c575b9559"
inherit pypi setuptools3
RDEPENDS:${PN} += "\
python3-pprint \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,18 @@
SUMMARY = "Simple DNS resolver for asyncio"
DESCRIPTION = "aiodns provides a simple way for doing asynchronous DNS resolutions using pycares."
HOMEPAGE = "https://github.com/saghul/aiodns"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a565d8b5d06b9620968a135a2657b093"
SRC_URI[sha256sum] = "62869b23409349c21b072883ec8998316b234c9a9e36675756e8e317e8768f72"
PYPI_PACKAGE = "aiodns"
inherit pypi setuptools3
RDEPENDS:${PN} += " \
python3-asyncio \
python3-pycares \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,15 @@
SUMMARY = "File support for asyncio"
DESCRIPTION = "Asynchronous local file IO library for asyncio and Python"
HOMEPAGE = "https://github.com/aio-libs/aiohttp"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
SRC_URI[sha256sum] = "84ec2218d8419404abcb9f0c02df3f34c6e0a68ed41072acfb1cef5cbc29051a"
PYPI_PACKAGE = "aiofiles"
inherit pypi python_hatchling
RDEPENDS:${PN} = "\
python3-asyncio \
"

View File

@@ -0,0 +1,12 @@
SUMMARY = "Happy Eyeballs"
DESCRIPTION = "This library exists to allow connecting with Happy Eyeballs when you already have a list of addrinfo and not a DNS name."
HOMEPAGE = "https://github.com/aio-libs/aiohappyeyeballs"
LICENSE = "PSF-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fcf6b249c2641540219a727f35d8d2c2"
SRC_URI[sha256sum] = "77e15a733090547a1f5369a1287ddfc944bd30df0eb8993f585259c34b405f4e"
inherit pypi python_poetry_core
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,13 @@
SUMMARY = "jinja2 template renderer for aiohttp.web (http server for asyncio)"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=29dca541e03964615590ca7b50392d97"
SRC_URI[sha256sum] = "a3a7ff5264e5bca52e8ae547bbfd0761b72495230d438d05b6c0915be619b0e2"
inherit pypi setuptools3
RDEPENDS:${PN} += " \
python3-jinja2 \
python3-aiohttp \
"

View File

@@ -0,0 +1,22 @@
SUMMARY = "Async http client/server framework"
DESCRIPTION = "Asynchronous HTTP client/server framework for asyncio and Python"
HOMEPAGE = "https://github.com/aio-libs/aiohttp"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=748073912af33aa59430d3702aa32d41"
SRC_URI[sha256sum] = "6ff71ede6d9a5a58cfb7b6fffc83ab5d4a63138276c771ac91ceaaddf5459644"
PYPI_PACKAGE = "aiohttp"
inherit python_setuptools_build_meta pypi
RDEPENDS:${PN} = "\
python3-aiohappyeyeballs \
python3-aiosignal \
python3-async-timeout \
python3-attrs \
python3-frozenlist \
python3-misc \
python3-multidict \
python3-yarl \
python3-aiodns \
"

View File

@@ -0,0 +1,16 @@
DESCRIPTION = "Asynchronous library to control Philips Hue"
HOMEPAGE = "https://pypi.org/project/aiohue/"
SECTION = "devel/python"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=dab31a1d28183826937f4b152143a33f"
SRC_URI[sha256sum] = "29b5e5ae05938cac195b1969e70bd6ad4e4e2e105d0e565849803d2a99ff47d1"
inherit pypi python_setuptools_build_meta
RDEPENDS:${PN} += " \
python3-aiohttp \
python3-asyncio-throttle \
python3-profile \
python3-awesomeversion \
"

View File

@@ -0,0 +1,16 @@
SUMMARY = "The library is intended to provide simple and clear interface to Redis based on asyncio."
HOMEPAGE = "https://github.com/aio-libs/aioredis-py"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bf9085f32a671dfa86ee69fe0fff7b95"
SRC_URI[sha256sum] = "eaa51aaf993f2d71f54b70527c440437ba65340588afeb786cd87c55c89cd98e"
PYPI_PACKAGE = "aioredis"
inherit pypi setuptools3
RDEPENDS:${PN} += " \
python3-core (>=3.6) \
python3-async-timeout \
python3-typing-extensions \
"

View File

@@ -0,0 +1,17 @@
DESCRIPTION = "An asynchronous serial port library for Python"
HOMEPAGE = "https://github.com/changyuheng/aioserial.py"
SECTION = "devel/python"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=650b9179efef1ea560df5c08bc32b494"
PYPI_PACKAGE = "aioserial"
SRC_URI[sha256sum] = "702bf03b0eb84b8ef2d8dac5cb925e1e685dce98f77b125569bc6fd2b3b58228"
inherit pypi setuptools3
RDEPENDS:${PN} += " \
python3-asyncio \
python3-pyserial \
"

View File

@@ -0,0 +1,14 @@
SUMMARY = "A list of registered asynchronous callbacks"
HOMEPAGE = "https://github.com/aio-libs/aiosignal"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=cf056e8e7a0a5477451af18b7b5aa98c"
SRC_URI[sha256sum] = "54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"
inherit pypi setuptools3
BBCLASSEXTEND = "native nativesdk"
RDEPENDS:${PN} = "\
python3-frozenlist \
"

View File

@@ -0,0 +1,19 @@
DESCRIPTION = "A database migration tool for SQLAlchemy"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3023b042cb6002cb398344b51c67093"
inherit pypi setuptools3
SRC_URI[sha256sum] = "4932c8558bf68f2ee92b9bbcb8218671c627064d5b08939437af6d77dc05e595"
PYPI_PACKAGE = "alembic"
RDEPENDS:${PN} += "\
python3-dateutil \
python3-editor \
python3-mako \
python3-sqlalchemy \
python3-misc \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,8 @@
DESCRIPTION = "A library for parsing ISO 8601 strings."
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=6d91d56f51a54389d95526eefe039b1c"
SRC_URI[sha256sum] = "72e3117667eedf66951bb2d93f4296a56b94b078a8a95905a052611fb3f1b973"
inherit pypi setuptools3

View File

@@ -0,0 +1,14 @@
SUMMARY = "Reusable constraint types to use with typing.Annotated"
DESCRIPTION = ""
HOMEPAGE = ""
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c6afb13fdc220497ee5cded1e717ed67"
SRC_URI[sha256sum] = "563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"
S = "${WORKDIR}/annotated_types-${PV}"
PYPI_PACKAGE = "annotated_types"
inherit pypi python_hatchling
RDEPENDS:${PN} = "python3-typing-extensions"

View File

@@ -0,0 +1,19 @@
DESCRPTION = "ansi2html - Convert text with ANSI color codes to HTML or to LaTeX"
HOMEPAGE = "https://github.com/ralphbean/ansi2html"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3000208d539ec061b899bce1d9ce9404"
LICENSE = "GPL-3.0-only"
PYPI_PACKAGE = "ansi2html"
SRC_URI[sha256sum] = "5c6837a13ecc1903aab7a545353312049dfedfe5105362ad3a8d9d207871ec71"
inherit pypi python_setuptools_build_meta
DEPENDS += " \
python3-setuptools-scm-native \
"
RDEPENDS:${PN} = " \
python3-six \
python3-compression \
"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest --automake test.py

View File

@@ -0,0 +1,25 @@
DESCRIPTION = "Add ANSI colors and decorations to your strings"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=aef5566ac4fede9815eccf124c281317"
SRC_URI[sha256sum] = "99f94f5e3348a0bcd43c82e5fc4414013ccc19d70bd939ad71e0133ce9c372e0"
PYPI_PACKAGE_EXT = "zip"
inherit pypi setuptools3 ptest
SRC_URI += " \
file://run-ptest \
"
RDEPENDS:${PN}-ptest += " \
python3-pytest \
python3-unittest-automake-output \
"
do_install_ptest() {
cp -f ${S}/test/test.py ${D}${PTEST_PATH}/
}
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,11 @@
SUMMARY = "ANTLR runtime for Python"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=4b18e4a9f93178eaa50a9a37f26da7f7"
SRC_URI[sha256sum] = "3cd282f5ea7cfb841537fe01f143350fdb1c0b1ce7981443a2fa8513fddb6d1a"
PYPI_PACKAGE = "antlr4-python3-runtime"
inherit pypi python_setuptools_build_meta
BBCLASSEXTEND = "nativesdk native"

View File

@@ -0,0 +1,27 @@
SUMMARY = "High level compatibility layer for multiple asynchronous event loop implementations"
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c0a769411d2af7894099e8ff75058c9f"
inherit pypi python_setuptools_build_meta
SRC_URI[sha256sum] = "f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6"
DEPENDS += " \
python3-setuptools-scm-native \
"
# Don't provide "trio" PACKAGECONFIG as nothing provides "python3-trio" currently.
# If somebody needs this please feel free to add python3-trio and enable the
# packageconfig below:
#PACKAGECONFIG ??= ""
#PACKAGECONFIG[trio] = ",,,python3-trio"
RDEPENDS:${PN} += "\
python3-idna \
python3-sniffio \
python3-core \
python3-numbers \
python3-io \
python3-asyncio \
"

View File

@@ -0,0 +1,18 @@
SUMMARY = "APIFlask is a lightweight Python web API framework based on Flask and marshmallow-code projects."
HOMEPAGE = "https://github.com/apiflask/apiflask"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5f89d1b0dec37448d4f4163dc3c40e64"
inherit pypi setuptools3
PYPI_PACKAGE = "APIFlask"
SRC_URI[sha256sum] = "88db5a539cc155e35d9636d99b434d00ca6c0b23e7c87c8321ec9dc980535366"
RDEPENDS:${PN} += "\
python3-flask \
python3-flask-marshmallow \
python3-webargs \
python3-flask-httpauth \
python3-apispec \
"

View File

@@ -0,0 +1,10 @@
SUMMARY = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification)."
HOMEPAGE = "https://github.com/marshmallow-code/apispec"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3d9c303644a2e62578f0347748a80358"
inherit pypi setuptools3
SRC_URI[sha256sum] = "42b8a6833cf154c9dbd22d006b56bf9c49c972d32d24fe716fd734e0f6b739b8"
RDEPENDS:${PN} += "python3-packaging"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest --automake

View File

@@ -0,0 +1,24 @@
SUMMARY = "A small Python module for determining appropriate + platform-specific dirs, e.g. a user data dir."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=31625363c45eb0c67c630a2f73e438e4"
SRC_URI += " \
file://run-ptest \
"
SRC_URI[md5sum] = "d6bca12613174185dd9abc8a29f4f012"
SRC_URI[sha256sum] = "7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"
inherit pypi setuptools3 ptest
RDEPENDS:${PN}-ptest += " \
python3-pytest \
python3-unittest-automake-output \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/test
cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
}
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,14 @@
SUMMARY = "Apply values to optional params"
HOMEPAGE = "https://github.com/bcb/apply_defaults"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c89120516900f96f4c60d35fdc4c3f15"
PYPI_PACKAGE = "apply_defaults"
SRC_URI[sha256sum] = "3773de3491b94c0fe44310f1a85888389cdc71e1544b343bce0d2bd6991acea5"
inherit pypi setuptools3
RDEPENDS:${PN} += "python3-core"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,18 @@
SUMMARY = "Argcomplete provides easy, extensible command line tab completion of arguments for your Python script."
HOMEPAGE = "https://github.com/kislyuk/argcomplete"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=2ee41112a44fe7014dce33e26468ba93"
SRC_URI[sha256sum] = "fd03ff4a5b9e6580569d34b273f741e85cd9e072f3feeeee3eba4891c70eda62"
PYPI_PACKAGE = "argcomplete"
inherit pypi setuptools3
RDEPENDS:${PN} += "\
python3-core \
python3-io \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,16 @@
SUMMARY = "Expose your Python functions to the command line with one easy step!"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=ea70b07c354e36056bd35e17c9c3face"
inherit pypi setuptools3
SRC_URI[md5sum] = "448635948823309312ea9f70b30b6c2d"
SRC_URI[sha256sum] = "61f9ae9322e38ae64996848421afbdb018239a99c4e796fe064f172d6c98c3bf"
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += "\
python3-dynamic-dispatch \
python3-typeguard \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,26 @@
SUMMARY = "An unobtrusive argparse wrapper with natural syntax"
DESCRIPTION = "Building a command-line interface? Found yourself uttering \
'argh!' while struggling with the API of argparse? Don't like the complexity \
but need the power? \
\
Everything should be made as simple as possible, but no simpler. \
\
—Albert Einstein (probably) \
\
Argh is a smart wrapper for argparse. Argparse is a very powerful \
tool; Argh just makes it easy to use."
LICENSE = "LGPL-3.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \
"
SRC_URI[sha256sum] = "db1c34885804f7d4646c385dc2fb19b45298561322f4c15eae1b133993f9e323"
inherit pypi python_flit_core
RDEPENDS:${PN} += " \
python3-argcomplete \
python3-logging \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,17 @@
SUMMARY = "Arpeggio is a recursive descent parser with memoization based on PEG grammars (aka Packrat parser)"
HOMEPAGE = "https://pypi.org/project/Arpeggio/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=33b8d1ba459a2fa4d801acfd1d1b7ceb"
SRC_URI[sha256sum] = "c790b2b06e226d2dd468e4fbfb5b7f506cec66416031fde1441cf1de2a0ba700"
PYPI_PACKAGE = "Arpeggio"
inherit pypi setuptools3
# setup.py of Arpeggio needs this.
DEPENDS += "\
python3-pytest-runner-native \
python3-wheel-native \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest --automake

View File

@@ -0,0 +1,35 @@
SUMMARY = "Better dates and times for Python"
HOMEPAGE = "https://github.com/arrow-py/arrow"
SECTION = "devel/python"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=14a2e29a9d542fb9052d75344d67619d"
SRC_URI[sha256sum] = "d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"
inherit pypi python_flit_core ptest
SRC_URI += " \
file://run-ptest \
"
RDEPENDS:${PN}-ptest += " \
python3-dateutil-zoneinfo \
python3-pytest \
python3-pytest-mock \
python3-pytz \
python3-simplejson \
python3-unittest-automake-output \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
}
RDEPENDS:${PN} += " \
python3-compression \
python3-dateutil \
python3-dateutil-zoneinfo \
python3-json \
python3-types-python-dateutil \
"

View File

@@ -0,0 +1,9 @@
SUMMARY = "Draws ASCII trees."
HOMEPAGE = "http://github.com/mbr/asciitree"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a985ccb0df374f2a8cab75010bf8db73"
SRC_URI[md5sum] = "2570b31e563b69da1aff54509db8ac6a"
SRC_URI[sha256sum] = "4aa4b9b649f85e3fcb343363d97564aa1fb62e249677f2e18a96765145cc0f6e"
inherit pypi setuptools3

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest --automake

View File

@@ -0,0 +1,30 @@
DESCRIPTION = "ASGI is a standard for Python asynchronous web apps and servers to communicate with each other, and positioned as an asynchronous successor to WSGI."
HOMEPAGE = "https://pypi.org/project/asgiref/"
SECTION = "devel/python"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa"
SRC_URI += "file://run-ptest \
"
SRC_URI[sha256sum] = "c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590"
export BUILD_SYS
export HOST_SYS
inherit pypi ptest setuptools3
RDEPENDS:${PN}-ptest += " \
python3-asyncio \
python3-io \
python3-multiprocessing \
python3-pytest \
python3-unittest-automake-output \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
}
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest --automake

View File

@@ -0,0 +1,35 @@
# Copyright (C) 2021 Khem Raj <raj.khem@gmail.com>
# Released under the MIT license (see COPYING.MIT for the terms)
SUMMARY = "An aspect-oriented programming, monkey-patch and decorators library."
DESCRIPTION = " It is useful when changing behavior in existing code is desired. \
It includes tools for debugging and testing: simple mock/record and a complete capture/replay framework."
HOMEPAGE = "https://github.com/ionelmc/python-aspectlib"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=80721ace117fd1f814049ecb81c6be76"
SRC_URI[sha256sum] = "a4b461b9da0b531aebcb93efcde3de808a72c60226dd8d902c467d13faf7ce92"
inherit ptest pypi setuptools3
SRC_URI += "file://run-ptest \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
}
RDEPENDS:${PN}-ptest += "\
python3-process-tests \
python3-pytest \
python3-tornado \
python3-unittest-automake-output \
"
RDEPENDS:${PN} += " \
python3-fields \
python3-logging \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,36 @@
From 1a477968593a14ee9c8597c1ed4e8b61a7731e15 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Wed, 23 Dec 2020 02:23:13 +0000
Subject: [PATCH] rtrip.py: convert to python3
As Python 2 reached end of life (EOL), so convert rtrip.py to python3.
Upstream-Status: Submitted [https://github.com/berkerpeksag/astor/pull/192]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
astor/rtrip.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/astor/rtrip.py b/astor/rtrip.py
index 8b108e7..e2e30a6 100755
--- a/astor/rtrip.py
+++ b/astor/rtrip.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Part of the astor library for Python AST manipulation.
@@ -160,7 +160,7 @@ def usage(msg):
Usage:
- python -m astor.rtrip [readonly] [<source>]
+ python3 -m astor.rtrip [readonly] [<source>]
This utility tests round-tripping of Python source to AST
--
2.26.2

View File

@@ -0,0 +1,16 @@
SUMMARY = "Easy manipulation of Python source via the AST."
HOMEPAGE = "https://github.com/berkerpeksag/astor"
SECTION = "devel/python"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=561205fdabc3ec52cae2d30815b8ade7"
SRC_URI = "git://github.com/berkerpeksag/astor.git;branch=master;protocol=https \
file://0001-rtrip.py-convert-to-python3.patch \
"
SRCREV ?= "c7553c79f9222e20783fe9bd8a553f932e918072"
inherit setuptools3
S = "${WORKDIR}/git"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,37 @@
SUMMARY = "An abstract syntax tree for Python with inference support."
HOMEPAGE = "https://pypi.python.org/pypi/astroid"
SECTION = "devel/python"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a70cf540abf41acb644ac3b621b2fad1"
SRC_URI[sha256sum] = "ac248253bfa4bd924a0de213707e7ebeeb3138abeb48d798784ead1e56d419d4"
inherit pypi python_setuptools_build_meta
DEPENDS += "\
python3-pytest-runner-native \
python3-wheel-native \
"
PACKAGES =+ "${PN}-tests"
FILES:${PN}-tests += " \
${PYTHON_SITEPACKAGES_DIR}/astroid/test* \
${PYTHON_SITEPACKAGES_DIR}/astroid/__pycache__/test* \
"
RDEPENDS:${PN}:class-target += "\
python3-lazy-object-proxy \
python3-logging \
python3-six \
python3-wrapt \
python3-setuptools \
python3-typing-extensions \
"
RDEPENDS:${PN}-tests:class-target += "\
python3-unittest \
python3-xml \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,18 @@
SUMMARY = "The asttokens module annotates Python abstract syntax trees (ASTs)"
HOMEPAGE = "https://github.com/gristlabs/asttokens"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
PYPI_PACKAGE = "asttokens"
inherit pypi python_setuptools_build_meta
SRC_URI[sha256sum] = "b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += " \
python3-six \
"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,18 @@
SUMMARY = "asyncio-compatible timeout context manager"
DESCRIPTION = "\
The context manager is useful in cases when you want to apply \
timeout logic around block of code or in cases when asyncio.wait_for() \
is not suitable. Also it's much faster than asyncio.wait_for() because \
timeout doesn't create a new task."
HOMEPAGE = "https://github.com/aio-libs/async-timeout"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4fa41f15bb5f23b6d3560c5845eb8d57"
SRC_URI[sha256sum] = "4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"
PYPI_PACKAGE = "async-timeout"
inherit pypi python_setuptools_build_meta
RDEPENDS:${PN} = "\
python3-asyncio \
"

View File

@@ -0,0 +1,15 @@
SUMMARY = "A simple optionally-async python inotify library, focused on simplicity of use and operation, and leveraging modern Python features"
HOMEPAGE = "https://gitlab.com/Taywee/asyncinotify"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f75d2927d3c1ed2414ef72048f5ad640"
SRC_URI[sha256sum] = "c03fdb1a7dbb6bed8ede763e4e0ac224a2a3157bdc51e4ba3832588a3c29904d"
inherit pypi python_setuptools_build_meta
RDEPENDS:${PN} += " \
python3-asyncio \
python3-core \
python3-ctypes \
python3-io \
"

View File

@@ -0,0 +1,12 @@
SUMMARY = "An implementation of the Python 3 asyncio event loop on top of GLib"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
inherit setuptools3 pypi features_check
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
SRC_URI[md5sum] = "60153055e76ceaacdfbaeafb03d61dd9"
SRC_URI[sha256sum] = "fe3ceb2ba5f541330c07ca1bd7ae792468d625bad1acf5354a3a7a0b9fd87521"
RDEPENDS:${PN} += "python3-asyncio python3-pygobject"

View File

@@ -0,0 +1,11 @@
DESCRIPTION = "Simple, easy-to-use throttler for asyncio."
HOMEPAGE = "https://github.com/hallazzang/asyncio-throttle"
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c7906e56b70808e1ade6ca05e0bb48d5"
SRC_URI[sha256sum] = "2675282e99d9129ecc446f917e174bc205c65e36c602aa18603b4948567fcbd4"
inherit pypi setuptools3
RDEPENDS:${PN} += "python3-asyncio"

View File

@@ -0,0 +1,8 @@
DESCRIPTION = "Simple decorator to set attributes of target function or class in a DRY way"
HOMEPAGE = "https://github.com/denis-ryzhkov/attr"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=02c113fb406eab0537c0cf4334f57c07"
SRC_URI[sha256sum] = "1ceebca768181cdcce9827611b1d728e592be5d293911539ea3d0b0bfa1146f4"
inherit pypi setuptools3

View File

@@ -0,0 +1,21 @@
DESCRIPTION = "WebSocket client & server library, WAMP real-time framework"
HOMEPAGE = "http://crossbar.io/autobahn"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3e2c2c2cc2915edc5321b0e6b1d3f5f8"
SRC_URI[sha256sum] = "ec9421c52a2103364d1ef0468036e6019ee84f71721e86b36fe19ad6966c1181"
inherit pypi setuptools3
RDEPENDS:${PN} += " \
python3-twisted \
python3-zopeinterface \
python3-py-ubjson \
python3-cbor2 \
python3-u-msgpack-python \
python3-lz4 \
python3-snappy \
python3-pyopenssl \
python3-txaio \
python3-six \
"

View File

@@ -0,0 +1,12 @@
SUMMARY = "Removes unused imports and unused variables"
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=88246be6a34c1496c253f58599f3db85"
SRC_URI[sha256sum] = "62b7b6449a692c3c9b0c916919bbc21648da7281e8506bcf8d3f8280e431ebc1"
inherit pypi python_hatchling
RDEPENDS:${PN} += "python3-pyflakes"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,16 @@
DESCRIPTION = "Self-service finite-state machines for the programmer on the go"
HOMEPAGE = "https://github.com/glyph/Automat"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=4ad213bcca81688e94593e5f60c87477"
SRC_URI[sha256sum] = "e56beb84edad19dcc11d30e8d9b895f75deeb5ef5e96b84a467066b3b84bb04e"
DEPENDS += "python3-setuptools-scm-native"
PYPI_PACKAGE = "Automat"
inherit pypi setuptools3
RDEPENDS:${PN} += "\
python3-attrs \
python3-six \
"

View File

@@ -0,0 +1,11 @@
DESCRIPTION = "One version package to rule them all, One version package to find them, One version package to bring them all, and in the darkness bind them."
HOMEPAGE = "https://pypi.org/project/awesomeversion/"
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENCE.md;md5=92622b5a8e216099be741d78328bae5d"
SRC_URI[sha256sum] = "47a6dcbbe2921b725f75106a66ab30f26f1f33dbc5e07bc8e1e39d8eb921f53c"
RDEPENDS:${PN} += "python3-profile python3-logging"
inherit pypi python_poetry_core

View File

@@ -0,0 +1,29 @@
From 36f8106535150b970c75e8b8456ebc5a7d1dbdb3 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 2 Mar 2022 11:11:01 -0800
Subject: [PATCH] setup.py: Use setuptools instead of distutils
distutils is deprecated and will be gone in 3.12+
Upstream-Status: Submitted [https://github.com/aws/aws-iot-device-sdk-python/pull/305]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.py b/setup.py
index 3846bae..d0c2b8d 100644
--- a/setup.py
+++ b/setup.py
@@ -3,7 +3,7 @@ sys.path.insert(0, 'AWSIoTPythonSDK')
import AWSIoTPythonSDK
currentVersion = AWSIoTPythonSDK.__version__
-from distutils.core import setup
+from setuptools import setup
setup(
name = 'AWSIoTPythonSDK',
packages=['AWSIoTPythonSDK', 'AWSIoTPythonSDK.core',
--
2.35.1

View File

@@ -0,0 +1,44 @@
DESCRIPTION = "SDK for connecting to AWS IoT using Python."
HOMEPAGE = "https://github.com/aws/aws-iot-device-sdk-python"
LICENSE = "Apache-2.0 & (EPL-1.0 | EDL-1.0)"
LICENSE:${PN}-examples = "Apache-2.0"
LIC_FILES_CHKSUM = "\
file://LICENSE.txt;md5=9ac49901b833e769c7d6f21e8dbd7b30 \
file://AWSIoTPythonSDK/core/protocol/paho/client.py;endline=14;md5=5a3c8a1a4bb71bd934f450ecff972ad9 \
"
SRCREV = "0ea1a2d013529839fc1e7448d19dadff25d581b4"
SRC_URI = "git://github.com/aws/aws-iot-device-sdk-python;branch=master;protocol=https \
file://0001-setup.py-Use-setuptools-instead-of-distutils.patch \
"
S = "${WORKDIR}/git"
inherit setuptools3
PYPI_PACKAGE = "AWSIoTPythonSDK"
do_install:append() {
install -d -m0755 ${D}${datadir}/${BPN}/examples
cp --preserve=mode,timestamps -R ${S}/samples/* ${D}${datadir}/${BPN}/examples
# this requires the full blown AWS Python SDK
rm -r ${D}${datadir}/${BPN}/examples/basicPubSub
}
PACKAGES =+ "${PN}-examples"
RDEPENDS:${PN} += " \
python3-crypt \
python3-datetime \
python3-io \
python3-json \
python3-logging \
python3-math \
python3-netclient \
python3-numbers \
python3-threading \
"
RDEPENDS:${PN}-examples += "${PN}"
FILES:${PN}-examples = "${datadir}/${BPN}/examples"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,11 @@
SUMMARY = "Specifications for callback functions passed in to an API"
HOMEPAGE = "https://github.com/takluyver/backcall"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=40e56b724d016484a7f790ec826d3ffc"
PYPI_PACKAGE = "backcall"
SRC_URI[md5sum] = "1f4c9a370c78743406296f48e56e8821"
SRC_URI[sha256sum] = "5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"
inherit pypi python_flit_core

View File

@@ -0,0 +1,19 @@
SUMMARY = "Security oriented static analyser for python code."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658"
SRC_URI[sha256sum] = "36de50f720856ab24a24dbaa5fee2c66050ed97c1477e0a1159deab1775eab6b"
DEPENDS = "python3-pbr-native python3-git python3-pbr python3-pyyaml python3-six python3-stevedore"
inherit setuptools3 pypi
RDEPENDS:${PN} += "\
python3-git \
python3-modules \
python3-pbr \
python3-pyyaml \
python3-rich \
python3-six \
python3-stevedore \
"

View File

@@ -0,0 +1,18 @@
SUMMARY = "Screen-scraping library"
HOMEPAGE = " https://www.crummy.com/software/BeautifulSoup/bs4"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=96e0034f7c9443910c486773aa1ed9ac"
SRC_URI[sha256sum] = "74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"
inherit pypi python_hatchling
RDEPENDS:${PN} = "\
python3-html5lib \
python3-lxml \
python3-soupsieve \
python3-html \
python3-logging \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,18 @@
SUMMARY = "A behavior-driven development framework, Python style"
HOMEPAGE = "https://github.com/behave/behave"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d950439e8ea6ed233e4288f5e1a49c06"
PV .= "+git${SRCREV}"
SRCREV = "9520119376046aeff73804b5f1ea05d87a63f370"
SRC_URI += "git://github.com/behave/behave;branch=master;protocol=https"
S = "${WORKDIR}/git"
inherit setuptools3
RDEPENDS:${PN} += " \
python3-parse-type \
python3-setuptools \
python3-six \
"

View File

@@ -0,0 +1,343 @@
From e5aa66b1af2d49f159c4daefc598f96744ee988d Mon Sep 17 00:00:00 2001
From: Zhixiong Chi <zhixiong.chi@windriver.com>
Date: Thu, 29 Feb 2024 12:31:58 -0800
Subject: [PATCH] [PATCH] Drop ptests fixtures and recorde_modes
The usage of fixture in test_fixtures has been deprecated.
See https://docs.pytest.org/en/stable/explanation/fixtures.html and
https://docs.pytest.org/en/stable/deprecations.html#calling-fixtures-directly
for more information about fixtures.
Meanwhile the test_record_modes relies on httpbin.org which has been sold and
re-sold several times, and it adds X-Amzn-Trace-Id header that can possibly
diff for each request.
It leads to ptest failure, so drop it now until we find the solution.
Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
tests/integration/test_fixtures.py | 60 -----------
tests/integration/test_record_modes.py | 141 -------------------------
tests/unit/test_fixtures.py | 94 -----------------
3 files changed, 295 deletions(-)
delete mode 100644 tests/integration/test_fixtures.py
delete mode 100644 tests/integration/test_record_modes.py
delete mode 100644 tests/unit/test_fixtures.py
diff --git a/tests/integration/test_fixtures.py b/tests/integration/test_fixtures.py
deleted file mode 100644
index fc3d1e7..0000000
--- a/tests/integration/test_fixtures.py
+++ /dev/null
@@ -1,60 +0,0 @@
-import os.path
-
-import pytest
-
-
-@pytest.mark.usefixtures('betamax_session')
-class TestPyTestFixtures:
- @pytest.fixture(autouse=True)
- def setup(self, request):
- """After test hook to assert everything."""
- def finalizer():
- test_dir = os.path.abspath('.')
- cassette_name = ('tests.integration.test_fixtures.' # Module name
- 'TestPyTestFixtures.' # Class name
- 'test_pytest_fixture' # Test function name
- '.json')
- file_name = os.path.join(test_dir, 'tests', 'cassettes',
- cassette_name)
- assert os.path.exists(file_name) is True
-
- request.addfinalizer(finalizer)
-
- def test_pytest_fixture(self, betamax_session):
- """Exercise the fixture itself."""
- resp = betamax_session.get('https://httpbin.org/get')
- assert resp.ok
-
-
-@pytest.mark.usefixtures('betamax_parametrized_session')
-class TestPyTestParametrizedFixtures:
- @pytest.fixture(autouse=True)
- def setup(self, request):
- """After test hook to assert everything."""
- def finalizer():
- test_dir = os.path.abspath('.')
- cassette_name = ('tests.integration.test_fixtures.' # Module name
- 'TestPyTestParametrizedFixtures.' # Class name
- 'test_pytest_fixture' # Test function name
- '[https---httpbin.org-get]' # Parameter
- '.json')
- file_name = os.path.join(test_dir, 'tests', 'cassettes',
- cassette_name)
- assert os.path.exists(file_name) is True
-
- request.addfinalizer(finalizer)
-
- @pytest.mark.parametrize('url', ('https://httpbin.org/get',))
- def test_pytest_fixture(self, betamax_parametrized_session, url):
- """Exercise the fixture itself."""
- resp = betamax_parametrized_session.get(url)
- assert resp.ok
-
-
-@pytest.mark.parametrize('problematic_arg', [r'aaa\bbb', 'ccc:ddd', 'eee*fff'])
-def test_pytest_parametrize_with_filesystem_problematic_chars(
- betamax_parametrized_session, problematic_arg):
- """
- Exercice parametrized args containing characters which might cause
- problems when getting translated into file names. """
- assert True
diff --git a/tests/integration/test_record_modes.py b/tests/integration/test_record_modes.py
deleted file mode 100644
index 988b851..0000000
--- a/tests/integration/test_record_modes.py
+++ /dev/null
@@ -1,141 +0,0 @@
-import re
-
-from betamax import Betamax, BetamaxError
-
-from tests.integration.helper import IntegrationHelper
-
-
-class TestRecordOnce(IntegrationHelper):
- def test_records_new_interaction(self):
- s = self.session
- with Betamax(s).use_cassette('test_record_once') as betamax:
- self.cassette_path = betamax.current_cassette.cassette_path
- assert betamax.current_cassette.is_empty() is True
- r = s.get('http://httpbin.org/get')
- assert r.status_code == 200
- assert betamax.current_cassette.is_empty() is True
- assert betamax.current_cassette.interactions != []
-
- def test_replays_response_from_cassette(self):
- s = self.session
- with Betamax(s).use_cassette('test_replays_response') as betamax:
- self.cassette_path = betamax.current_cassette.cassette_path
- assert betamax.current_cassette.is_empty() is True
- r0 = s.get('http://httpbin.org/get')
- assert r0.status_code == 200
- assert betamax.current_cassette.interactions != []
- assert len(betamax.current_cassette.interactions) == 1
- r1 = s.get('http://httpbin.org/get')
- assert len(betamax.current_cassette.interactions) == 2
- assert r1.status_code == 200
- r0_headers = r0.headers.copy()
- r0_headers.pop('Date')
- r0_headers.pop('Age', None)
- r0_headers.pop('X-Processed-Time', None)
- r1_headers = r1.headers.copy()
- r1_headers.pop('Date')
- r1_headers.pop('Age', None)
- r1_headers.pop('X-Processed-Time', None)
- # NOTE(sigmavirus24): This fails if the second request is
- # technically a second later. Ignoring the Date headers allows
- # this test to succeed.
- # NOTE(hroncok): httpbin.org added X-Processed-Time header that
- # can possibly differ (and often does)
- r0_content = r0.content.decode(encoding='utf-8', errors='strict')
- r1_content = r1.content.decode(encoding='utf-8', errors='strict')
- r0_content = re.sub('"X-Amzn-Trace-Id": "[^"]+"', '"X-Amzn-Trace-Id": ""', r0_content)
- r1_content = re.sub('"X-Amzn-Trace-Id": "[^"]+"', '"X-Amzn-Trace-Id": ""', r1_content)
- # NOTE(jhatler): httpbin.org added "X-Amzn-Trace-Id" to their
- # response, which is a unique ID that will differ between requests.
- # We remove it from the response body before comparing.
- assert r0_headers == r1_headers
- assert r0_content == r1_content
-
-
-class TestRecordNone(IntegrationHelper):
- def test_raises_exception_when_no_interactions_present(self):
- s = self.session
- with Betamax(s) as betamax:
- betamax.use_cassette('test', record='none')
- self.cassette_created = False
- assert betamax.current_cassette is not None
- self.assertRaises(BetamaxError, s.get, 'http://httpbin.org/get')
-
- def test_record_none_does_not_create_cassettes(self):
- s = self.session
- with Betamax(s) as betamax:
- self.assertRaises(ValueError, betamax.use_cassette,
- 'test_record_none', record='none')
- self.cassette_created = False
-
-
-class TestRecordNewEpisodes(IntegrationHelper):
- def setUp(self):
- super(TestRecordNewEpisodes, self).setUp()
- with Betamax(self.session).use_cassette('test_record_new'):
- self.session.get('http://httpbin.org/get')
- self.session.get('http://httpbin.org/redirect/2')
-
- def test_records_new_events_with_existing_cassette(self):
- s = self.session
- opts = {'record': 'new_episodes'}
- with Betamax(s).use_cassette('test_record_new', **opts) as betamax:
- cassette = betamax.current_cassette
- self.cassette_path = cassette.cassette_path
- assert cassette.interactions != []
- assert len(cassette.interactions) == 4
- assert cassette.is_empty() is False
- s.get('https://httpbin.org/get')
- assert len(cassette.interactions) == 5
-
- with Betamax(s).use_cassette('test_record_new') as betamax:
- cassette = betamax.current_cassette
- assert len(cassette.interactions) == 5
- r = s.get('https://httpbin.org/get')
- assert r.status_code == 200
-
-
-class TestRecordNewEpisodesCreatesCassettes(IntegrationHelper):
- def test_creates_new_cassettes(self):
- recorder = Betamax(self.session)
- opts = {'record': 'new_episodes'}
- cassette_name = 'test_record_new_makes_new_cassettes'
- with recorder.use_cassette(cassette_name, **opts) as betamax:
- self.cassette_path = betamax.current_cassette.cassette_path
- self.session.get('https://httpbin.org/get')
-
-
-class TestRecordAll(IntegrationHelper):
- def setUp(self):
- super(TestRecordAll, self).setUp()
- with Betamax(self.session).use_cassette('test_record_all'):
- self.session.get('http://httpbin.org/get')
- self.session.get('http://httpbin.org/redirect/2')
- self.session.get('http://httpbin.org/get')
-
- def test_records_new_interactions(self):
- s = self.session
- opts = {'record': 'all'}
- with Betamax(s).use_cassette('test_record_all', **opts) as betamax:
- cassette = betamax.current_cassette
- self.cassette_path = cassette.cassette_path
- assert cassette.interactions != []
- assert len(cassette.interactions) == 5
- assert cassette.is_empty() is False
- s.post('http://httpbin.org/post', data={'foo': 'bar'})
- assert len(cassette.interactions) == 6
-
- with Betamax(s).use_cassette('test_record_all') as betamax:
- assert len(betamax.current_cassette.interactions) == 6
-
- def test_replaces_old_interactions(self):
- s = self.session
- opts = {'record': 'all'}
- with Betamax(s).use_cassette('test_record_all', **opts) as betamax:
- cassette = betamax.current_cassette
- self.cassette_path = cassette.cassette_path
- assert cassette.interactions != []
- assert len(cassette.interactions) == 5
- assert cassette.is_empty() is False
- s.get('http://httpbin.org/get')
- assert len(cassette.interactions) == 5
diff --git a/tests/unit/test_fixtures.py b/tests/unit/test_fixtures.py
deleted file mode 100644
index 41f33eb..0000000
--- a/tests/unit/test_fixtures.py
+++ /dev/null
@@ -1,94 +0,0 @@
-try:
- import unittest.mock as mock
-except ImportError:
- import mock
-
-import pytest
-import unittest
-
-import requests
-
-import betamax
-from betamax.fixtures import pytest as pytest_fixture
-from betamax.fixtures import unittest as unittest_fixture
-
-
-class TestPyTestFixture(unittest.TestCase):
- def setUp(self):
- self.mocked_betamax = mock.MagicMock()
- self.patched_betamax = mock.patch.object(
- betamax.recorder, 'Betamax', return_value=self.mocked_betamax)
- self.patched_betamax.start()
-
- def tearDown(self):
- self.patched_betamax.stop()
-
- def test_adds_stop_as_a_finalizer(self):
- # Mock a pytest request object
- request = mock.MagicMock()
- request.cls = request.module = None
- request.node.name = request.function.__name__ = 'test'
-
- pytest_fixture._betamax_recorder(request)
- assert request.addfinalizer.called is True
- request.addfinalizer.assert_called_once_with(self.mocked_betamax.stop)
-
- def test_auto_starts_the_recorder(self):
- # Mock a pytest request object
- request = mock.MagicMock()
- request.cls = request.module = None
- request.node.name = request.function.__name__ = 'test'
-
- pytest_fixture._betamax_recorder(request)
- self.mocked_betamax.start.assert_called_once_with()
-
-
-class FakeBetamaxTestCase(unittest_fixture.BetamaxTestCase):
- def test_fake(self):
- pass
-
-
-class TestUnittestFixture(unittest.TestCase):
- def setUp(self):
- self.mocked_betamax = mock.MagicMock()
- self.patched_betamax = mock.patch.object(
- betamax.recorder, 'Betamax', return_value=self.mocked_betamax)
- self.betamax = self.patched_betamax.start()
- self.fixture = FakeBetamaxTestCase(methodName='test_fake')
-
- def tearDown(self):
- self.patched_betamax.stop()
-
- def test_setUp(self):
- self.fixture.setUp()
-
- self.mocked_betamax.use_cassette.assert_called_once_with(
- 'FakeBetamaxTestCase.test_fake'
- )
- self.mocked_betamax.start.assert_called_once_with()
-
- def test_setUp_rejects_arbitrary_session_classes(self):
- self.fixture.SESSION_CLASS = object
-
- with pytest.raises(AssertionError):
- self.fixture.setUp()
-
- def test_setUp_accepts_session_subclasses(self):
- class TestSession(requests.Session):
- pass
-
- self.fixture.SESSION_CLASS = TestSession
-
- self.fixture.setUp()
-
- assert self.betamax.called is True
- call_kwargs = self.betamax.call_args[-1]
- assert isinstance(call_kwargs['session'], TestSession)
-
- def test_tearDown_calls_stop(self):
- recorder = mock.Mock()
- self.fixture.recorder = recorder
-
- self.fixture.tearDown()
-
- recorder.stop.assert_called_once_with()
--
2.44.0

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest --automake

View File

@@ -0,0 +1,27 @@
DESCRIPTION = "VCR imitation for python requests"
HOMEPAGE = "https://github.com/betamaxpy/betamax"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=61c15f0c146c5fb1a8ce8ba2f310d73c"
SRC_URI += " \
file://run-ptest \
file://0001-Drop-ptests-fixtures-and-recorde_modes.patch \
"
SRC_URI[sha256sum] = "82316e1679bc6879e3c83318d016b54b7c9225ff08c4462de4813e22038d5f94"
inherit pypi setuptools3 ptest
RDEPENDS:${PN} += " \
python3-requests \
python3-unittest \
"
RDEPENDS:${PN}-ptest += " \
python3-pytest \
python3-unittest-automake-output \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
}

View File

@@ -0,0 +1,11 @@
SUMMARY = "The bidirectional mapping library for Python."
DESCRIPTION = "The bidirectional mapping library for Python."
HOMEPAGE = "https://bidict.readthedocs.io/"
LICENSE = "MPL-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e907308cc9356afa99ac0eec6b20211b"
SRC_URI[sha256sum] = "3959ca59d4d6997702d642bf1e5fd93cba299863723fc289545198f70c468578"
inherit pypi python_setuptools_build_meta
DEPENDS += "python3-setuptools-scm-native"

View File

@@ -0,0 +1,25 @@
SUMMARY = "Firmware analysis tool"
DESCRIPTION = "This package contains Python Binwalk tool. Binwalk is a fast, \
easy to use tool for analyzing, reverse engineering, and extracting firmware \
images."
HOMEPAGE = "https://github.com/ReFirmLabs/binwalk"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=65bbee055d3ea3bfc475f07aecf4de64"
SRC_URI = "git://github.com/ReFirmLabs/binwalk;protocol=https;branch=master"
SRCREV = "cddfede795971045d99422bd7a9676c8803ec5ee"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
inherit setuptools3
RDEPENDS:${PN} += " \
python3-compression \
python3-logging \
python3-netserver \
python3-setuptools \
python3-stringold \
"

View File

@@ -0,0 +1,11 @@
SUMMARY = "efficient arrays of booleans -- C extension"
DESCRIPTION = "A high-level Python efficient arrays of booleans -- C extension"
HOMEPAGE = "https://github.com/ilanschnell/bitarray"
LICENSE = "PSF-2.0"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=2ad702cdcd49e8d2ac01d7e7d0810d2d"
SRC_URI[sha256sum] = "a8f286a51a32323715d77755ed959f94bef13972e9a2fe71b609e40e6d27957e"
inherit setuptools3 pypi
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,19 @@
SUMMARY = "Simple construction, analysis and modification of binary data."
HOMEPAGE = "https://github.com/scott-griffiths/bitstring"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=661f450e2c0aef39b4b15597333444a7"
SRC_URI[sha256sum] = "94f3f1c45383ebe8fd4a359424ffeb75c2f290760ae8fcac421b44f89ac85213"
PYPI_PACKAGE = "bitstring"
inherit pypi python_poetry_core
RDEPENDS:${PN} = "\
python3-core \
python3-io \
python3-mmap \
python3-numbers \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,13 @@
DESCRIPTION = "This module performs conversions between Python values and C bit field structs represented as Python byte strings."
HOMEPAGE = "https://github.com/eerimoq/bitstruct"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd"
SRC_URI[sha256sum] = "d75ba9dded85c17e885a209a00eb8e248ee40762149f2f2a79360ca857467dac"
PYPI_PACKAGE = "bitstruct"
inherit pypi setuptools3
CLEANBROKEN = "1"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest --automake

View File

@@ -0,0 +1,33 @@
SUMMARY = "Bleak is a GATT client software, capable of connecting to BLE devices acting as GATT servers."
HOMEPAGE = "https://github.com/hbldh/bleak"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=bcbc2069a86cba1b5e47253679f66ed7"
SRCREV = "054b092e19c7a45d5ea07d8948022f54117fe5e8"
PYPI_SRC_URI = "git://github.com/hbldh/bleak.git;protocol=https;branch=develop"
inherit pypi python_poetry_core ptest
S = "${WORKDIR}/git"
SRC_URI += " \
file://run-ptest \
"
RDEPENDS:${PN}-ptest += " \
python3-pytest \
python3-pytest-asyncio \
python3-unittest-automake-output \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
}
RDEPENDS:${PN} += " \
python3-core (>3.7) \
python3-async-timeout \
python3-dbus-fast \
python3-xml \
"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest --automake

View File

@@ -0,0 +1,23 @@
DESCRIPTION = "Fast, simple object-to-object and broadcast signaling."
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=42cd19c88fc13d1307a4efd64ee90e4e"
SRC_URI[sha256sum] = "e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182"
inherit pypi python_setuptools_build_meta ptest
SRC_URI += "file://run-ptest"
RDEPENDS:${PN} += "\
python3-asyncio \
"
RDEPENDS:${PN}-ptest += " \
python3-pytest \
python3-unittest-automake-output \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
}

View File

@@ -0,0 +1,17 @@
SUMMARY = "Brotli compression format"
HOMEPAGE = "https://pypi.org/project/Brotli/"
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=941ee9cd1609382f946352712a319b4b"
PYPI_PACKAGE = "Brotli"
SRC_URI[sha256sum] = "81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724"
inherit pypi setuptools3
RDEPENDS:${PN} = "\
python3-cffi \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,28 @@
SUMMARY = "httplib2 caching for requests"
HOMEPAGE = "https://pypi.org/project/CacheControl/"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=12;endline=12;md5=e2fd6ddcf506e08972d5ba4b93c0022e"
SRC_URI[sha256sum] = "7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938"
inherit pypi python_poetry_core
UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/CacheControl/"
UPSTREAM_CHECK_REGEX = "/CacheControl/(?P<pver>(\d+[\.\-_]*)+)"
RDEPENDS:${PN} += "\
python3-crypt \
python3-datetime \
python3-email \
python3-lockfile \
python3-json \
python3-logging \
python3-msgpack \
python3-netclient \
python3-pickle \
python3-requests \
python3-urllib3 \
python3-mmap \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,12 @@
SUMMARY = "A decorator for caching properties in classes."
DESCRIPTION = "Makes caching of time or computational expensive properties quick and easy."
HOMEPAGE = "https://pypi.org/project/cached-property/"
SECTION = "devel/python"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=db7ff60c4e14f58534201242803d8abc"
SRC_URI[sha256sum] = "9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130"
inherit pypi setuptools3
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest --automake

View File

@@ -0,0 +1,33 @@
SUMMARY = "Extensible memoizing collections and decorators"
HOMEPAGE = "https://github.com/tkem/cachetools"
DESCRIPTION = "This module provides various memoizing \
collections and decorators, including variants of the \
Python 3 Standard Library @lru_cache function decorator."
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=539275e657c6b7af026bb908356f7541"
inherit pypi python_setuptools_build_meta ptest
SRC_URI += " \
file://run-ptest \
"
RDEPENDS:${PN} += " \
python3-math \
"
RDEPENDS:${PN}-ptest += " \
python3-pytest \
python3-unittest-automake-output \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
}
SRC_URI[sha256sum] = "ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,29 @@
SUMMARY = "Controller Area Network (CAN) interface module for Python"
SECTION = "devel/python"
LICENSE = "LGPL-3.0-only"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e6a600fd5e1d9cbde2d983680233ad02"
SRC_URI[sha256sum] = "6ad50f4613289f3c4d276b6d2ac8901d776dcb929994cce93f55a69e858c595f"
PYPI_PACKAGE="python-can"
inherit pypi setuptools3
RDEPENDS:${PN} += " \
python3-aenum \
python3-asyncio \
python3-codecs \
python3-compression \
python3-ctypes \
python3-fcntl \
python3-json \
python3-logging \
python3-misc \
python3-netserver \
python3-packaging \
python3-pkg-resources \
python3-setuptools \
python3-sqlite3 \
python3-typing-extensions \
python3-wrapt \
"

View File

@@ -0,0 +1,24 @@
DESCRIPTION = "CAN BUS tools in Python 3."
HOMEPAGE = "https://github.com/eerimoq/cantools"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d9aa4ec07de78abae21c490c9ffe61bd"
SRC_URI[sha256sum] = "6e8e918b6671a62a9f3990546ece5623e1deb71defb1cef85a9955ac301da99e"
PYPI_PACKAGE = "cantools"
inherit pypi python_poetry_core
DEPENDS += "python3-setuptools-scm-native"
RDEPENDS:${PN} += "\
python3-can \
python3-bitstruct \
python3-core \
python3-textparser \
python3-typing-extensions \
python3-diskcache \
python3-asyncio \
"
CLEANBROKEN = "1"

View File

@@ -0,0 +1,28 @@
SUMMARY = "DataStax Python Driver for Apache Cassandra"
DESCRIPTION = "A modern, feature-rich and highly-tunable Python client \
library for Apache Cassandra (1.2+) and DataStax Enterprise (3.1+) using \
exclusively Cassandra's binary protocol and Cassandra Query Language v3."
HOMEPAGE = "https://github.com/datastax/python-driver"
SECTION = "devel/python"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=2ee41112a44fe7014dce33e26468ba93"
SRCNAME = "cassandra-driver"
SRC_URI[sha256sum] = "38e9c2a2f2a9664bb03f1f852d5fccaeff2163942b5db35dffcf8bf32a51cfe5"
inherit pypi setuptools3
RDEPENDS:${PN} += "\
python3-cython \
python3-geomet \
python3-json \
python3-misc \
python3-multiprocessing \
python3-numbers \
python3-six \
libevent \
"
DEPENDS += "\
python3-cython \
"

View File

@@ -0,0 +1,16 @@
SUMMARY = "YouTube Chromecast API"
HOMEPAGE = "https://github.com/ur1katz/casttube"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d3aafde5479a4102b867156e2527a34e"
SRC_URI[sha256sum] = "54d2af8c7949aa9c5db87fb11ef0a478a5d3e7ac6d2d2ac8dd1711e3a516fc82"
inherit pypi setuptools3
FILES:${PN} += "\
/usr/LICENSE \
"
RDEPENDS:${PN} = "\
python3-requests \
"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest --automake

View File

@@ -0,0 +1,33 @@
DESCRIPTION = "An implementation of RFC 7049 - Concise Binary Object Representation (CBOR)."
DEPENDS +="python3-setuptools-scm-native"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a79e64179819c7ce293372c059f1dbd8"
SRC_URI[sha256sum] = "e6f0ae2751c2d333a960e0807c0611494eb1245631a167965acbc100509455d3"
inherit pypi python_setuptools_build_meta ptest
DEPENDS += "python3-setuptools-scm-native"
SRC_URI += " \
file://run-ptest \
"
RDEPENDS:${PN}-ptest += " \
python3-hypothesis \
python3-pytest \
python3-unittest-automake-output \
python3-unixadmin \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/
}
RDEPENDS:${PN} += " \
python3-datetime \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,12 @@
SUMMARY = "Universal character encoding detector"
HOMEPAGE = "https://github.com/PyYoshi/cChardet"
LICENSE = "MPL-1.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=6ecda54f6f525388d71d6b3cd92f7474"
SRC_URI[sha256sum] = "c428b6336545053c2589f6caf24ea32276c6664cb86db817e03a94c60afa0eaf"
inherit pypi setuptools3
BBCLASSEXTEND = "native nativesdk"
DEPENDS += "python3-cython-native"

View File

@@ -0,0 +1,11 @@
SUMMARY = "Lightweight, extensible schema and data validation tool for Python dictionaries."
HOMEPAGE = "http://docs.python-cerberus.org/"
SECTION = "devel/python"
LICENSE = "ISC"
LIC_FILES_CHKSUM = "file://LICENSE;md5=48f8e9432d0dac5e0e7a18211a0bacdb"
# The PyPI package uses a capital letter so we have to specify this explicitly
PYPI_PACKAGE = "Cerberus"
inherit pypi python_poetry_core
SRC_URI[sha256sum] = "81011e10266ef71b6ec6d50e60171258a5b134d69f8fb387d16e4936d0d47642"

View File

@@ -0,0 +1,17 @@
SUMMARY = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
HOMEPAGE = "https://github.com/ousret/charset_normalizer"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=0974a390827087287db39928f7c524b5"
SRC_URI[sha256sum] = "f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"
inherit pypi setuptools3
RDEPENDS:${PN} += " \
python3-core \
python3-logging \
python3-codecs \
python3-json \
"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,14 @@
SUMMARY = "Python template engine and code generation tool"
HOMEPAGE = "https://cheetahtemplate.org/"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=15e13a4ed0e5880e3e55ec88b0921181"
PYPI_PACKAGE = "Cheetah3"
inherit pypi setuptools3
RDEPENDS:${PN} = "python3-pickle python3-pprint"
RDEPENDS:${PN}:class-native = ""
BBCLASSEXTEND = "native nativesdk"
SRC_URI[sha256sum] = "58b5d84e5fbff6cf8e117414b3ea49ef51654c02ee887d155113c5b91d761967"

View File

@@ -0,0 +1,10 @@
SUMMARY = "Smart, pythonic, ad-hoc, typed polymorphism for Python."
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=155fbcc756c8ae5265d252d23e20908f"
SRC_URI[sha256sum] = "4de4fdd6c5c38607bbd8ad76703d7cc4dbe007cfa78e8ef1f62fc6ac55303e23"
inherit pypi setuptools3
RDEPENDS:${PN} += "python3-typing-extensions"

View File

@@ -0,0 +1,10 @@
SUMMARY = "REPL plugin for Click"
HOMEPAGE = "https://github.com/untitaker/click-repl"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=580facc4832cac548fad94845542da44"
SRC_URI[sha256sum] = "17849c23dba3d667247dc4defe1757fff98694e90fe37474f3feebb69ced26a9"
inherit pypi setuptools3
RDEPENDS:${PN} = "python3-click python3-prompt-toolkit"

View File

@@ -0,0 +1,12 @@
SUMMARY = "Spinner for Click"
HOMEPAGE = "https://github.com/click-contrib/click-spinner"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=8227180126797a0148f94f483f3e1489"
SRC_URI += "file://0001-Update-Versioneer-to-0.22.patch"
SRC_URI[md5sum] = "ab68ed404401421819c81cc6c0677a87"
SRC_URI[sha256sum] = "87eacf9d7298973a25d7615ef57d4782aebf913a532bba4b28a37e366e975daf"
inherit pypi setuptools3
RDEPENDS:${PN} += "python3-json"

Some files were not shown because too many files have changed in this diff Show More