diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-python/feedparser | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-python/feedparser')
6 files changed, 190 insertions, 0 deletions
diff --git a/dev-python/feedparser/Manifest b/dev-python/feedparser/Manifest new file mode 100644 index 000000000000..666cbb2fbb27 --- /dev/null +++ b/dev-python/feedparser/Manifest @@ -0,0 +1 @@ +DIST feedparser-5.1.3.tar.bz2 202373 SHA256 7f6507d400d07edfd1ea8205da36808009b0c539f5b8a6e0ab54337b955e6dc3 SHA512 6a0374e001295566316ad86a581c875cd367fc6200e30296bf917cdff7fa2a83c05565b747c37079f38755ce94565d56890a995be7ee020d0f9466ee1b7c079b WHIRLPOOL bacb6cf0563ee7feb476ea4b767586cb6fbd649d036f72f18b60330e4b4120ccb1e65a923e121108eecf64ea2343fd7a40dd56d7bf71384ff3f52ad20a59a54b diff --git a/dev-python/feedparser/feedparser-5.1.3-r2.ebuild b/dev-python/feedparser/feedparser-5.1.3-r2.ebuild new file mode 100644 index 000000000000..7ae303fee956 --- /dev/null +++ b/dev-python/feedparser/feedparser-5.1.3-r2.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=( python{2_7,3_{3,4}} pypy ) + +inherit distutils-r1 eutils + +DESCRIPTION="Parse RSS and Atom feeds in Python" +HOMEPAGE="http://code.google.com/p/feedparser/ http://pypi.python.org/pypi/feedparser" +SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.bz2" + +# 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}-backport_fix_for_chardet-py3.patch +) + +python_prepare_all() { + mv feedparser/sgmllib3.py feedparser/_feedparser_sgmllib.py || die + epatch "${FILESDIR}/${PN}-5.1-sgmllib.patch" + 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 new file mode 100644 index 000000000000..426290370d49 --- /dev/null +++ b/dev-python/feedparser/files/feedparser-5.0.1-sgmllib.patch @@ -0,0 +1,26 @@ +--- 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.1-sgmllib.patch b/dev-python/feedparser/files/feedparser-5.1-sgmllib.patch new file mode 100644 index 000000000000..63c12ba0c362 --- /dev/null +++ b/dev-python/feedparser/files/feedparser-5.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 = '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', +-- +1.7.8.1 + diff --git a/dev-python/feedparser/files/feedparser-5.1.3-backport_fix_for_chardet-py3.patch b/dev-python/feedparser/files/feedparser-5.1.3-backport_fix_for_chardet-py3.patch new file mode 100644 index 000000000000..6b03ddea8cbb --- /dev/null +++ b/dev-python/feedparser/files/feedparser-5.1.3-backport_fix_for_chardet-py3.patch @@ -0,0 +1,32 @@ +From 20a32910f4a521788ba93a8c809cf0db702bed5b Mon Sep 17 00:00:00 2001 +From: Kurt McKee <contactme@kurtmckee.org> +Date: Mon, 17 Dec 2012 10:41:13 -0600 +Subject: [PATCH] Fix chardet support in Python 3 + +Fixes issue 384. +Thanks to Google user Arfrever.TFA for reporting this! +--- + NEWS | 1 + + feedparser/feedparser.py | 6 +++++- + 2 files changed, 6 insertions(+), 1 deletion(-) + +diff --git a/feedparser/feedparser.py b/feedparser/feedparser.py +index c78e6a3..e977ae8 100644 +--- a/feedparser/feedparser.py ++++ b/feedparser/feedparser.py +@@ -3766,7 +3766,11 @@ def convert_to_utf8(http_headers, data): + chardet_encoding = None + tried_encodings = [] + if chardet: +- chardet_encoding = unicode(chardet.detect(data)['encoding'] or '', 'ascii', 'ignore') ++ chardet_encoding = chardet.detect(data)['encoding'] ++ if not chardet_encoding: ++ chardet_encoding = '' ++ if not isinstance(chardet_encoding, unicode): ++ chardet_encoding = unicode(chardet_encoding, 'ascii', 'ignore') + # try: HTTP encoding, declared XML encoding, encoding sniffed from BOM + for proposed_encoding in (rfc3023_encoding, xml_encoding, bom_encoding, + chardet_encoding, u'utf-8', u'windows-1252', u'iso-8859-2'): +-- +1.8.5.5 + diff --git a/dev-python/feedparser/metadata.xml b/dev-python/feedparser/metadata.xml new file mode 100644 index 000000000000..ec031c36b1f8 --- /dev/null +++ b/dev-python/feedparser/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>python</herd> + <longdescription>Parse RSS and Atom feeds in Python. 2000 unit tests. Open source.</longdescription> + <upstream> + <remote-id type="google-code">feedparser</remote-id> + </upstream> +</pkgmetadata> |