Merge updates from master

This commit is contained in:
Repository mirror & CI
2020-03-09 18:05:57 +00:00
30 changed files with 480 additions and 788 deletions

View File

@@ -1,4 +1,4 @@
# Copyright 2019 Gentoo Authors
# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,4 +17,17 @@ DESCRIPTION="scripting language made for opensurge"
HOMEPAGE="https://alemart.github.io/surgescript"
LICENSE="Apache-2.0"
SLOT="0"
# TODO: build documentation, needs dev-python/mkdocs-material
IUSE="doc"
BDEPEND="doc? (
dev-python/mkdocs
dev-python/mkdocs-material )"
src_compile() {
default
if use doc; then
mkdocs build || die "failed to make docs"
HTML_DOCS="site"
fi
}

View File

@@ -1,4 +1,4 @@
# Copyright 2019 Gentoo Authors
# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,4 +17,17 @@ DESCRIPTION="scripting language made for opensurge"
HOMEPAGE="https://alemart.github.io/surgescript"
LICENSE="Apache-2.0"
SLOT="0"
# TODO: build documentation, needs dev-python/mkdocs-material
IUSE="doc"
BDEPEND="doc? (
dev-python/mkdocs
dev-python/mkdocs-material )"
src_compile() {
default
if use doc; then
mkdocs build || die "failed to make docs"
HTML_DOCS="site"
fi
}

View File

@@ -30,11 +30,11 @@ PATCHES=( "${FILESDIR}/respect-flags.diff" )
CDEPEND="
boehm-gc? ( dev-libs/boehm-gc )
emacs? ( app-editors/emacs:= )
java? ( dev-java/junit )
java? ( dev-java/junit:= )
"
RDEPEND="
${CDEPEND}
java? ( virtual/jre:1.8 )
java? ( virtual/jre:1.8 )
"
DEPEND="
${CDEPEND}

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,7 +18,7 @@ IUSE="gpm libffi opengl X"
DEPEND="
sys-libs/ncurses:=
gpm? ( sys-libs/gpm )
libffi? ( virtual/libffi )
libffi? ( dev-libs/libffi )
opengl? ( virtual/opengl )
X? (
x11-libs/libX11

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,7 +16,7 @@ IUSE="gpm libffi opengl X"
DEPEND="
sys-libs/ncurses:=
gpm? ( sys-libs/gpm )
libffi? ( virtual/libffi )
libffi? ( dev-libs/libffi )
opengl? ( virtual/opengl )
X? (
x11-libs/libX11

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -16,7 +16,7 @@ IUSE="gpm libffi opengl X"
DEPEND="
sys-libs/ncurses:=
gpm? ( sys-libs/gpm )
libffi? ( virtual/libffi )
libffi? ( dev-libs/libffi )
opengl? ( virtual/opengl )
X? (
x11-libs/libX11

View File

@@ -0,0 +1,25 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1
DESCRIPTION="A python library used to interact with Git repositories"
HOMEPAGE="https://github.com/gitpython-developers/GitPython"
SRC_URI="https://github.com/gitpython-developers/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RESTRICT="test" #requires git repository
RDEPEND="dev-python/gitdb2[${PYTHON_USEDEP}]"
BDEPEND="test? ( dev-python/ddt[${PYTHON_USEDEP}] )"
distutils_enable_tests nose
distutils_enable_sphinx doc/source dev-python/sphinx_rtd_theme

View File

@@ -0,0 +1 @@
DIST GitPython-3.1.0.tar.gz 441018 BLAKE2B ccccc6134abc6cf12a8a484f55465ceac52a118e17901f15443aabe4333a917012877fe7ea58b1cbf97fcbd030005e61c782d9f1d19b4d26fa27515b82de1a81 SHA512 29d01a8b3a484fc62521b7f03a75e801d7b98e007652956f73e5532d064992f802cf6f1da2c380b66cfb55a2d0a487b8f28199fd241136a7d74df02f41859c3c

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>andrewammerlaan@riseup.net</email>
<name>Andrew Ammerlaan</name>
</maintainer>
</pkgmetadata>

View File

@@ -1 +1,2 @@
DIST httpx-0.11.1.tar.gz 65974 BLAKE2B fabf6f8e9b48ad3ccc79c72c42ad007819a065d74c8c0d7225550cc2e223626b896b57378ad989c7f04b17e70d1941873addcec2507afefde0801f4eaa6d3f43 SHA512 0203d348739b450fec1f386778136f8591d0177f58eff68d3887348f1e379bfd7da98b87a80b195d023ce17e1442989a52765704be18088166593211a23b84ad
DIST httpx-0.11.1.tar.gz 177579 BLAKE2B a5722e997a79fd9b5c701a862abb4bf70458bf57057d2a9fb9a2dccdbbca2f4f54bf59e91437ed8ff452737a3b01d69dbf4efe3ef03d49e240bc5bf54e51ebea SHA512 4da80a0232092d2423fd95d4549df79d9885e6ce34af0480f1d5a4904c9ca0fdb725b600f603c482179ea3b7c6ee5b584a70b8c0722918ba28f1bcc5c48201ad
DIST httpx-0.12.0.tar.gz 186138 BLAKE2B d350a156e1663a197e2f7ab43531735e08da0d5b68df2d75e8cd2396b82095668318ecc0ca0558736f97f56ad72970ebf36fe34706b3d65e6d59fabd0ba75431 SHA512 a50c6a1686f3224ad906383d6d25cde8006d4514a9d079be06e9c255f4efdc9b1859e5523d39be484c09c930d1cf84feb15374d7d0904a6c1d903b62b7caa9f5

View File

@@ -10,12 +10,15 @@ inherit distutils-r1
DESCRIPTION="A next generation HTTP client for Python"
HOMEPAGE="https://www.python-httpx.org
https://github.com/encode/httpx"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SRC_URI="https://github.com/encode/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE="doc"
REQUIRED_USE="x86? ( !doc )"
RDEPEND="dev-python/certifi[${PYTHON_USEDEP}]
dev-python/chardet[${PYTHON_USEDEP}]
dev-python/hstspreload[${PYTHON_USEDEP}]
@@ -25,3 +28,45 @@ RDEPEND="dev-python/certifi[${PYTHON_USEDEP}]
dev-python/rfc3986[${PYTHON_USEDEP}]
dev-python/sniffio[${PYTHON_USEDEP}]
dev-python/urllib3[${PYTHON_USEDEP}]"
BDEPEND="doc? ( !x86? (
dev-python/mkdocs
dev-python/mkautodoc
dev-python/mkdocs-material ) )"
DEPEND="test? (
dev-python/attrs[${PYTHON_USEDEP}]
dev-python/brotlipy[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/isort[${PYTHON_USEDEP}]
dev-python/flake8[${PYTHON_USEDEP}]
dev-python/mypy[${PYTHON_USEDEP}]
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
dev-python/trio[${PYTHON_USEDEP}]
dev-python/trustme[${PYTHON_USEDEP}]
dev-python/uvicorn[${PYTHON_USEDEP}] )"
distutils_enable_tests pytest
python_prepare_all() {
# do not depend on pytest-cov
sed -i -e '/addopts/d' setup.cfg || die
# requires internet connection
sed -i -e 's:test_start_tls_on_tcp_socket_stream:_&:' \
-e 's:test_start_tls_on_uds_socket_stream:_&:' \
tests/test_concurrency.py || die
sed -i -e 's:test_http2_live_request:_&:' \
tests/dispatch/test_http2.py || die
distutils-r1_python_prepare_all
}
python_compile_all() {
default
if use doc; then
mkdocs build || die "failed to make docs"
HTML_DOCS="site"
fi
}

View File

@@ -0,0 +1,72 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1
DESCRIPTION="A next generation HTTP client for Python"
HOMEPAGE="https://www.python-httpx.org
https://github.com/encode/httpx"
SRC_URI="https://github.com/encode/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE="doc"
REQUIRED_USE="x86? ( !doc )"
RDEPEND="dev-python/certifi[${PYTHON_USEDEP}]
dev-python/chardet[${PYTHON_USEDEP}]
dev-python/hstspreload[${PYTHON_USEDEP}]
dev-python/hyper-h2[${PYTHON_USEDEP}]
dev-python/h11[${PYTHON_USEDEP}]
dev-python/idna[${PYTHON_USEDEP}]
dev-python/rfc3986[${PYTHON_USEDEP}]
dev-python/sniffio[${PYTHON_USEDEP}]
dev-python/urllib3[${PYTHON_USEDEP}]"
BDEPEND="doc? ( !x86? (
dev-python/mkdocs
dev-python/mkautodoc
dev-python/mkdocs-material ) )"
DEPEND="test? (
dev-python/attrs[${PYTHON_USEDEP}]
dev-python/brotlipy[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/isort[${PYTHON_USEDEP}]
dev-python/flake8[${PYTHON_USEDEP}]
dev-python/mypy[${PYTHON_USEDEP}]
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
dev-python/trio[${PYTHON_USEDEP}]
dev-python/trustme[${PYTHON_USEDEP}]
dev-python/uvicorn[${PYTHON_USEDEP}] )"
distutils_enable_tests pytest
python_prepare_all() {
# do not depend on pytest-cov
sed -i -e '/addopts/d' setup.cfg || die
# requires internet connection
sed -i -e 's:test_start_tls_on_tcp_socket_stream:_&:' \
-e 's:test_start_tls_on_uds_socket_stream:_&:' \
tests/test_concurrency.py || die
sed -i -e 's:test_http2_live_request:_&:' \
tests/dispatch/test_http2.py || die
distutils-r1_python_prepare_all
}
python_compile_all() {
default
if use doc; then
mkdocs build || die "failed to make docs"
HTML_DOCS="site"
fi
}

View File

@@ -0,0 +1 @@
DIST mkdocs-git-revision-date-localized-plugin-0.4.6.tar.gz 73632 BLAKE2B 4a8df23409be8e2059fb025a77e20bdf36cdf2696f0b4d86fff3b5157d6836612e8d92ad570ceb5235c70f81219c9405f6efabd33e4d4791377f1ff555729f36 SHA512 c8c5ed30185d4c97d5dd2acfbd2c7b42ccaa679098ff3cc28dfad50c21b53e1c9a72a71928c136e2137416600065ce60afd9a24f7b5f2d08180d52d9b1704cf7

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>andrewammerlaan@riseup.net</email>
<name>Andrew Ammerlaan</name>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1,32 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="Display the localized date of the last git modification of a markdown file"
HOMEPAGE="https://github.com/timvink/mkdocs-git-revision-date-localized-plugin"
SRC_URI="https://github.com/timvink/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT="test" # fails, mkdocs failed
RDEPEND="
>=dev-python/Babel-2.7.0[${PYTHON_USEDEP}]
dev-python/GitPython[${PYTHON_USEDEP}]
dev-python/mkdocs[${PYTHON_USEDEP}]
dev-python/jinja[${PYTHON_USEDEP}]"
DEPEND="
dev-python/click[${PYTHON_USEDEP}]
dev-python/mkdocs-material[${PYTHON_USEDEP}]"
distutils_enable_tests pytest

View File

@@ -0,0 +1 @@
DIST mkdocs-material-4.6.3.tar.gz 687321 BLAKE2B f3ddf33020f215b4eb9a9841372645dfc5a8bdf6f2bd92fe871d61b71b259af27d1f97e1f06c78e044864d9a715544cdf88ca81050e04a7a09b6e9e0cb50dafb SHA512 8d37e85cfe7f1651cec913285b67e1cf68999af0d214ee2f045c0486cb34bd984c0eef56d0b1d84690f8a5a4caffba7a1178154ab1657eecdfaad6fd3130d34d

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>andrewammerlaan@riseup.net</email>
<name>Andrew Ammerlaan</name>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1,22 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_6 )
inherit distutils-r1
DESCRIPTION="A Material Design theme for MkDocs"
HOMEPAGE="https://github.com/squidfunk/mkdocs-material"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
>=dev-python/markdown-3.2[${PYTHON_USEDEP}]
>=dev-python/mkdocs-1.0.1[${PYTHON_USEDEP}]
>=dev-python/pygments-2.4[${PYTHON_USEDEP}]
>=dev-python/pymdown-extensions-6.3[${PYTHON_USEDEP}]"

View File

@@ -0,0 +1 @@
DIST pymdown-extensions-6.3.0.tar.gz 551554 BLAKE2B 718c2d98f077dac38049b458a7430e6e9d13c6516e09990c6e2acc89516ebc9717dd48e5449fd49a0f5fcdfccc55649893a6f857f62fa19edb3db3313aeac773 SHA512 08f679e242205bba9cd98de1ffc492b97c5e568ac5246cfc9a88346240058413a5b532ebd9df45fa6e973dc2d40543fe17460eaf456d88140c426f7f42045384

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>andrewammerlaan@riseup.net</email>
<name>Andrew Ammerlaan</name>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1,40 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1
DESCRIPTION="Extensions for Python Markdown."
HOMEPAGE="https://github.com/facelessuser/pymdown-extensions"
SRC_URI="https://github.com/facelessuser/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# Docs require pymdownx.tabbed which is in master on github atm
# but not in the 6.3.0 release tarballs for some reason
#IUSE="doc"
#REQUIRED_USE="x86? ( !doc )"
#
#BDEPEND="doc? (
# dev-python/mkdocs-material
# dev-python/mkdocs-git-revision-date-localized-plugin )"
RDEPEND=">=dev-python/markdown-3.2[${PYTHON_USEDEP}]"
DEPEND="test? ( dev-python/pyyaml[${PYTHON_USEDEP}] )"
distutils_enable_tests pytest
#python_compile_all() {
# default
# if use doc; then
# mkdocs build || die "failed to make docs"
# HTML_DOCS="site"
# fi
#}

View File

@@ -1,772 +0,0 @@
diff --git a/tests/test_sphinx_autodoc_typehints.py b/tests/test_sphinx_autodoc_typehints.py
index 4287385..75bcf20 100644
--- a/tests/test_sphinx_autodoc_typehints.py
+++ b/tests/test_sphinx_autodoc_typehints.py
@@ -58,142 +58,142 @@ class Metaclass(type):
pass
-@pytest.mark.parametrize('annotation, module, class_name, args', [
- pytest.param(str, 'builtins', 'str', (), id='str'),
- pytest.param(None, 'builtins', 'None', (), id='None'),
- pytest.param(Any, 'typing', 'Any', (), id='Any'),
- pytest.param(AnyStr, 'typing', 'AnyStr', (), id='AnyStr'),
- pytest.param(Dict, 'typing', 'Dict', (), id='Dict'),
- pytest.param(Dict[str, int], 'typing', 'Dict', (str, int), id='Dict_parametrized'),
- pytest.param(Dict[T, int], 'typing', 'Dict', (T, int), id='Dict_typevar'),
- pytest.param(Tuple, 'typing', 'Tuple', (), id='Tuple'),
- pytest.param(Tuple[str, int], 'typing', 'Tuple', (str, int), id='Tuple_parametrized'),
- pytest.param(Union[str, int], 'typing', 'Union', (str, int), id='Union'),
- pytest.param(Callable, 'typing', 'Callable', (), id='Callable'),
- pytest.param(Callable[..., str], 'typing', 'Callable', (..., str), id='Callable_returntype'),
- pytest.param(Callable[[int, str], str], 'typing', 'Callable', (int, str, str),
- id='Callable_all_types'),
- pytest.param(Pattern, 'typing', 'Pattern', (), id='Pattern'),
- pytest.param(Pattern[str], 'typing', 'Pattern', (str,), id='Pattern_parametrized'),
- pytest.param(Match, 'typing', 'Match', (), id='Match'),
- pytest.param(Match[str], 'typing', 'Match', (str,), id='Match_parametrized'),
- pytest.param(IO, 'typing', 'IO', (), id='IO'),
- pytest.param(W, 'typing', 'NewType', (str,), id='W'),
- pytest.param(Metaclass, __name__, 'Metaclass', (), id='Metaclass'),
- pytest.param(Slotted, __name__, 'Slotted', (), id='Slotted'),
- pytest.param(A, __name__, 'A', (), id='A'),
- pytest.param(B, __name__, 'B', (), id='B'),
- pytest.param(C, __name__, 'C', (), id='C'),
- pytest.param(D, __name__, 'D', (), id='D'),
- pytest.param(E, __name__, 'E', (), id='E'),
- pytest.param(E[int], __name__, 'E', (int,), id='E_parametrized'),
- pytest.param(A.Inner, __name__, 'A.Inner', (), id='Inner')
-])
-def test_parse_annotation(annotation, module, class_name, args):
- assert get_annotation_module(annotation) == module
- assert get_annotation_class_name(annotation, module) == class_name
- assert get_annotation_args(annotation, module, class_name) == args
-
-
-@pytest.mark.parametrize('annotation, expected_result', [
- (str, ':py:class:`str`'),
- (int, ':py:class:`int`'),
- (type(None), '``None``'),
- (type, ':py:class:`type`'),
- (Type, ':py:class:`~typing.Type`'),
- (Type[A], ':py:class:`~typing.Type`\\[:py:class:`~%s.A`]' % __name__),
- (Any, ':py:data:`~typing.Any`'),
- (AnyStr, ':py:data:`~typing.AnyStr`'),
- (Generic[T], ':py:class:`~typing.Generic`\\[\\~T]'),
- (Mapping, ':py:class:`~typing.Mapping`'),
- (Mapping[T, int], ':py:class:`~typing.Mapping`\\[\\~T, :py:class:`int`]'),
- (Mapping[str, V], ':py:class:`~typing.Mapping`\\[:py:class:`str`, \\-V]'),
- (Mapping[T, U], ':py:class:`~typing.Mapping`\\[\\~T, \\+U]'),
- (Mapping[str, bool], ':py:class:`~typing.Mapping`\\[:py:class:`str`, '
- ':py:class:`bool`]'),
- (Dict, ':py:class:`~typing.Dict`'),
- (Dict[T, int], ':py:class:`~typing.Dict`\\[\\~T, :py:class:`int`]'),
- (Dict[str, V], ':py:class:`~typing.Dict`\\[:py:class:`str`, \\-V]'),
- (Dict[T, U], ':py:class:`~typing.Dict`\\[\\~T, \\+U]'),
- (Dict[str, bool], ':py:class:`~typing.Dict`\\[:py:class:`str`, '
- ':py:class:`bool`]'),
- (Tuple, ':py:data:`~typing.Tuple`'),
- (Tuple[str, bool], ':py:data:`~typing.Tuple`\\[:py:class:`str`, '
- ':py:class:`bool`]'),
- (Tuple[int, int, int], ':py:data:`~typing.Tuple`\\[:py:class:`int`, '
- ':py:class:`int`, :py:class:`int`]'),
- (Tuple[str, ...], ':py:data:`~typing.Tuple`\\[:py:class:`str`, ...]'),
- (Union, ':py:data:`~typing.Union`'),
- (Union[str, bool], ':py:data:`~typing.Union`\\[:py:class:`str`, '
- ':py:class:`bool`]'),
- pytest.param(Union[str, Any], ':py:data:`~typing.Union`\\[:py:class:`str`, '
- ':py:data:`~typing.Any`]',
- marks=pytest.mark.skipif((3, 5, 0) <= sys.version_info[:3] <= (3, 5, 2),
- reason='Union erases the str on 3.5.0 -> 3.5.2')),
- (Optional[str], ':py:data:`~typing.Optional`\\[:py:class:`str`]'),
- (Callable, ':py:data:`~typing.Callable`'),
- (Callable[..., int], ':py:data:`~typing.Callable`\\[..., :py:class:`int`]'),
- (Callable[[int], int], ':py:data:`~typing.Callable`\\[\\[:py:class:`int`], '
- ':py:class:`int`]'),
- (Callable[[int, str], bool], ':py:data:`~typing.Callable`\\[\\[:py:class:`int`, '
- ':py:class:`str`], :py:class:`bool`]'),
- (Callable[[int, str], None], ':py:data:`~typing.Callable`\\[\\[:py:class:`int`, '
- ':py:class:`str`], ``None``]'),
- (Callable[[T], T], ':py:data:`~typing.Callable`\\[\\[\\~T], \\~T]'),
- (Pattern, ':py:class:`~typing.Pattern`'),
- (Pattern[str], ':py:class:`~typing.Pattern`\\[:py:class:`str`]'),
- (IO, ':py:class:`~typing.IO`'),
- (Metaclass, ':py:class:`~%s.Metaclass`' % __name__),
- (A, ':py:class:`~%s.A`' % __name__),
- (B, ':py:class:`~%s.B`' % __name__),
- (B[int], ':py:class:`~%s.B`\\[:py:class:`int`]' % __name__),
- (C, ':py:class:`~%s.C`' % __name__),
- (D, ':py:class:`~%s.D`' % __name__),
- (E, ':py:class:`~%s.E`' % __name__),
- (E[int], ':py:class:`~%s.E`\\[:py:class:`int`]' % __name__),
- (W, ':py:func:`~typing.NewType`\\(:py:data:`~W`, :py:class:`str`)')
-])
-def test_format_annotation(inv, annotation, expected_result):
- result = format_annotation(annotation)
- assert result == expected_result
-
- # Test with the "fully_qualified" flag turned on
- if 'typing' in expected_result or __name__ in expected_result:
- expected_result = expected_result.replace('~typing', 'typing')
- expected_result = expected_result.replace('~' + __name__, __name__)
- assert format_annotation(annotation, fully_qualified=True) == expected_result
-
- # Test for the correct role (class vs data) using the official Sphinx inventory
- if 'typing' in expected_result:
- m = re.match('^:py:(?P<role>class|data|func):`~(?P<name>[^`]+)`', result)
- assert m, 'No match'
- name = m.group('name')
- expected_role = next((o.role for o in inv.objects if o.name == name), None)
- if expected_role:
- if expected_role == 'function':
- expected_role = 'func'
-
- assert m.group('role') == expected_role
-
-
-@pytest.mark.parametrize('library', [typing, typing_extensions],
- ids=['typing', 'typing_extensions'])
-@pytest.mark.parametrize('annotation, params, expected_result', [
- ('ClassVar', int, ":py:data:`~typing.ClassVar`\\[:py:class:`int`]"),
- ('NoReturn', None, ":py:data:`~typing.NoReturn`"),
- ('Literal', ('a', 1), ":py:data:`~typing.Literal`\\['a', 1]"),
- ('Type', None, ':py:class:`~typing.Type`'),
- ('Type', (A,), ':py:class:`~typing.Type`\\[:py:class:`~%s.A`]' % __name__)
-])
-def test_format_annotation_both_libs(inv, library, annotation, params, expected_result):
- try:
- annotation_cls = getattr(library, annotation)
- except AttributeError:
- pytest.skip('{} not available in the {} module'.format(annotation, library.__name__))
-
- ann = annotation_cls if params is None else annotation_cls[params]
- result = format_annotation(ann)
- assert result == expected_result
+# @pytest.mark.parametrize('annotation, module, class_name, args', [
+# pytest.param(str, 'builtins', 'str', (), id='str'),
+# pytest.param(None, 'builtins', 'None', (), id='None'),
+# pytest.param(Any, 'typing', 'Any', (), id='Any'),
+# pytest.param(AnyStr, 'typing', 'AnyStr', (), id='AnyStr'),
+# pytest.param(Dict, 'typing', 'Dict', (), id='Dict'),
+# pytest.param(Dict[str, int], 'typing', 'Dict', (str, int), id='Dict_parametrized'),
+# pytest.param(Dict[T, int], 'typing', 'Dict', (T, int), id='Dict_typevar'),
+# pytest.param(Tuple, 'typing', 'Tuple', (), id='Tuple'),
+# pytest.param(Tuple[str, int], 'typing', 'Tuple', (str, int), id='Tuple_parametrized'),
+# pytest.param(Union[str, int], 'typing', 'Union', (str, int), id='Union'),
+# pytest.param(Callable, 'typing', 'Callable', (), id='Callable'),
+# pytest.param(Callable[..., str], 'typing', 'Callable', (..., str), id='Callable_returntype'),
+# pytest.param(Callable[[int, str], str], 'typing', 'Callable', (int, str, str),
+# id='Callable_all_types'),
+# pytest.param(Pattern, 'typing', 'Pattern', (), id='Pattern'),
+# pytest.param(Pattern[str], 'typing', 'Pattern', (str,), id='Pattern_parametrized'),
+# pytest.param(Match, 'typing', 'Match', (), id='Match'),
+# pytest.param(Match[str], 'typing', 'Match', (str,), id='Match_parametrized'),
+# pytest.param(IO, 'typing', 'IO', (), id='IO'),
+# pytest.param(W, 'typing', 'NewType', (str,), id='W'),
+# pytest.param(Metaclass, __name__, 'Metaclass', (), id='Metaclass'),
+# pytest.param(Slotted, __name__, 'Slotted', (), id='Slotted'),
+# pytest.param(A, __name__, 'A', (), id='A'),
+# pytest.param(B, __name__, 'B', (), id='B'),
+# pytest.param(C, __name__, 'C', (), id='C'),
+# pytest.param(D, __name__, 'D', (), id='D'),
+# pytest.param(E, __name__, 'E', (), id='E'),
+# pytest.param(E[int], __name__, 'E', (int,), id='E_parametrized'),
+# pytest.param(A.Inner, __name__, 'A.Inner', (), id='Inner')
+# ])
+# def test_parse_annotation(annotation, module, class_name, args):
+# assert get_annotation_module(annotation) == module
+# assert get_annotation_class_name(annotation, module) == class_name
+# assert get_annotation_args(annotation, module, class_name) == args
+
+
+# @pytest.mark.parametrize('annotation, expected_result', [
+# (str, ':py:class:`str`'),
+# (int, ':py:class:`int`'),
+# (type(None), '``None``'),
+# (type, ':py:class:`type`'),
+# (Type, ':py:class:`~typing.Type`'),
+# (Type[A], ':py:class:`~typing.Type`\\[:py:class:`~%s.A`]' % __name__),
+# (Any, ':py:data:`~typing.Any`'),
+# (AnyStr, ':py:data:`~typing.AnyStr`'),
+# (Generic[T], ':py:class:`~typing.Generic`\\[\\~T]'),
+# (Mapping, ':py:class:`~typing.Mapping`'),
+# (Mapping[T, int], ':py:class:`~typing.Mapping`\\[\\~T, :py:class:`int`]'),
+# (Mapping[str, V], ':py:class:`~typing.Mapping`\\[:py:class:`str`, \\-V]'),
+# (Mapping[T, U], ':py:class:`~typing.Mapping`\\[\\~T, \\+U]'),
+# (Mapping[str, bool], ':py:class:`~typing.Mapping`\\[:py:class:`str`, '
+# ':py:class:`bool`]'),
+# (Dict, ':py:class:`~typing.Dict`'),
+# (Dict[T, int], ':py:class:`~typing.Dict`\\[\\~T, :py:class:`int`]'),
+# (Dict[str, V], ':py:class:`~typing.Dict`\\[:py:class:`str`, \\-V]'),
+# (Dict[T, U], ':py:class:`~typing.Dict`\\[\\~T, \\+U]'),
+# (Dict[str, bool], ':py:class:`~typing.Dict`\\[:py:class:`str`, '
+# ':py:class:`bool`]'),
+# (Tuple, ':py:data:`~typing.Tuple`'),
+# (Tuple[str, bool], ':py:data:`~typing.Tuple`\\[:py:class:`str`, '
+# ':py:class:`bool`]'),
+# (Tuple[int, int, int], ':py:data:`~typing.Tuple`\\[:py:class:`int`, '
+# ':py:class:`int`, :py:class:`int`]'),
+# (Tuple[str, ...], ':py:data:`~typing.Tuple`\\[:py:class:`str`, ...]'),
+# (Union, ':py:data:`~typing.Union`'),
+# (Union[str, bool], ':py:data:`~typing.Union`\\[:py:class:`str`, '
+# ':py:class:`bool`]'),
+# pytest.param(Union[str, Any], ':py:data:`~typing.Union`\\[:py:class:`str`, '
+# ':py:data:`~typing.Any`]',
+# marks=pytest.mark.skipif((3, 5, 0) <= sys.version_info[:3] <= (3, 5, 2),
+# reason='Union erases the str on 3.5.0 -> 3.5.2')),
+# (Optional[str], ':py:data:`~typing.Optional`\\[:py:class:`str`]'),
+# (Callable, ':py:data:`~typing.Callable`'),
+# (Callable[..., int], ':py:data:`~typing.Callable`\\[..., :py:class:`int`]'),
+# (Callable[[int], int], ':py:data:`~typing.Callable`\\[\\[:py:class:`int`], '
+# ':py:class:`int`]'),
+# (Callable[[int, str], bool], ':py:data:`~typing.Callable`\\[\\[:py:class:`int`, '
+# ':py:class:`str`], :py:class:`bool`]'),
+# (Callable[[int, str], None], ':py:data:`~typing.Callable`\\[\\[:py:class:`int`, '
+# ':py:class:`str`], ``None``]'),
+# (Callable[[T], T], ':py:data:`~typing.Callable`\\[\\[\\~T], \\~T]'),
+# (Pattern, ':py:class:`~typing.Pattern`'),
+# (Pattern[str], ':py:class:`~typing.Pattern`\\[:py:class:`str`]'),
+# (IO, ':py:class:`~typing.IO`'),
+# (Metaclass, ':py:class:`~%s.Metaclass`' % __name__),
+# (A, ':py:class:`~%s.A`' % __name__),
+# (B, ':py:class:`~%s.B`' % __name__),
+# (B[int], ':py:class:`~%s.B`\\[:py:class:`int`]' % __name__),
+# (C, ':py:class:`~%s.C`' % __name__),
+# (D, ':py:class:`~%s.D`' % __name__),
+# (E, ':py:class:`~%s.E`' % __name__),
+# (E[int], ':py:class:`~%s.E`\\[:py:class:`int`]' % __name__),
+# (W, ':py:func:`~typing.NewType`\\(:py:data:`~W`, :py:class:`str`)')
+# ])
+# def test_format_annotation(inv, annotation, expected_result):
+# result = format_annotation(annotation)
+# assert result == expected_result
+
+# # Test with the "fully_qualified" flag turned on
+# if 'typing' in expected_result or __name__ in expected_result:
+# expected_result = expected_result.replace('~typing', 'typing')
+# expected_result = expected_result.replace('~' + __name__, __name__)
+# assert format_annotation(annotation, fully_qualified=True) == expected_result
+
+# # Test for the correct role (class vs data) using the official Sphinx inventory
+# if 'typing' in expected_result:
+# m = re.match('^:py:(?P<role>class|data|func):`~(?P<name>[^`]+)`', result)
+# assert m, 'No match'
+# name = m.group('name')
+# expected_role = next((o.role for o in inv.objects if o.name == name), None)
+# if expected_role:
+# if expected_role == 'function':
+# expected_role = 'func'
+
+# assert m.group('role') == expected_role
+
+
+# @pytest.mark.parametrize('library', [typing, typing_extensions],
+# ids=['typing', 'typing_extensions'])
+# @pytest.mark.parametrize('annotation, params, expected_result', [
+# ('ClassVar', int, ":py:data:`~typing.ClassVar`\\[:py:class:`int`]"),
+# ('NoReturn', None, ":py:data:`~typing.NoReturn`"),
+# ('Literal', ('a', 1), ":py:data:`~typing.Literal`\\['a', 1]"),
+# ('Type', None, ':py:class:`~typing.Type`'),
+# ('Type', (A,), ':py:class:`~typing.Type`\\[:py:class:`~%s.A`]' % __name__)
+# ])
+# def test_format_annotation_both_libs(inv, library, annotation, params, expected_result):
+# try:
+# annotation_cls = getattr(library, annotation)
+# except AttributeError:
+# pytest.skip('{} not available in the {} module'.format(annotation, library.__name__))
+
+# ann = annotation_cls if params is None else annotation_cls[params]
+# result = format_annotation(ann)
+# assert result == expected_result
def test_process_docstring_slot_wrapper():
@@ -202,304 +202,304 @@ def test_process_docstring_slot_wrapper():
assert not lines
-@pytest.mark.parametrize('always_document_param_types', [True, False])
-@pytest.mark.sphinx('text', testroot='dummy')
-def test_sphinx_output(app, status, warning, always_document_param_types):
- test_path = pathlib.Path(__file__).parent
+# @pytest.mark.parametrize('always_document_param_types', [True, False])
+# @pytest.mark.sphinx('text', testroot='dummy')
+# def test_sphinx_output(app, status, warning, always_document_param_types):
+# test_path = pathlib.Path(__file__).parent
- # Add test directory to sys.path to allow imports of dummy module.
- if str(test_path) not in sys.path:
- sys.path.insert(0, str(test_path))
+# # Add test directory to sys.path to allow imports of dummy module.
+# if str(test_path) not in sys.path:
+# sys.path.insert(0, str(test_path))
- app.config.always_document_param_types = always_document_param_types
- app.config.autodoc_mock_imports = ['mailbox']
- app.build()
+# app.config.always_document_param_types = always_document_param_types
+# app.config.autodoc_mock_imports = ['mailbox']
+# app.build()
- assert 'build succeeded' in status.getvalue() # Build succeeded
+# assert 'build succeeded' in status.getvalue() # Build succeeded
- # There should be a warning about an unresolved forward reference
- warnings = warning.getvalue().strip()
- assert 'Cannot resolve forward reference in type annotations of ' in warnings, warnings
+# # There should be a warning about an unresolved forward reference
+# warnings = warning.getvalue().strip()
+# assert 'Cannot resolve forward reference in type annotations of ' in warnings, warnings
- format_args = {}
- if always_document_param_types:
- format_args['undoc_params'] = '\n\n Parameters:\n **x** ("int") --'
- else:
- format_args['undoc_params'] = ""
+# format_args = {}
+# if always_document_param_types:
+# format_args['undoc_params'] = '\n\n Parameters:\n **x** ("int") --'
+# else:
+# format_args['undoc_params'] = ""
- if sys.version_info < (3, 6):
- format_args['dataclass_docstring'] = ('Initialize self. See help(type(self)) for '
- 'accurate signature.')
- else:
- format_args['dataclass_docstring'] = 'Return type:\n "None"'
+# if sys.version_info < (3, 6):
+# format_args['dataclass_docstring'] = ('Initialize self. See help(type(self)) for '
+# 'accurate signature.')
+# else:
+# format_args['dataclass_docstring'] = 'Return type:\n "None"'
- text_path = pathlib.Path(app.srcdir) / '_build' / 'text' / 'index.txt'
- with text_path.open('r') as f:
- text_contents = f.read().replace('', '--')
- expected_contents = textwrap.dedent('''\
- Dummy Module
- ************
+# text_path = pathlib.Path(app.srcdir) / '_build' / 'text' / 'index.txt'
+# with text_path.open('r') as f:
+# text_contents = f.read().replace('', '--')
+# expected_contents = textwrap.dedent('''\
+# Dummy Module
+# ************
- class dummy_module.Class(x, y, z=None)
+# class dummy_module.Class(x, y, z=None)
- Initializer docstring.
+# Initializer docstring.
- Parameters:
- * **x** ("bool") foo
+# Parameters:
+# * **x** ("bool") foo
- * **y** ("int") bar
+# * **y** ("int") bar
- * **z** ("Optional"["str"]) baz
+# * **z** ("Optional"["str"]) baz
- class InnerClass
+# class InnerClass
- Inner class.
+# Inner class.
- _InnerClass__dunder_inner_method(x)
+# _InnerClass__dunder_inner_method(x)
- Dunder inner method.
+# Dunder inner method.
- Parameters:
- **x** ("bool") -- foo
+# Parameters:
+# **x** ("bool") -- foo
- Return type:
- "str"
+# Return type:
+# "str"
- inner_method(x)
+# inner_method(x)
- Inner method.
+# Inner method.
- Parameters:
- **x** ("bool") -- foo
+# Parameters:
+# **x** ("bool") -- foo
- Return type:
- "str"
+# Return type:
+# "str"
- _Class__dunder_method(x)
+# _Class__dunder_method(x)
- Dunder method docstring.
+# Dunder method docstring.
- Parameters:
- **x** ("str") -- foo
+# Parameters:
+# **x** ("str") -- foo
- Return type:
- "str"
+# Return type:
+# "str"
- __magic_custom_method__(x)
+# __magic_custom_method__(x)
- Magic dunder method docstring.
+# Magic dunder method docstring.
- Parameters:
- **x** ("str") -- foo
+# Parameters:
+# **x** ("str") -- foo
- Return type:
- "str"
+# Return type:
+# "str"
- _private_method(x)
+# _private_method(x)
- Private method docstring.
+# Private method docstring.
- Parameters:
- **x** ("str") -- foo
+# Parameters:
+# **x** ("str") -- foo
- Return type:
- "str"
+# Return type:
+# "str"
- classmethod a_classmethod(x, y, z=None)
+# classmethod a_classmethod(x, y, z=None)
- Classmethod docstring.
+# Classmethod docstring.
- Parameters:
- * **x** ("bool") foo
+# Parameters:
+# * **x** ("bool") foo
- * **y** ("int") bar
+# * **y** ("int") bar
- * **z** ("Optional"["str"]) baz
+# * **z** ("Optional"["str"]) baz
- Return type:
- "str"
+# Return type:
+# "str"
- a_method(x, y, z=None)
+# a_method(x, y, z=None)
- Method docstring.
+# Method docstring.
- Parameters:
- * **x** ("bool") foo
+# Parameters:
+# * **x** ("bool") foo
- * **y** ("int") bar
+# * **y** ("int") bar
- * **z** ("Optional"["str"]) baz
+# * **z** ("Optional"["str"]) baz
- Return type:
- "str"
+# Return type:
+# "str"
- property a_property
+# property a_property
- Property docstring
+# Property docstring
- Return type:
- "str"
+# Return type:
+# "str"
- static a_staticmethod(x, y, z=None)
+# static a_staticmethod(x, y, z=None)
- Staticmethod docstring.
+# Staticmethod docstring.
- Parameters:
- * **x** ("bool") foo
+# Parameters:
+# * **x** ("bool") foo
- * **y** ("int") bar
+# * **y** ("int") bar
- * **z** ("Optional"["str"]) baz
+# * **z** ("Optional"["str"]) baz
- Return type:
- "str"
+# Return type:
+# "str"
- locally_defined_callable_field() -> str
+# locally_defined_callable_field() -> str
- Wrapper
+# Wrapper
- Return type:
- "str"
+# Return type:
+# "str"
- exception dummy_module.DummyException(message)
+# exception dummy_module.DummyException(message)
- Exception docstring
+# Exception docstring
- Parameters:
- **message** ("str") blah
+# Parameters:
+# **message** ("str") blah
- dummy_module.function(x, y, z_=None)
+# dummy_module.function(x, y, z_=None)
- Function docstring.
+# Function docstring.
- Parameters:
- * **x** ("bool") foo
+# Parameters:
+# * **x** ("bool") foo
- * **y** ("int") bar
+# * **y** ("int") bar
- * **z_** ("Optional"["str"]) baz
+# * **z_** ("Optional"["str"]) baz
- Returns:
- something
+# Returns:
+# something
- Return type:
- bytes
+# Return type:
+# bytes
- dummy_module.function_with_escaped_default(x='\\x08')
+# dummy_module.function_with_escaped_default(x='\\x08')
- Function docstring.
+# Function docstring.
- Parameters:
- **x** ("str") foo
+# Parameters:
+# **x** ("str") foo
- dummy_module.function_with_unresolvable_annotation(x)
+# dummy_module.function_with_unresolvable_annotation(x)
- Function docstring.
+# Function docstring.
- Parameters:
- **x** (*a.b.c*) foo
+# Parameters:
+# **x** (*a.b.c*) foo
- dummy_module.function_with_typehint_comment(x, y)
+# dummy_module.function_with_typehint_comment(x, y)
- Function docstring.
+# Function docstring.
- Parameters:
- * **x** ("int") foo
+# Parameters:
+# * **x** ("int") foo
- * **y** ("str") bar
+# * **y** ("str") bar
- Return type:
- "None"
+# Return type:
+# "None"
- class dummy_module.ClassWithTypehints(x)
+# class dummy_module.ClassWithTypehints(x)
- Class docstring.
+# Class docstring.
- Parameters:
- **x** ("int") -- foo
+# Parameters:
+# **x** ("int") -- foo
- foo(x)
+# foo(x)
- Method docstring.
+# Method docstring.
- Parameters:
- **x** ("str") -- foo
+# Parameters:
+# **x** ("str") -- foo
- Return type:
- "int"
+# Return type:
+# "int"
- dummy_module.function_with_typehint_comment_not_inline(x=None, *y, z, **kwargs)
+# dummy_module.function_with_typehint_comment_not_inline(x=None, *y, z, **kwargs)
- Function docstring.
+# Function docstring.
- Parameters:
- * **x** ("Union"["str", "bytes", "None"]) -- foo
+# Parameters:
+# * **x** ("Union"["str", "bytes", "None"]) -- foo
- * **y** ("str") -- bar
+# * **y** ("str") -- bar
- * **z** ("bytes") -- baz
+# * **z** ("bytes") -- baz
- * **kwargs** ("int") -- some kwargs
+# * **kwargs** ("int") -- some kwargs
- Return type:
- "None"
+# Return type:
+# "None"
- class dummy_module.ClassWithTypehintsNotInline(x=None)
+# class dummy_module.ClassWithTypehintsNotInline(x=None)
- Class docstring.
+# Class docstring.
- Parameters:
- **x** ("Optional"["Callable"[["int", "bytes"], "int"]]) -- foo
+# Parameters:
+# **x** ("Optional"["Callable"[["int", "bytes"], "int"]]) -- foo
- foo(x=1)
+# foo(x=1)
- Method docstring.
+# Method docstring.
- Parameters:
- **x** ("Callable"[["int", "bytes"], "int"]) -- foo
+# Parameters:
+# **x** ("Callable"[["int", "bytes"], "int"]) -- foo
- Return type:
- "int"
+# Return type:
+# "int"
- classmethod mk(x=None)
+# classmethod mk(x=None)
- Method docstring.
+# Method docstring.
- Parameters:
- **x** (*Callable**[**[**int**, **bytes**]**, **int**]*) --
- foo
+# Parameters:
+# **x** (*Callable**[**[**int**, **bytes**]**, **int**]*) --
+# foo
- Return type:
- ClassWithTypehintsNotInline
+# Return type:
+# ClassWithTypehintsNotInline
- dummy_module.undocumented_function(x)
+# dummy_module.undocumented_function(x)
- Hi{undoc_params}
+# Hi{undoc_params}
- Return type:
- "str"
+# Return type:
+# "str"
- class dummy_module.DataClass
+# class dummy_module.DataClass
- Class docstring.
+# Class docstring.
- __init__()
+# __init__()
- {dataclass_docstring}
+# {dataclass_docstring}
- @dummy_module.Decorator(func)
+# @dummy_module.Decorator(func)
- Initializer docstring.
+# Initializer docstring.
- Parameters:
- **func** ("Callable"[["int", "str"], "str"]) -- function
+# Parameters:
+# **func** ("Callable"[["int", "str"], "str"]) -- function
- dummy_module.mocked_import(x)
+# dummy_module.mocked_import(x)
- A docstring.
+# A docstring.
- Parameters:
- **x** ("Mailbox") -- function
- ''')
- expected_contents = expected_contents.format(**format_args).replace('', '--')
- assert text_contents == expected_contents
+# Parameters:
+# **x** ("Mailbox") -- function
+# ''')
+# expected_contents = expected_contents.format(**format_args).replace('', '--')
+# assert text_contents == expected_contents

View File

@@ -24,4 +24,16 @@ DEPEND="test? ( dev-python/sphobjinv[${PYTHON_USEDEP}]
distutils_enable_tests pytest
PATCHES="${FILESDIR}/${P}-skip-online-tests.patch"
python_prepare_all() {
# skip these tests
sed -i -e 's:test_parse_annotation:_&:' \
-e 's:test_format_annotation:_&:' \
-e 's:test_format_annotation_both_libs:_&:' \
-e 's:test_sphinx_output:_&:' \
-e 's:test_format_annotation_both_libs:_&:' \
-e 's:test_format_annotation_both_libs:_&:' \
-e 's:test_format_annotation_both_libs:_&:' \
tests/test_sphinx_autodoc_typehints.py || die
distutils-r1_python_prepare_all
}

View File

@@ -0,0 +1 @@
DIST uvicorn-0.11.3.tar.gz 490532 BLAKE2B 521f137ec94906d5fe9411e780551fb3f4a6eb3da2e7e49d67524b380267e1089bd778b5294f4c72e0da270aeddd89e598bb2c79251262fa528da29103eb259b SHA512 c7e5badbd57bf2962fb4ef538072bed8e509ade20ff98856dd88099adeaeb9044b35a547b9f1ade3575c6dbc4564519d69aaeca7dad95a3b463160cdd9a464a9

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>andrewammerlaan@riseup.net</email>
<name>Andrew Ammerlaan</name>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1,57 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="The lightning-fast ASGI server"
HOMEPAGE="https://www.uvicorn.org/
https://github.com/encode/uvicorn"
SRC_URI="https://github.com/encode/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE="doc"
REQUIRED_USE="x86? ( !doc )"
RDEPEND="
dev-python/click[${PYTHON_USEDEP}]
dev-python/h11[${PYTHON_USEDEP}]
>=dev-python/uvloop-0.14.0[${PYTHON_USEDEP}]
dev-python/wsproto[${PYTHON_USEDEP}]"
BDEPEND="doc? ( !x86? (
dev-python/mkdocs
dev-python/mkdocs-material ) )"
DEPEND="test? (
dev-python/isort[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}] )"
distutils_enable_tests pytest
python_prepare_all() {
# these tests fail, likely because wsproto is out of date
rm tests/protocols/test_websocket.py || die
rm tests/protocols/test_http.py || die
# do not install LICENSE to /usr/
sed -i -e '/data_files/d' setup.py || die
distutils-r1_python_prepare_all
}
python_compile_all() {
default
if use doc; then
mkdocs build || die "failed to make docs"
HTML_DOCS="site"
fi
}

View File

@@ -0,0 +1,3 @@
DIST libnbtplusplus-multimc-0.6.1.tar.gz 47171 BLAKE2B e0e4d2593554dc59605114fcae86c59877da67d3f0888145b9ec2fe3d08decec7345a92c7d37310e021b5719f1371a58a22dc796e719028a478877e6d08982ed SHA512 81a1640a069d88df7ba0abf72089aecbe1e9d791c88acaaa7e70c8f0bcd0512cf8698178342657e363524ce8488dd072368a0aa8cc091a24912d6f8b6b0f4f2d
DIST multimc-0.6.8.tar.gz 2378673 BLAKE2B 6117559f3f27256958ebb843596ccdd6e5992b491af8c5a035f3dbf7ea0880c62f9e6513e0dee2550f5fa7d17149d9d082fddad4a87c772c13fb512fd4533bc7 SHA512 b1c0243fc7fe5e0be7a3c2301726bfeab47ccd3727fc8d7c0238ca6ad3672770810024c64822d5fd40350be363f4c31c3cc657d0662e361feefc938fcaa9ca79
DIST quazip-multimc-3.tar.gz 103519 BLAKE2B 7a636f9e76cae61cee42131093b56d2a577814b2eb04bdc3c3a7614cf307bbdabe533c66a9f07848bbd929a62b7043dc53f2f85e2e487bfcc820170112f1114b SHA512 2e9074203c67bc7ad98621c551047e5367f06e54cacfecc755a5bf2c9f99266eab42ad972f86ae28ed7e1507f6d27d8d2680a87ce9fd5b1e93a18bcb627ec3f0

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<upstream>
<remote-id type="github">MultiMC/MultiMC5</remote-id>
<bugs-to>https://github.com/MultiMC/MultiMC5/issues</bugs-to>
</upstream>
<maintainer type="person">
<email>andrewammerlaan@riseup.net</email>
<name>Andrew Ammerlaan</name>
</maintainer>
</pkgmetadata>

View File

@@ -0,0 +1,67 @@
# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit desktop xdg cmake-utils
MY_PN="MultiMC5"
MY_P="${MY_PN}-${PV}"
QUAZIP_VER="multimc-3"
LIBNBTPLUSPLUS_VER="multimc-0.6.1"
DESCRIPTION="An advanced Qt5-based open-source launcher for Minecraft"
HOMEPAGE="https://multimc.org
https://github.com/MultiMC/MultiMC5"
BASE_URI="https://github.com/MultiMC"
SRC_URI="
${BASE_URI}/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
${BASE_URI}/libnbtplusplus/archive/${LIBNBTPLUSPLUS_VER}.tar.gz -> libnbtplusplus-${LIBNBTPLUSPLUS_VER}.tar.gz
${BASE_URI}/quazip/archive/${QUAZIP_VER}.tar.gz -> quazip-${QUAZIP_VER}.tar.gz
"
KEYWORDS="~amd64 ~x86"
LICENSE="Apache-2.0"
SLOT="0"
COMMON_DEPEND="
dev-qt/qtcore:5
dev-qt/qtwidgets:5
dev-qt/qtconcurrent:5
dev-qt/qtnetwork:5
dev-qt/qtgui:5
dev-qt/qttest:5
dev-qt/qtxml:5
"
DEPEND="${COMMON_DEPEND}
>=virtual/jdk-1.8.0
"
RDEPEND="${COMMON_DEPEND}
sys-libs/zlib
>=virtual/jre-1.8.0
virtual/opengl
x11-libs/libXrandr
"
S="${WORKDIR}/${MY_P}"
src_unpack() {
default
rm -rf "${S}/libraries/libnbtplusplus" "${S}/libraries/quazip"
mv "${WORKDIR}/libnbtplusplus-${LIBNBTPLUSPLUS_VER}" "${S}/libraries/libnbtplusplus" || die
mv "${WORKDIR}/quazip-${QUAZIP_VER}" "${S}/libraries/quazip" || die
}
src_configure() {
local mycmakeargs=(
-DMultiMC_LAYOUT=lin-system
)
cmake-utils_src_configure
}
src_install() {
cmake-utils_src_install
domenu application/package/linux/multimc.desktop
doicon -s scalable application/resources/multimc/scalable/multimc.svg
}

View File

@@ -1,4 +1,4 @@
# Copyright 2019 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7