Gentoo Archives: gentoo-commits

From: Justin Lecher <jlec@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/feedparser/, dev-python/feedparser/files/
Date: Mon, 02 Nov 2015 11:51:09
Message-Id: 1446464832.39d553542b8114943b3ba93ac36dd0ad12637da6.jlec@gentoo
1 commit: 39d553542b8114943b3ba93ac36dd0ad12637da6
2 Author: Justin Lecher <jlec <AT> gentoo <DOT> org>
3 AuthorDate: Mon Nov 2 09:34:58 2015 +0000
4 Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
5 CommitDate: Mon Nov 2 11:47:12 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39d55354
7
8 dev-python/feedparser: Version Bump
9
10 Package-Manager: portage-2.2.23
11 Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>
12
13 dev-python/feedparser/Manifest | 1 +
14 dev-python/feedparser/feedparser-5.1.3-r2.ebuild | 2 +-
15 ...ser-5.1.3-r2.ebuild => feedparser-5.2.1.ebuild} | 12 ++--
16 .../files/feedparser-5.0.1-sgmllib.patch | 26 --------
17 .../files/feedparser-5.2.1-sgmllib.patch | 78 ++++++++++++++++++++++
18 5 files changed, 86 insertions(+), 33 deletions(-)
19
20 diff --git a/dev-python/feedparser/Manifest b/dev-python/feedparser/Manifest
21 index 666cbb2..48f03ab 100644
22 --- a/dev-python/feedparser/Manifest
23 +++ b/dev-python/feedparser/Manifest
24 @@ -1 +1,2 @@
25 DIST feedparser-5.1.3.tar.bz2 202373 SHA256 7f6507d400d07edfd1ea8205da36808009b0c539f5b8a6e0ab54337b955e6dc3 SHA512 6a0374e001295566316ad86a581c875cd367fc6200e30296bf917cdff7fa2a83c05565b747c37079f38755ce94565d56890a995be7ee020d0f9466ee1b7c079b WHIRLPOOL bacb6cf0563ee7feb476ea4b767586cb6fbd649d036f72f18b60330e4b4120ccb1e65a923e121108eecf64ea2343fd7a40dd56d7bf71384ff3f52ad20a59a54b
26 +DIST feedparser-5.2.1.tar.gz 252956 SHA256 bd030652c2d08532c034c27fcd7c85868e7fa3cb2b17f230a44a6bbc92519bf9 SHA512 1fd0c4324e2eff8ef4b15e3793c767290bca562af4a5056fdbdfa12411095530c87a113bb1b9757e532ff63aecb399b18f1e6b753884798eb6b8d3fdf575af81 WHIRLPOOL 7214fbafa15351d9d759b6d281e5edd4cf38f6285e0a2d788933c1336ab0e66c2587ea341773ed956d7a006e9b09f2f769876690eec9374c9f96b464f2c71ba3
27
28 diff --git a/dev-python/feedparser/feedparser-5.1.3-r2.ebuild b/dev-python/feedparser/feedparser-5.1.3-r2.ebuild
29 index 00be3c7..8253826 100644
30 --- a/dev-python/feedparser/feedparser-5.1.3-r2.ebuild
31 +++ b/dev-python/feedparser/feedparser-5.1.3-r2.ebuild
32 @@ -8,7 +8,7 @@ PYTHON_COMPAT=( python{2_7,3_{3,4}} pypy )
33 inherit distutils-r1 eutils
34
35 DESCRIPTION="Parse RSS and Atom feeds in Python"
36 -HOMEPAGE="https://code.google.com/p/feedparser/ https://pypi.python.org/pypi/feedparser"
37 +HOMEPAGE="https://github.com/kurtmckee/feedparser https://pypi.python.org/pypi/feedparser"
38 SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.bz2"
39
40 # sgmllib is licensed under PSF-2.
41
42 diff --git a/dev-python/feedparser/feedparser-5.1.3-r2.ebuild b/dev-python/feedparser/feedparser-5.2.1.ebuild
43 similarity index 68%
44 copy from dev-python/feedparser/feedparser-5.1.3-r2.ebuild
45 copy to dev-python/feedparser/feedparser-5.2.1.ebuild
46 index 00be3c7..a985e7e 100644
47 --- a/dev-python/feedparser/feedparser-5.1.3-r2.ebuild
48 +++ b/dev-python/feedparser/feedparser-5.2.1.ebuild
49 @@ -3,18 +3,19 @@
50 # $Id$
51
52 EAPI=5
53 -PYTHON_COMPAT=( python{2_7,3_{3,4}} pypy )
54 +
55 +PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy )
56
57 inherit distutils-r1 eutils
58
59 DESCRIPTION="Parse RSS and Atom feeds in Python"
60 -HOMEPAGE="https://code.google.com/p/feedparser/ https://pypi.python.org/pypi/feedparser"
61 -SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.bz2"
62 +HOMEPAGE="https://github.com/kurtmckee/feedparser https://pypi.python.org/pypi/feedparser"
63 +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
64
65 # sgmllib is licensed under PSF-2.
66 LICENSE="BSD-2 PSF-2"
67 SLOT="0"
68 -KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
69 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
70 IUSE=""
71
72 DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
73 @@ -24,12 +25,11 @@ RDEPEND=""
74 RESTRICT="test"
75
76 PATCHES=(
77 - "${FILESDIR}"/${P}-backport_fix_for_chardet-py3.patch
78 + "${FILESDIR}/${P}-sgmllib.patch"
79 )
80
81 python_prepare_all() {
82 mv feedparser/sgmllib3.py feedparser/_feedparser_sgmllib.py || die
83 - epatch "${FILESDIR}/${PN}-5.1-sgmllib.patch"
84 distutils-r1_python_prepare_all
85 }
86
87
88 diff --git a/dev-python/feedparser/files/feedparser-5.0.1-sgmllib.patch b/dev-python/feedparser/files/feedparser-5.0.1-sgmllib.patch
89 deleted file mode 100644
90 index 4262903..0000000
91 --- a/dev-python/feedparser/files/feedparser-5.0.1-sgmllib.patch
92 +++ /dev/null
93 @@ -1,26 +0,0 @@
94 ---- feedparser/feedparser.py
95 -+++ feedparser/feedparser.py
96 -@@ -135,7 +135,11 @@
97 - #ACCEPTABLE_URI_SCHEMES = ()
98 -
99 - # ---------- required modules (should come with any Python distribution) ----------
100 --import sgmllib, re, sys, copy, urlparse, time, types, cgi, urllib, urllib2, datetime
101 -+import re, sys, copy, urlparse, time, types, cgi, urllib, urllib2, datetime
102 -+try:
103 -+ import sgmllib
104 -+except ImportError:
105 -+ import _feedparser_sgmllib as sgmllib
106 - try:
107 - from io import BytesIO as _StringIO
108 - except ImportError:
109 ---- setup.py
110 -+++ setup.py
111 -@@ -17,7 +17,7 @@
112 - download_url = 'http://code.google.com/p/feedparser/',
113 - platforms = ['POSIX', 'Windows'],
114 - package_dir = {'': 'feedparser'},
115 -- py_modules = ['feedparser'],
116 -+ py_modules = ['feedparser', '_feedparser_sgmllib'],
117 - keywords = ['atom', 'cdf', 'feed', 'parser', 'rdf', 'rss'],
118 - classifiers = [
119 - 'Development Status :: 5 - Production/Stable',
120
121 diff --git a/dev-python/feedparser/files/feedparser-5.2.1-sgmllib.patch b/dev-python/feedparser/files/feedparser-5.2.1-sgmllib.patch
122 new file mode 100644
123 index 0000000..7144805
124 --- /dev/null
125 +++ b/dev-python/feedparser/files/feedparser-5.2.1-sgmllib.patch
126 @@ -0,0 +1,78 @@
127 +From 812793c07d3202d3f5bc39091aec2e7071d000c8 Mon Sep 17 00:00:00 2001
128 +From: Sebastian Pipping <sebastian@×××××××.org>
129 +Date: Sun, 1 Jan 2012 19:30:57 +0100
130 +Subject: [PATCH] Use shipped sgmllib for Python 3.x
131 +
132 +---
133 + feedparser/feedparser.py | 19 +++----------------
134 + setup.py | 2 +-
135 + 2 files changed, 4 insertions(+), 17 deletions(-)
136 +
137 +diff --git a/feedparser/feedparser.py b/feedparser/feedparser.py
138 +index 8275c29..9a8a053 100644
139 +--- a/feedparser/feedparser.py
140 ++++ b/feedparser/feedparser.py
141 +@@ -204,17 +204,9 @@ else:
142 + try:
143 + import sgmllib
144 + except ImportError:
145 +- # This is probably Python 3, which doesn't include sgmllib anymore
146 +- _SGML_AVAILABLE = 0
147 ++ import _feedparser_sgmllib as sgmllib
148 +
149 +- # Mock sgmllib enough to allow subclassing later on
150 +- class sgmllib(object):
151 +- class SGMLParser(object):
152 +- def goahead(self, i):
153 +- pass
154 +- def parse_starttag(self, i):
155 +- pass
156 +-else:
157 ++if True:
158 + _SGML_AVAILABLE = 1
159 +
160 + # sgmllib defines a number of module-level regular expressions that are
161 +@@ -2520,9 +2512,6 @@ class _RelativeURIResolver(_BaseHTMLProcessor):
162 + _BaseHTMLProcessor.unknown_starttag(self, tag, attrs)
163 +
164 + def _resolveRelativeURIs(htmlSource, baseURI, encoding, _type):
165 +- if not _SGML_AVAILABLE:
166 +- return htmlSource
167 +-
168 + p = _RelativeURIResolver(baseURI, encoding, _type)
169 + p.feed(htmlSource)
170 + return p.output()
171 +@@ -2803,8 +2792,6 @@ class _HTMLSanitizer(_BaseHTMLProcessor):
172 +
173 +
174 + def _sanitizeHTML(htmlSource, encoding, _type):
175 +- if not _SGML_AVAILABLE:
176 +- return htmlSource
177 + p = _HTMLSanitizer(encoding, _type)
178 + htmlSource = htmlSource.replace('<![CDATA[', '&lt;![CDATA[')
179 + p.feed(htmlSource)
180 +@@ -3890,7 +3877,7 @@ def parse(url_file_stream_or_string, etag=None, modified=None, agent=None, refer
181 + result['bozo'] = 1
182 + result['bozo_exception'] = feedparser.exc or e
183 + use_strict_parser = 0
184 +- if not use_strict_parser and _SGML_AVAILABLE:
185 ++ if not use_strict_parser:
186 + feedparser = _LooseFeedParser(baseuri, baselang, 'utf-8', entities)
187 + feedparser.feed(data.decode('utf-8', 'replace'))
188 + result['feed'] = feedparser.feeddata
189 +diff --git a/setup.py b/setup.py
190 +index a4a60fe..8c15451 100644
191 +--- a/setup.py
192 ++++ b/setup.py
193 +@@ -16,7 +16,7 @@ setup(
194 + download_url = 'https://pypi.python.org/pypi/feedparser',
195 + platforms = ['POSIX', 'Windows'],
196 + package_dir = {'': 'feedparser'},
197 +- py_modules = ['feedparser'],
198 ++ py_modules = ['feedparser', '_feedparser_sgmllib'],
199 + keywords = ['atom', 'cdf', 'feed', 'parser', 'rdf', 'rss'],
200 + classifiers = [
201 + 'Development Status :: 5 - Production/Stable',
202 +--
203 +1.7.8.1
204 +