diff options
| author | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
|---|---|---|
| committer | Palica <palica+gitlab@liguros.net> | 2020-06-23 22:35:08 +0200 |
| commit | ecdac123787b96ce6649f0f91da12ea6458cc2b1 (patch) | |
| tree | b89c74d9e6fe6e8aebc4c77bcbeb4ab73214127d /dev-python/feedparser | |
| parent | 1be72aa41cf41dedadeecf59dca9f01de6381f5e (diff) | |
| download | baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.gz baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.tar.xz baldeagleos-repo-ecdac123787b96ce6649f0f91da12ea6458cc2b1.zip | |
Updating liguros repo
Diffstat (limited to 'dev-python/feedparser')
| -rw-r--r-- | dev-python/feedparser/Manifest | 2 | ||||
| -rw-r--r-- | dev-python/feedparser/feedparser-5.2.1.ebuild | 43 | ||||
| -rw-r--r-- | dev-python/feedparser/feedparser-6.0.0_beta1.ebuild | 41 | ||||
| -rw-r--r-- | dev-python/feedparser/files/feedparser-5.2.1-sgmllib.patch | 78 | ||||
| -rw-r--r-- | dev-python/feedparser/files/feedparser-6.0.0_beta1-py39.patch | 89 | ||||
| -rw-r--r-- | dev-python/feedparser/metadata.xml | 14 |
6 files changed, 267 insertions, 0 deletions
diff --git a/dev-python/feedparser/Manifest b/dev-python/feedparser/Manifest new file mode 100644 index 000000000000..81802883ee53 --- /dev/null +++ b/dev-python/feedparser/Manifest @@ -0,0 +1,2 @@ +DIST feedparser-5.2.1.tar.gz 252956 BLAKE2B 182ebefa8a44276e758f277c203c28b274c580b667b039e4fc6ed9bd059b15e35e775e9efb784a97d712dc57e7b176ff91d6e094ddd225735f4315ffa770ae83 SHA512 1fd0c4324e2eff8ef4b15e3793c767290bca562af4a5056fdbdfa12411095530c87a113bb1b9757e532ff63aecb399b18f1e6b753884798eb6b8d3fdf575af81 +DIST feedparser-6.0.0b1.tar.gz 250065 BLAKE2B 54e955f011af0755e0f627caa1491be15a073984d5c7c2b4edd6e9dcd6054e19b5c77cea9741d0bf7af151f9c79b22739c12db94619373f195e024df65b1cff1 SHA512 580e02bd77dcba547eb8295f958c6d30e55c62bd7fdbe25eda7687d0654b9342edf82ab637902175fc90b86a8ae9cbae8ba2c7c9a83009d25ab5c007c37cf02d diff --git a/dev-python/feedparser/feedparser-5.2.1.ebuild b/dev-python/feedparser/feedparser-5.2.1.ebuild new file mode 100644 index 000000000000..372a7e8bf7d0 --- /dev/null +++ b/dev-python/feedparser/feedparser-5.2.1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 python3_{6,7,8} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Parse RSS and Atom feeds in Python" +HOMEPAGE="https://github.com/kurtmckee/feedparser https://pypi.org/project/feedparser/" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +# sgmllib is licensed under PSF-2. +LICENSE="BSD-2 PSF-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~x86-solaris" +IUSE="" + +DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]" +RDEPEND="" + +# Tests have issues with chardet installed, and are just kind of buggy. +RESTRICT="test" + +PATCHES=( + "${FILESDIR}/${P}-sgmllib.patch" +) + +python_prepare_all() { + mv feedparser/sgmllib3.py feedparser/_feedparser_sgmllib.py || die + distutils-r1_python_prepare_all +} + +python_test() { + cp feedparser/feedparsertest.py "${BUILD_DIR}" || die + ln -s "${S}/feedparser/tests" "${BUILD_DIR}/tests" || die + cd "${BUILD_DIR}" || die + if [[ ${EPYTHON} == python3* ]]; then + 2to3 --no-diffs -w -n feedparsertest.py || die + fi + "${PYTHON}" feedparsertest.py || die "Testing failed with ${EPYTHON}" +} diff --git a/dev-python/feedparser/feedparser-6.0.0_beta1.ebuild b/dev-python/feedparser/feedparser-6.0.0_beta1.ebuild new file mode 100644 index 000000000000..1b027df23193 --- /dev/null +++ b/dev-python/feedparser/feedparser-6.0.0_beta1.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6..9} pypy3 ) + +inherit distutils-r1 + +MY_PV=${PV/_beta/b} +MY_P=${PN}-${MY_PV} +DESCRIPTION="Parse RSS and Atom feeds in Python" +HOMEPAGE="https://github.com/kurtmckee/feedparser https://pypi.org/project/feedparser/" +SRC_URI=" + https://github.com/kurtmckee/feedparser/archive/${MY_PV}.tar.gz + -> ${MY_P}.tar.gz" +S=${WORKDIR}/${MY_P} + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris" + +RDEPEND="dev-python/sgmllib3k[${PYTHON_USEDEP}]" + +distutils_enable_tests unittest + +PATCHES=( + "${FILESDIR}"/${P}-py39.patch +) + +src_prepare() { + # broken + rm \ + tests/illformed/chardet/big5.xml \ + tests/illformed/undeclared_namespace.xml || die + distutils-r1_src_prepare +} + +python_test() { + "${EPYTHON}" tests/runtests.py || die +} diff --git a/dev-python/feedparser/files/feedparser-5.2.1-sgmllib.patch b/dev-python/feedparser/files/feedparser-5.2.1-sgmllib.patch new file mode 100644 index 000000000000..714480560e52 --- /dev/null +++ b/dev-python/feedparser/files/feedparser-5.2.1-sgmllib.patch @@ -0,0 +1,78 @@ +From 812793c07d3202d3f5bc39091aec2e7071d000c8 Mon Sep 17 00:00:00 2001 +From: Sebastian Pipping <sebastian@pipping.org> +Date: Sun, 1 Jan 2012 19:30:57 +0100 +Subject: [PATCH] Use shipped sgmllib for Python 3.x + +--- + feedparser/feedparser.py | 19 +++---------------- + setup.py | 2 +- + 2 files changed, 4 insertions(+), 17 deletions(-) + +diff --git a/feedparser/feedparser.py b/feedparser/feedparser.py +index 8275c29..9a8a053 100644 +--- a/feedparser/feedparser.py ++++ b/feedparser/feedparser.py +@@ -204,17 +204,9 @@ else: + try: + import sgmllib + except ImportError: +- # This is probably Python 3, which doesn't include sgmllib anymore +- _SGML_AVAILABLE = 0 ++ import _feedparser_sgmllib as sgmllib + +- # Mock sgmllib enough to allow subclassing later on +- class sgmllib(object): +- class SGMLParser(object): +- def goahead(self, i): +- pass +- def parse_starttag(self, i): +- pass +-else: ++if True: + _SGML_AVAILABLE = 1 + + # sgmllib defines a number of module-level regular expressions that are +@@ -2520,9 +2512,6 @@ class _RelativeURIResolver(_BaseHTMLProcessor): + _BaseHTMLProcessor.unknown_starttag(self, tag, attrs) + + def _resolveRelativeURIs(htmlSource, baseURI, encoding, _type): +- if not _SGML_AVAILABLE: +- return htmlSource +- + p = _RelativeURIResolver(baseURI, encoding, _type) + p.feed(htmlSource) + return p.output() +@@ -2803,8 +2792,6 @@ class _HTMLSanitizer(_BaseHTMLProcessor): + + + def _sanitizeHTML(htmlSource, encoding, _type): +- if not _SGML_AVAILABLE: +- return htmlSource + p = _HTMLSanitizer(encoding, _type) + htmlSource = htmlSource.replace('<![CDATA[', '<![CDATA[') + p.feed(htmlSource) +@@ -3890,7 +3877,7 @@ def parse(url_file_stream_or_string, etag=None, modified=None, agent=None, refer + result['bozo'] = 1 + result['bozo_exception'] = feedparser.exc or e + use_strict_parser = 0 +- if not use_strict_parser and _SGML_AVAILABLE: ++ if not use_strict_parser: + feedparser = _LooseFeedParser(baseuri, baselang, 'utf-8', entities) + feedparser.feed(data.decode('utf-8', 'replace')) + result['feed'] = feedparser.feeddata +diff --git a/setup.py b/setup.py +index a4a60fe..8c15451 100644 +--- a/setup.py ++++ b/setup.py +@@ -16,7 +16,7 @@ setup( + download_url = 'https://pypi.python.org/pypi/feedparser', + platforms = ['POSIX', 'Windows'], + package_dir = {'': 'feedparser'}, +- py_modules = ['feedparser'], ++ py_modules = ['feedparser', '_feedparser_sgmllib'], + keywords = ['atom', 'cdf', 'feed', 'parser', 'rdf', 'rss'], + classifiers = [ + 'Development Status :: 5 - Production/Stable', +-- +1.7.8.1 + diff --git a/dev-python/feedparser/files/feedparser-6.0.0_beta1-py39.patch b/dev-python/feedparser/files/feedparser-6.0.0_beta1-py39.patch new file mode 100644 index 000000000000..f9315e47809c --- /dev/null +++ b/dev-python/feedparser/files/feedparser-6.0.0_beta1-py39.patch @@ -0,0 +1,89 @@ +From fa587d171aed1b44ee06af271d718ab6fa73b77a Mon Sep 17 00:00:00 2001 +From: Karthikeyan Singaravelan <tir.karthi@gmail.com> +Date: Wed, 26 Feb 2020 22:06:39 +0530 +Subject: [PATCH 1/2] Use encodebytes instead of encodestring in Python 3.9. + +--- + feedparser/http.py | 5 ++++- + feedparser/mixin.py | 5 ++++- + 2 files changed, 8 insertions(+), 2 deletions(-) + +diff --git a/feedparser/http.py b/feedparser/http.py +index 272faad6..53511f02 100644 +--- a/feedparser/http.py ++++ b/feedparser/http.py +@@ -73,7 +73,10 @@ class request(object): + + # Python 3.1 deprecated decodestring in favor of decodebytes. + # This can be removed after Python 2.7 support is dropped. +-_base64decode = getattr(base64, 'decodebytes', base64.decodestring) ++try: ++ _base64decode = base64.decodebytes ++except AttributeError: ++ _base64decode = base64.decodestring + + try: + basestring +diff --git a/feedparser/mixin.py b/feedparser/mixin.py +index 1b0dc1ae..549931f5 100644 +--- a/feedparser/mixin.py ++++ b/feedparser/mixin.py +@@ -50,7 +50,10 @@ + + # Python 2.7 only offers "decodestring()". + # This name substitution can be removed when Python 2.7 support is dropped. +-_base64decode = getattr(base64, 'decodebytes', base64.decodestring) ++try: ++ _base64decode = base64.decodebytes ++except AttributeError: ++ _base64decode = base64.decodestring + + + bytes_ = type(b'') + +From 7798957b66c9cee00db9a18f84c518cacf8f14aa Mon Sep 17 00:00:00 2001 +From: Karthikeyan Singaravelan <tir.karthi@gmail.com> +Date: Sun, 17 May 2020 14:25:17 +0000 +Subject: [PATCH 2/2] Use base64.decodebytes only in Python 3 + +--- + feedparser/http.py | 7 +------ + feedparser/mixin.py | 7 +------ + 2 files changed, 2 insertions(+), 12 deletions(-) + +diff --git a/feedparser/http.py b/feedparser/http.py +index 53511f02..1119cb3b 100644 +--- a/feedparser/http.py ++++ b/feedparser/http.py +@@ -71,12 +71,7 @@ class request(object): + from .datetimes import _parse_date + from .urls import convert_to_idn + +-# Python 3.1 deprecated decodestring in favor of decodebytes. +-# This can be removed after Python 2.7 support is dropped. +-try: +- _base64decode = base64.decodebytes +-except AttributeError: +- _base64decode = base64.decodestring ++_base64decode = base64.decodebytes + + try: + basestring +diff --git a/feedparser/mixin.py b/feedparser/mixin.py +index 549931f5..119fa4ca 100644 +--- a/feedparser/mixin.py ++++ b/feedparser/mixin.py +@@ -48,12 +48,7 @@ + from .urls import _urljoin, make_safe_absolute_uri, resolve_relative_uris + + +-# Python 2.7 only offers "decodestring()". +-# This name substitution can be removed when Python 2.7 support is dropped. +-try: +- _base64decode = base64.decodebytes +-except AttributeError: +- _base64decode = base64.decodestring ++_base64decode = base64.decodebytes + + + bytes_ = type(b'') diff --git a/dev-python/feedparser/metadata.xml b/dev-python/feedparser/metadata.xml new file mode 100644 index 000000000000..a069a51c34b4 --- /dev/null +++ b/dev-python/feedparser/metadata.xml @@ -0,0 +1,14 @@ +<?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> + <remote-id type="google-code">feedparser</remote-id> + <remote-id type="github">kurtmckee/feedparser</remote-id> + <remote-id type="pypi">feedparser</remote-id> + </upstream> + <origin>gentoo-staging</origin> +</pkgmetadata> |
