From 39d553542b8114943b3ba93ac36dd0ad12637da6 Mon Sep 17 00:00:00 2001 From: Justin Lecher Date: Mon, 2 Nov 2015 10:34:58 +0100 Subject: dev-python/feedparser: Version Bump Package-Manager: portage-2.2.23 Signed-off-by: Justin Lecher --- dev-python/feedparser/Manifest | 1 + dev-python/feedparser/feedparser-5.1.3-r2.ebuild | 2 +- dev-python/feedparser/feedparser-5.2.1.ebuild | 44 ++++++++++++ .../files/feedparser-5.0.1-sgmllib.patch | 26 -------- .../files/feedparser-5.2.1-sgmllib.patch | 78 ++++++++++++++++++++++ 5 files changed, 124 insertions(+), 27 deletions(-) create mode 100644 dev-python/feedparser/feedparser-5.2.1.ebuild delete mode 100644 dev-python/feedparser/files/feedparser-5.0.1-sgmllib.patch create mode 100644 dev-python/feedparser/files/feedparser-5.2.1-sgmllib.patch (limited to 'dev-python/feedparser') diff --git a/dev-python/feedparser/Manifest b/dev-python/feedparser/Manifest index 666cbb2fbb27..48f03ab8f768 100644 --- a/dev-python/feedparser/Manifest +++ b/dev-python/feedparser/Manifest @@ -1 +1,2 @@ DIST feedparser-5.1.3.tar.bz2 202373 SHA256 7f6507d400d07edfd1ea8205da36808009b0c539f5b8a6e0ab54337b955e6dc3 SHA512 6a0374e001295566316ad86a581c875cd367fc6200e30296bf917cdff7fa2a83c05565b747c37079f38755ce94565d56890a995be7ee020d0f9466ee1b7c079b WHIRLPOOL bacb6cf0563ee7feb476ea4b767586cb6fbd649d036f72f18b60330e4b4120ccb1e65a923e121108eecf64ea2343fd7a40dd56d7bf71384ff3f52ad20a59a54b +DIST feedparser-5.2.1.tar.gz 252956 SHA256 bd030652c2d08532c034c27fcd7c85868e7fa3cb2b17f230a44a6bbc92519bf9 SHA512 1fd0c4324e2eff8ef4b15e3793c767290bca562af4a5056fdbdfa12411095530c87a113bb1b9757e532ff63aecb399b18f1e6b753884798eb6b8d3fdf575af81 WHIRLPOOL 7214fbafa15351d9d759b6d281e5edd4cf38f6285e0a2d788933c1336ab0e66c2587ea341773ed956d7a006e9b09f2f769876690eec9374c9f96b464f2c71ba3 diff --git a/dev-python/feedparser/feedparser-5.1.3-r2.ebuild b/dev-python/feedparser/feedparser-5.1.3-r2.ebuild index 00be3c719602..825382655862 100644 --- a/dev-python/feedparser/feedparser-5.1.3-r2.ebuild +++ b/dev-python/feedparser/feedparser-5.1.3-r2.ebuild @@ -8,7 +8,7 @@ PYTHON_COMPAT=( python{2_7,3_{3,4}} pypy ) inherit distutils-r1 eutils DESCRIPTION="Parse RSS and Atom feeds in Python" -HOMEPAGE="https://code.google.com/p/feedparser/ https://pypi.python.org/pypi/feedparser" +HOMEPAGE="https://github.com/kurtmckee/feedparser https://pypi.python.org/pypi/feedparser" SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.bz2" # sgmllib is licensed under PSF-2. 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..a985e7e9e6b9 --- /dev/null +++ b/dev-python/feedparser/feedparser-5.2.1.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy ) + +inherit distutils-r1 eutils + +DESCRIPTION="Parse RSS and Atom feeds in Python" +HOMEPAGE="https://github.com/kurtmckee/feedparser https://pypi.python.org/pypi/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 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~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.0.1-sgmllib.patch b/dev-python/feedparser/files/feedparser-5.0.1-sgmllib.patch deleted file mode 100644 index 426290370d49..000000000000 --- a/dev-python/feedparser/files/feedparser-5.0.1-sgmllib.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- feedparser/feedparser.py -+++ feedparser/feedparser.py -@@ -135,7 +135,11 @@ - #ACCEPTABLE_URI_SCHEMES = () - - # ---------- required modules (should come with any Python distribution) ---------- --import sgmllib, re, sys, copy, urlparse, time, types, cgi, urllib, urllib2, datetime -+import re, sys, copy, urlparse, time, types, cgi, urllib, urllib2, datetime -+try: -+ import sgmllib -+except ImportError: -+ import _feedparser_sgmllib as sgmllib - try: - from io import BytesIO as _StringIO - except ImportError: ---- setup.py -+++ setup.py -@@ -17,7 +17,7 @@ - download_url = 'http://code.google.com/p/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', 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 +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('