Package-Manager: portage-2.2.0_alpha166
RepoMan-Options: --force
This commit is contained in:
Mario Fetka 2013-04-22 21:30:31 +02:00
parent c747aea35c
commit c463718fb2
6 changed files with 196 additions and 0 deletions

View File

@ -0,0 +1,11 @@
# ChangeLog for dev-python/genshi
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
*genshi-0.6.1 (22 Apr 2013)
*genshi-0.7 (22 Apr 2013)
22 Apr 2013; Mario Fetka <mario.fetka@gmail.com>
+files/genshi-0.6-html_test.patch, +genshi-0.6.1.ebuild, +genshi-0.7.ebuild,
+metadata.xml:
Bump

View File

@ -0,0 +1,7 @@
AUX genshi-0.6-html_test.patch 2000 SHA256 76e1b2f5acc4c90c6f5c7a273b5510474ca0b1226246df382e2f3e6f52bbbb0f SHA512 009e9e2e727cec1dd895dfb36e6cd783f509648d6a8663c8db41258d12f93c5093a90f0d4d3c6671532f018623e505e8cee53cb3cc501cb25ee4d195e96b74fd WHIRLPOOL a8d10385617fae64b3e3d87826b43001ed1d39882cb2affdb336d91d44259e55c23b78f5c61b3d8da8ab348626b9bfa4c21f8b4b6949510aa9991ffe5ce9a0e4
DIST Genshi-0.6.1.tar.gz 486230 SHA256 fed947f11dbcb6792bb7161701ec3b9804055ad68c8af0ab4f0f9b25e9a18dbd SHA512 63d250d802ce4c87749348dc5b0a0a76713bd8ebb3db425aa5f77f5450a07e7342fc69b98399e3366d347f0b3fbe9b626cab142d8116e5069cca387f5371d0e2 WHIRLPOOL a620b291cd5423fd583300139c1db506156f93d1b8a126e9625856aa2b5a5377f355aa072e22ccaf9784e92d7c22e67f04dff3baf10ceb74f9e8672a8ec6c352
DIST Genshi-0.7.tar.gz 491579 SHA256 1d154402e68bc444a55bcac101f96cb4e59373100cc7a2da07fbf3e5cc5d7352 SHA512 2d0042d4da4566725ddd80b73c5b7be09f479f5529e4aa69903edc2a98905ff6de42a0d5a6f02986d7962deb7740c4a3acf6955a8b77fdb42d3cf4ca037de6bf WHIRLPOOL 5e1a7af061d28a581c8a028ae7343a2b80697eb8bca01c8609345a3f2146db190a596d3488c0bde5aa132ac930d591ff1babd033ccb532c7cac7d2931751f906
EBUILD genshi-0.6.1.ebuild 2067 SHA256 7cfbd3fbafe48c625563d8da2c50ff5d2399288cc69a2679375532657e147d1a SHA512 0166b46f239f3d7632086cb139c55869746eeef2801f96d0b6ed959c0fa20e293b3ed28b638f7c435db0f1121d6b227d9da2d2e7540f55ba13a4a90a2f21ba4b WHIRLPOOL 4b5ecd5757ac919e354deb4441e33a0fb49c3dcc48bf062fd3ff00a7073880a6dccb26857415f324af9b8f1c7defebfcb175a9917c9a1e8c312e6708bb556d6c
EBUILD genshi-0.7.ebuild 2067 SHA256 7cfbd3fbafe48c625563d8da2c50ff5d2399288cc69a2679375532657e147d1a SHA512 0166b46f239f3d7632086cb139c55869746eeef2801f96d0b6ed959c0fa20e293b3ed28b638f7c435db0f1121d6b227d9da2d2e7540f55ba13a4a90a2f21ba4b WHIRLPOOL 4b5ecd5757ac919e354deb4441e33a0fb49c3dcc48bf062fd3ff00a7073880a6dccb26857415f324af9b8f1c7defebfcb175a9917c9a1e8c312e6708bb556d6c
MISC ChangeLog 327 SHA256 0063b8acf3c684432fe373683b85a667f49818af66aeb1132a5239191a9551b8 SHA512 3af38897515e4eda85a15b977c5d815dd877aae0653bbe968fdf1cc2ce395a3a6a78b71cd27f532994aa121bfd89af85c5183c54172d8dec71651c6437d2790d WHIRLPOOL f738be73a28e1b4daf61562320e536ae05affd1bb5f5a270082c6a4bced66f538827fef00808dc5df0113db6e62876acc83e643be6cc477d3f556af440e5a7f6
MISC metadata.xml 160 SHA256 6cd954a9de2307c57d32b25fa3599dee2908a4ddc6a98594f593d53577307a3a SHA512 7c02a1de1ddcb6b7c6378cceff0458da3a15d5381417f7cdf01874e7c372664b8899863f41b3a2fd8d6ad67ceb732dac6da0cc17575bf8e3e6d89480417c6628 WHIRLPOOL ed2795e4466eda8c804d5067c87386e269a59fe959393057ca5ddc36851e00f5210c4da1adf4bbdfdbb7d1d3d5c60aced25727ca12fdc8305d9e263a3aca9b13

View File

@ -0,0 +1,37 @@
Add/Change #501 (test_sanitize_remove_src_javascript fails due to HTMLParser bugfixes in cpython)
Add/Change #500 (test_sanitize_remove_script_elem fails due to HTMLParser bugfixes in cpython)
--- a/genshi/filters/tests/html.py
+++ b/genshi/filters/tests/html.py
@@ -365,9 +365,12 @@
self.assertEquals('', (html | HTMLSanitizer()).render())
html = HTML('<SCRIPT SRC="http://example.com/"></SCRIPT>')
self.assertEquals('', (html | HTMLSanitizer()).render())
- self.assertRaises(ParseError, HTML, '<SCR\0IPT>alert("foo")</SCR\0IPT>')
- self.assertRaises(ParseError, HTML,
- '<SCRIPT&XYZ SRC="http://example.com/"></SCRIPT>')
+ html = HTML('<SCR\0IPT>alert("foo")</SCR\0IPT>')
+ self.assertEquals('&lt;SCR\x00IPT&gt;alert("foo")',
+ (html | HTMLSanitizer()).render())
+ html = HTML('<SCRIPT&XYZ SRC="http://example.com/"></SCRIPT>')
+ self.assertEquals('&lt;SCRIPT&amp;XYZ; SRC="http://example.com/"&gt;',
+ (html | HTMLSanitizer()).render())
def test_sanitize_remove_onclick_attr(self):
html = HTML('<div onclick=\'alert("foo")\' />')
--- a/genshi/filters/tests/html.py
+++ b/genshi/filters/tests/html.py
@@ -437,9 +440,9 @@
# Case-insensitive protocol matching
html = HTML('<IMG SRC=\'JaVaScRiPt:alert("foo")\'>')
self.assertEquals('<img/>', (html | HTMLSanitizer()).render())
- # Grave accents (not parsed)
- self.assertRaises(ParseError, HTML,
- '<IMG SRC=`javascript:alert("RSnake says, \'foo\'")`>')
+ # Grave accents.
+ html = HTML('<IMG SRC=`javascript:alert("RSnake says, \'foo\'")`>')
+ self.assertEquals('<img/>', (html | HTMLSanitizer()).render())
# Protocol encoded using UTF-8 numeric entities
html = HTML('<IMG SRC=\'&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;'
'&#112;&#116;&#58;alert("foo")\'>')

View File

@ -0,0 +1,68 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-python/genshi/genshi-0.6.ebuild,v 1.9 2012/11/06 19:27:08 mr_bones_ Exp $
EAPI="3"
PYTHON_DEPEND="2"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="3.* *-jython"
# Need call setup.py test manually making this for now redundant
#DISTUTILS_SRC_TEST="setup.py"
inherit distutils eutils
MY_P="Genshi-${PV}"
DESCRIPTION="Python toolkit for stream-based generation of output for the web."
HOMEPAGE="http://genshi.edgewall.org/ http://pypi.python.org/pypi/Genshi"
SRC_URI="http://ftp.edgewall.com/pub/genshi/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
IUSE="doc examples"
DEPEND="dev-python/setuptools"
RDEPEND="${DEPEND}"
S="${WORKDIR}/${MY_P}"
src_prepare() {
cp genshi/filters/tests/html.py orig_html.py || die
epatch "${FILESDIR}"/${P}-html_test.patch
}
src_test() {
# The html_test.patch is needed only for python2.7 for now, breaks all other versions. The html.py needs
# adjusting only to pass the tests for 2.7. Other ABIs still need the original filters/tests/html.py,
# hence this long winded juggling appears the only method to set a viable genshi/filters/tests/html.py
# for each python version. The test needed patching, instead they changed the genshi/filters/tests/html.py
setHtmlpy() {
for f in build-${PYTHON_ABI}; do
if [[ ${PYTHON_ABI:2:3} < '7' || ${PYTHON_ABI:4:4} == "pypy" ]]; then
mv genshi/filters/tests/html.py patched_html.py || die
mv orig_html.py genshi/filters/tests/html.py || die
"$(PYTHON)" setup.py test
mv genshi/filters/tests/html.py orig_html.py
mv patched_html.py genshi/filters/tests/html.py || die
else
"$(PYTHON)" setup.py test
fi
done
}
python_execute_function setHtmlpy
}
src_install() {
distutils_src_install
if use doc; then
dodoc doc/*.txt
dohtml -r doc/*
fi
if use examples; then
insinto /usr/share/doc/${PF}
doins -r examples
fi
}

View File

@ -0,0 +1,68 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-python/genshi/genshi-0.6.ebuild,v 1.9 2012/11/06 19:27:08 mr_bones_ Exp $
EAPI="3"
PYTHON_DEPEND="2"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="3.* *-jython"
# Need call setup.py test manually making this for now redundant
#DISTUTILS_SRC_TEST="setup.py"
inherit distutils eutils
MY_P="Genshi-${PV}"
DESCRIPTION="Python toolkit for stream-based generation of output for the web."
HOMEPAGE="http://genshi.edgewall.org/ http://pypi.python.org/pypi/Genshi"
SRC_URI="http://ftp.edgewall.com/pub/genshi/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
IUSE="doc examples"
DEPEND="dev-python/setuptools"
RDEPEND="${DEPEND}"
S="${WORKDIR}/${MY_P}"
src_prepare() {
cp genshi/filters/tests/html.py orig_html.py || die
epatch "${FILESDIR}"/${P}-html_test.patch
}
src_test() {
# The html_test.patch is needed only for python2.7 for now, breaks all other versions. The html.py needs
# adjusting only to pass the tests for 2.7. Other ABIs still need the original filters/tests/html.py,
# hence this long winded juggling appears the only method to set a viable genshi/filters/tests/html.py
# for each python version. The test needed patching, instead they changed the genshi/filters/tests/html.py
setHtmlpy() {
for f in build-${PYTHON_ABI}; do
if [[ ${PYTHON_ABI:2:3} < '7' || ${PYTHON_ABI:4:4} == "pypy" ]]; then
mv genshi/filters/tests/html.py patched_html.py || die
mv orig_html.py genshi/filters/tests/html.py || die
"$(PYTHON)" setup.py test
mv genshi/filters/tests/html.py orig_html.py
mv patched_html.py genshi/filters/tests/html.py || die
else
"$(PYTHON)" setup.py test
fi
done
}
python_execute_function setHtmlpy
}
src_install() {
distutils_src_install
if use doc; then
dodoc doc/*.txt
dohtml -r doc/*
fi
if use examples; then
insinto /usr/share/doc/${PF}
doins -r examples
fi
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>python</herd>
</pkgmetadata>