Date: Saturday, March 11, 2023 @ 12:03:50
Author: yan12125
Revision: 1418676
archrelease: copy trunk to community-testing-any
Added:
python-moto/repos/community-testing-any/
python-moto/repos/community-testing-any/PKGBUILD
(from rev 1418675, python-moto/trunk/PKGBUILD)
----------+
PKGBUILD | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 88 insertions(+)
Copied: python-moto/repos/community-testing-any/PKGBUILD (from rev 1418675,
python-moto/trunk/PKGBUILD)
===================================================================
--- community-testing-any/PKGBUILD (rev 0)
+++ community-testing-any/PKGBUILD 2023-03-11 12:03:50 UTC (rev 1418676)
@@ -0,0 +1,88 @@
+# Maintainer: Chih-Hsuan Yen <[email protected]>
+# Contributor: Guillaume Horel <[email protected]>
+
+pkgname=python-moto
+_pkgname=moto
+# https://github.com/spulec/moto/blob/master/CHANGELOG.md
+pkgver=4.1.4
+pkgrel=1
+pkgdesc='Moto is a library to mock out the boto library.'
+arch=(any)
+url='https://github.com/spulec/moto'
+license=(Apache)
+# NOTE: Keep the order of dependencies matching setup.cfg
+# setup.cfg includes setuptools, which is a work around for missing
dependencies in aws-xray-sdk [1].
+# I use the correct dependency in python-aws-xray-sdk, so python-setuptools is
not needed here.
+# [1] https://github.com/spulec/moto/pull/4142
+depends=(python python-boto3 python-botocore python-cryptography
python-requests python-xmltodict
+ python-werkzeug python-dateutil python-responses
+ python-jinja
+ # urllib3 is used by cfnresponse.py, not directly by moto - just to
make namcap happy
+ python-urllib3)
+makedepends=(python-build python-installer python-setuptools python-wheel)
+# See reqquirements-test.txt, excluding pytest-cov
+checkdepends=(python-pytest python-sure python-freezegun)
+# Below are optional dependencies. The order matches _dep_* items in upstream
`setup.cfg`.
+# Note that _dep_python_jose_ecdsa_pin and _dep_idna are excluded as they are
pins and
+# not used by moto.
+optdepends=(
+ 'python-yaml: for apigatewayv2, cloudformation, s3 and ssm'
+ 'python-jose: for apigateway, cloudformation and cognitoidp'
+ 'python-openapi-spec-validator: for apigateway and cloudformation'
+ # SNS and SQS still uses docker indirectly, while upstream explicitly
removes them
+ # https://github.com/spulec/moto/pull/4094
+ 'python-docker: for awslambda, batch, cloudformation, dynamodb2 and
dynamodbstreams'
+ 'python-graphql-core: For appsync and cloudformation'
+ 'python-jsondiff: for iotdata and cloudformation'
+ 'python-aws-xray-sdk: for xray and cloudformation'
+ 'python-cfn-lint: for cloudformation'
+ 'python-sshpubkeys: for ec2, ebs, efs, directoryservice and cloudformation'
+ 'python-pyparsing: for glue and cloudformation'
+ 'python-flask: for moto_server'
+ 'python-flask-cors: for moto_server'
+)
+checkdepends+=(python-yaml python-jose python-openapi-spec-validator
python-docker
+ python-graphql-core python-jsondiff python-aws-xray-sdk
+ python-cfn-lint python-sshpubkeys python-pyparsing python-flask
python-flask-cors)
+source=("https://files.pythonhosted.org/packages/source/m/moto/moto-${pkgver}.tar.gz")
+sha256sums=('304cb19eee0019cd13f7d87ca590a4694677469c383ab8f8439fcb6717c47037')
+
+prepare() {
+ cd $_pkgname-$pkgver
+
+ cp setup.cfg{,.orig}
+
+ # AWS Lambda and Batch tests require docker/podman, while running
docker/podman
+ # in systemd-nspawn containers appears impossible without special
configurations -
+ # disable them altogether
+ sed -i '/markers\s*=/a \ \ \ \ needs_docker: marks test which require
docker' setup.cfg
+ find tests \( -name '*.py' -a ! -name __init__.py \) -print0 | xargs -I % -0
bash -c '
+ sed -i -E "%" \
+ -e "/__future__/a import pytest" \
+ -e "s/^(\s*)(@mock_batch)$/\1\2\n\[email protected]_docker/" \
+ -e "s/^(\s*)(@mock_lambda)$/\1\2\n\[email protected]_docker/"
+ grep __future__ "%" || sed -i "1i import pytest" "%"
+ '
+
+ # Remove upper bounds of dependencies
+ sed -i -r 's#,?<[0-9.]+,?##;s#==([0-9.]+)#>=\1#' setup.cfg
+ diff -u setup.cfg{.orig,} || true
+}
+
+build() {
+ cd $_pkgname-$pkgver
+
+ python -m build --wheel --no-isolation
+}
+
+check() {
+ cd $_pkgname-$pkgver
+
+ PYTHONDONTWRITEBYTECODE=1 TZ=UTC pytest tests -m 'not needs_docker'
+}
+
+package() {
+ cd $_pkgname-$pkgver
+
+ python -m installer --destdir="$pkgdir" dist/*.whl
+}