diff --git a/dev-python/genshi/ChangeLog b/dev-python/genshi/ChangeLog new file mode 100644 index 00000000..f39d3804 --- /dev/null +++ b/dev-python/genshi/ChangeLog @@ -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 + +files/genshi-0.6-html_test.patch, +genshi-0.6.1.ebuild, +genshi-0.7.ebuild, + +metadata.xml: + Bump diff --git a/dev-python/genshi/Manifest b/dev-python/genshi/Manifest new file mode 100644 index 00000000..e57879fe --- /dev/null +++ b/dev-python/genshi/Manifest @@ -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 diff --git a/dev-python/genshi/files/genshi-0.6-html_test.patch b/dev-python/genshi/files/genshi-0.6-html_test.patch new file mode 100644 index 00000000..4f74d6b9 --- /dev/null +++ b/dev-python/genshi/files/genshi-0.6-html_test.patch @@ -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('') + self.assertEquals('', (html | HTMLSanitizer()).render()) +- self.assertRaises(ParseError, HTML, 'alert("foo")') +- self.assertRaises(ParseError, HTML, +- '') ++ html = HTML('alert("foo")') ++ self.assertEquals('<SCR\x00IPT>alert("foo")', ++ (html | HTMLSanitizer()).render()) ++ html = HTML('') ++ self.assertEquals('<SCRIPT&XYZ; SRC="http://example.com/">', ++ (html | HTMLSanitizer()).render()) + + def test_sanitize_remove_onclick_attr(self): + html = HTML('
') + +--- a/genshi/filters/tests/html.py ++++ b/genshi/filters/tests/html.py +@@ -437,9 +440,9 @@ + # Case-insensitive protocol matching + html = HTML('') + self.assertEquals('', (html | HTMLSanitizer()).render()) +- # Grave accents (not parsed) +- self.assertRaises(ParseError, HTML, +- '') ++ # Grave accents. ++ html = HTML('') ++ self.assertEquals('', (html | HTMLSanitizer()).render()) + # Protocol encoded using UTF-8 numeric entities + html = HTML('') + diff --git a/dev-python/genshi/genshi-0.6.1.ebuild b/dev-python/genshi/genshi-0.6.1.ebuild new file mode 100644 index 00000000..20413726 --- /dev/null +++ b/dev-python/genshi/genshi-0.6.1.ebuild @@ -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 +} diff --git a/dev-python/genshi/genshi-0.7.ebuild b/dev-python/genshi/genshi-0.7.ebuild new file mode 100644 index 00000000..20413726 --- /dev/null +++ b/dev-python/genshi/genshi-0.7.ebuild @@ -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 +} diff --git a/dev-python/genshi/metadata.xml b/dev-python/genshi/metadata.xml new file mode 100644 index 00000000..301d2207 --- /dev/null +++ b/dev-python/genshi/metadata.xml @@ -0,0 +1,5 @@ + + + + python +