[arch-commits] Commit in python-moto/repos (2 files)

Chih-Hsuan Yen yan12125 at gemini.archlinux.org
Sun Aug 21 14:37:57 UTC 2022


    Date: Sunday, August 21, 2022 @ 14:37:56
  Author: yan12125
Revision: 1272563

archrelease: copy trunk to community-testing-any

Added:
  python-moto/repos/community-testing-any/
  python-moto/repos/community-testing-any/PKGBUILD
    (from rev 1272562, python-moto/trunk/PKGBUILD)

----------+
 PKGBUILD |   84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)

Copied: python-moto/repos/community-testing-any/PKGBUILD (from rev 1272562, python-moto/trunk/PKGBUILD)
===================================================================
--- community-testing-any/PKGBUILD	                        (rev 0)
+++ community-testing-any/PKGBUILD	2022-08-21 14:37:56 UTC (rev 1272563)
@@ -0,0 +1,84 @@
+# Maintainer: Chih-Hsuan Yen <yan12125 at archlinux.org>
+# Contributor: Guillaume Horel <guillaume.horel at gmail.com>
+
+pkgname=python-moto
+_pkgname=moto
+# https://github.com/spulec/moto/blob/master/CHANGELOG.md
+pkgver=4.0.0
+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.py
+# setup.py 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-boto3 python-botocore python-cryptography python-requests python-xmltodict
+         python-werkzeug python-pytz python-dateutil python-responses
+         # Below dependencies varied with Python versions
+         python-jinja python-more-itertools)
+# 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.py`.
+# 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=('742567fa300b9d51cf63f7b1d0524c70b975e85c6a50e3d94346a6984c19d6e0')
+
+prepare() {
+  cd $_pkgname-$pkgver
+
+  # 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\1 at pytest.mark.needs_docker/" \
+      -e "s/^(\s*)(@mock_lambda)$/\1\2\n\1 at pytest.mark.needs_docker/"
+    grep __future__ "%" || sed -i "1i import pytest" "%"
+  '
+
+  # Remove upper bounds of dependencies
+  sed --in-place=.orig -r 's#,?<[0-9.]+,?##;s#==([0-9.]+)#>=\1#' setup.py
+  diff -u setup.py{.orig,} || true
+}
+
+build() {
+  cd $_pkgname-$pkgver
+
+  python setup.py build
+}
+
+check() {
+  cd $_pkgname-$pkgver
+
+  PYTHONDONTWRITEBYTECODE=1 TZ=UTC pytest tests -m 'not needs_docker'
+}
+
+package() {
+  cd $_pkgname-$pkgver
+
+  python setup.py install --root="$pkgdir" --optimize=1 --skip-build
+}



More information about the arch-commits mailing list