diff options
Diffstat (limited to 'dev-python/automat')
| -rw-r--r-- | dev-python/automat/Manifest | 2 | ||||
| -rw-r--r-- | dev-python/automat/automat-0.8.0-r1.ebuild | 66 | ||||
| -rw-r--r-- | dev-python/automat/automat-20.2.0.ebuild | 66 | ||||
| -rw-r--r-- | dev-python/automat/files/automat-0.8.0-no-setup-py-m2r-import.patch | 27 | ||||
| -rw-r--r-- | dev-python/automat/files/test_visualize-twisted-import-errors.patch | 52 | ||||
| -rw-r--r-- | dev-python/automat/metadata.xml | 22 |
6 files changed, 235 insertions, 0 deletions
diff --git a/dev-python/automat/Manifest b/dev-python/automat/Manifest new file mode 100644 index 000000000000..5ed71454031e --- /dev/null +++ b/dev-python/automat/Manifest @@ -0,0 +1,2 @@ +DIST Automat-0.8.0.tar.gz 59687 BLAKE2B 56e4ec76564d321ca9a709c484077a4003eea2842160e226728aaaa4ec6ebc2486482f79cd919bef7bbec8baeee7a34ca2a11d48665bb36c79c5a45a3c97e992 SHA512 2dbd4e784f65b02a8c93fc5f15236df3649d667a9792f6cac929dbac5d971495bdab4825df0fcd6817b9a9f79b7a5d8cfbdf8e4d18605f0761546b31b3091ad7 +DIST Automat-20.2.0.tar.gz 61679 BLAKE2B 9dfb93a0bf0a348d8f7de0796b3e5715947eb84cc0aa507a453f438d2027ae877280ed6d7896192cee46f31c7d1c0eb6cb3dee36e1f13a315071513920c5b6d0 SHA512 715cb5dc087288492e6465a29e7d8502a84fadf451bc3d29da86335ea1c20f8efd9549f0c1eaac8800559dd8001dd73736c3bfacdc6321c83a35d2288d69632c diff --git a/dev-python/automat/automat-0.8.0-r1.ebuild b/dev-python/automat/automat-0.8.0-r1.ebuild new file mode 100644 index 000000000000..35f0f151aaf2 --- /dev/null +++ b/dev-python/automat/automat-0.8.0-r1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python2_7 python3_{6..9} pypy3 ) +DISTUTILS_USE_SETUPTOOLS=rdepend + +inherit distutils-r1 + +MY_PN="A${PN:1}" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Self-service finite-state machines for the programmer on the go" +HOMEPAGE="https://github.com/glyph/automat https://pypi.org/project/Automat/" +SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux" +IUSE="examples" + +RDEPEND=" + dev-python/attrs[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + dev-python/m2r[${PYTHON_USEDEP}] +" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/automat-0.8.0-no-setup-py-m2r-import.patch" + "${FILESDIR}/test_visualize-twisted-import-errors.patch" +) + +distutils_enable_tests pytest + +python_prepare_all() { + if use test ; then + # Remove since this is upstream benchmarking tests + rm -r benchmark || die "FAILED to remove benchmark tests" + fi + + # avoid a setuptools_scm dependency + sed -r -i "s:use_scm_version=True:version='${PV}': ; + s:[\"']setuptools[_-]scm[\"'](,|)::" setup.py || die + + distutils-r1_python_prepare_all +} + +python_install_all() { + if use examples; then + docinto examples + dodoc docs/examples/*.py + fi + + distutils-r1_python_install_all +} + +pkg_postinst() { + einfo "For additional visualization functionality install both these optional dependencies" + einfo " >=dev-python/twisted-16.1.1" + einfo " media-gfx/graphviz[python]" +} diff --git a/dev-python/automat/automat-20.2.0.ebuild b/dev-python/automat/automat-20.2.0.ebuild new file mode 100644 index 000000000000..dc4053b4c831 --- /dev/null +++ b/dev-python/automat/automat-20.2.0.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python2_7 python3_{6..9} pypy3 ) +DISTUTILS_USE_SETUPTOOLS=rdepend + +inherit distutils-r1 + +MY_PN="A${PN:1}" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Self-service finite-state machines for the programmer on the go" +HOMEPAGE="https://github.com/glyph/automat https://pypi.org/project/Automat/" +SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="examples" + +RDEPEND=" + >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}] + dev-python/six[${PYTHON_USEDEP}] +" +BDEPEND=" + ${RDEPEND} + dev-python/m2r[${PYTHON_USEDEP}] +" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}/automat-0.8.0-no-setup-py-m2r-import.patch" + "${FILESDIR}/test_visualize-twisted-import-errors.patch" +) + +distutils_enable_tests pytest + +python_prepare_all() { + if use test ; then + # Remove since this is upstream benchmarking tests + rm -r benchmark || die "FAILED to remove benchmark tests" + fi + + # avoid a setuptools_scm dependency + sed -r -i "s:use_scm_version=True:version='${PV}': ; + s:[\"']setuptools[_-]scm[\"'](,|)::" setup.py || die + + distutils-r1_python_prepare_all +} + +python_install_all() { + if use examples; then + docinto examples + dodoc docs/examples/*.py + fi + + distutils-r1_python_install_all +} + +pkg_postinst() { + einfo "For additional visualization functionality install both these optional dependencies" + einfo " >=dev-python/twisted-16.1.1" + einfo " media-gfx/graphviz[python]" +} diff --git a/dev-python/automat/files/automat-0.8.0-no-setup-py-m2r-import.patch b/dev-python/automat/files/automat-0.8.0-no-setup-py-m2r-import.patch new file mode 100644 index 000000000000..161b219626da --- /dev/null +++ b/dev-python/automat/files/automat-0.8.0-no-setup-py-m2r-import.patch @@ -0,0 +1,27 @@ +diff --git a/setup.py b/setup.py +index d0dec04..7a85a6e 100644 +--- a/setup.py ++++ b/setup.py +@@ -4,14 +4,6 @@ Setup file for automat + + from setuptools import setup, find_packages + +-try: +- from m2r import parse_from_file +- long_description = parse_from_file('README.md') +-except(IOError, ImportError): +- print("\n\n!!! m2r not found, long_description is bad, don't upload this to PyPI !!!\n\n") +- import io +- long_description = io.open('README.md', encoding="utf-8").read() +- + setup( + name='Automat', + use_scm_version=True, +@@ -19,7 +11,6 @@ setup( + description=""" + Self-service finite-state machines for the programmer on the go. + """.strip(), +- long_description=long_description, + packages=find_packages(exclude=[]), + package_dir={'automat': 'automat'}, + setup_requires=[ diff --git a/dev-python/automat/files/test_visualize-twisted-import-errors.patch b/dev-python/automat/files/test_visualize-twisted-import-errors.patch new file mode 100644 index 000000000000..b3d8938cf7de --- /dev/null +++ b/dev-python/automat/files/test_visualize-twisted-import-errors.patch @@ -0,0 +1,52 @@ +From 9f6312e0c2504c27b72bb228a37ed5ac58776e94 Mon Sep 17 00:00:00 2001 +From: Brian Dolbec <dolsen@gentoo.org> +Date: Wed, 10 Jun 2020 07:31:45 -0700 +Subject: [PATCH] Fix _test_visualize.py twisted import errors + +When graphviz modules are installed but not twisted, this creates test failures +in _discover.py which hard depends on twisted being installed. + +Signed-off-by: Brian Dolbec <dolsen@gentoo.org> +--- + automat/_test/test_visualize.py | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/automat/_test/test_visualize.py b/automat/_test/test_visualize.py +index 987eb3c..142c4bf 100644 +--- a/automat/_test/test_visualize.py ++++ b/automat/_test/test_visualize.py +@@ -62,6 +62,7 @@ def sampleMachine(): + + + @skipIf(not isGraphvizModuleInstalled(), "Graphviz module is not installed.") ++@skipIf(not isTwistedInstalled(), "Twisted is not installed.") + class ElementMakerTests(TestCase): + """ + L{elementMaker} generates HTML representing the specified element. +@@ -134,6 +135,7 @@ def isLeaf(element): + + + @skipIf(not isGraphvizModuleInstalled(), "Graphviz module is not installed.") ++@skipIf(not isTwistedInstalled(), "Twisted is not installed.") + class TableMakerTests(TestCase): + """ + Tests that ensure L{tableMaker} generates HTML tables usable as +@@ -214,6 +216,7 @@ class TableMakerTests(TestCase): + + @skipIf(not isGraphvizModuleInstalled(), "Graphviz module is not installed.") + @skipIf(not isGraphvizInstalled(), "Graphviz tools are not installed.") ++@skipIf(not isTwistedInstalled(), "Twisted is not installed.") + class IntegrationTests(TestCase): + """ + Tests which make sure Graphviz can understand the output produced by +@@ -232,6 +235,7 @@ class IntegrationTests(TestCase): + + + @skipIf(not isGraphvizModuleInstalled(), "Graphviz module is not installed.") ++@skipIf(not isTwistedInstalled(), "Twisted is not installed.") + class SpotChecks(TestCase): + """ + Tests to make sure that the output contains salient features of the machine +-- +libgit2 0.99.0 + diff --git a/dev-python/automat/metadata.xml b/dev-python/automat/metadata.xml new file mode 100644 index 000000000000..8c87ffdaf938 --- /dev/null +++ b/dev-python/automat/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>python@gentoo.org</email> + <name>Python</name> + </maintainer> + <upstream> + <maintainer> + <email>glyph@twistedmatrix.com</email> + <name>Glyph</name> + </maintainer> + <remote-id type="pypi">Automat</remote-id> + <remote-id type="github">glyph/automat</remote-id> + </upstream> + <longdescription> + Automat is a library for concise, idiomatic Python expression of + finite-state automata (particularly deterministic finite-state + transducers). + </longdescription> + <origin>gentoo-staging</origin> +</pkgmetadata> |
