summaryrefslogtreecommitdiff
path: root/dev-python/automat
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/automat')
-rw-r--r--dev-python/automat/Manifest2
-rw-r--r--dev-python/automat/automat-0.8.0-r1.ebuild66
-rw-r--r--dev-python/automat/automat-20.2.0.ebuild66
-rw-r--r--dev-python/automat/files/automat-0.8.0-no-setup-py-m2r-import.patch27
-rw-r--r--dev-python/automat/files/test_visualize-twisted-import-errors.patch52
-rw-r--r--dev-python/automat/metadata.xml22
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>