summaryrefslogtreecommitdiff
path: root/dev-python/feedparser
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-python/feedparser
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-python/feedparser')
-rw-r--r--dev-python/feedparser/Manifest4
-rw-r--r--dev-python/feedparser/feedparser-5.2.1.ebuild43
-rw-r--r--dev-python/feedparser/files/feedparser-5.2.1-sgmllib.patch78
-rw-r--r--dev-python/feedparser/metadata.xml14
4 files changed, 139 insertions, 0 deletions
diff --git a/dev-python/feedparser/Manifest b/dev-python/feedparser/Manifest
new file mode 100644
index 000000000000..9d19416d0934
--- /dev/null
+++ b/dev-python/feedparser/Manifest
@@ -0,0 +1,4 @@
+AUX feedparser-5.2.1-sgmllib.patch 2748 BLAKE2B c7b4ce987f0067020e996134379ff0d30b151fc64a85ddf8a66748d118d748cc3552c2a889e3621c90221c37d1adcf8668e2e417566a6059a4a272ce1c3323cd SHA512 3ef63206b043179f5a09cf1f3d5256aed1ae0c559b99fc0ec4c1de756dd678af8a7672673f864f72c8162705056fb0011ff19b39debfcbd0faf402804869f681
+DIST feedparser-5.2.1.tar.gz 252956 BLAKE2B 182ebefa8a44276e758f277c203c28b274c580b667b039e4fc6ed9bd059b15e35e775e9efb784a97d712dc57e7b176ff91d6e094ddd225735f4315ffa770ae83 SHA512 1fd0c4324e2eff8ef4b15e3793c767290bca562af4a5056fdbdfa12411095530c87a113bb1b9757e532ff63aecb399b18f1e6b753884798eb6b8d3fdf575af81
+EBUILD feedparser-5.2.1.ebuild 1211 BLAKE2B a7c9a3b6a5957918c789dc82e7e61ed096819fc78d04fdf88bb7abe1fea80499b803064c1ceb8c14e88cbd52ef3dfce2f84ff94e33b8f36d6c8ffbfb83596c54 SHA512 475c6cfafb0b3b9e65261d225883cf74c456e6378402a741727d87842c88bebbca6a4919aac3328c0aeb48fe53d83f62366ab001e2b82dc88b4ec6aa937a8e9e
+MISC metadata.xml 545 BLAKE2B 259d08b124b1ae245af79e6c014da99bcca0474a63cf681343152b225cf914001bc10bc59af5ddabaf7144979614507cadbf4506ffe0ec69d69d6bb28c090767 SHA512 529faf4a7612e461dbae6746acf9e886a0ea497b11996e0c5f89de5fece30b544226fdf02a4e19915d132e40b0abcc5b180cce36b5a9f172cd6364ebe3d3f46d
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..c4aeb3c709dc
--- /dev/null
+++ b/dev-python/feedparser/feedparser-5.2.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy{,3} )
+
+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 hppa ia64 ppc ppc64 s390 sparc x86 ~x86-fbsd ~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/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[', '&lt;![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/metadata.xml b/dev-python/feedparser/metadata.xml
new file mode 100644
index 000000000000..3404a9d0ca67
--- /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>
+ <longdescription>Parse RSS and Atom feeds in Python. 2000 unit tests. Open source.</longdescription>
+ <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>
+</pkgmetadata>