Hi,
The following patch makes www/py-genshi to download and uses Debian
patches (instead of copying them on your side - few patches but touching
several files):
- fix_tests_failure_with_python27.patch : Skip test which still fails
in Python 2.7.6.
- issue566.patch : Fix an IndexError preventing Genshi for uploading
attachments in Trac for users with non-English language settings.
- issue582.patch : Make genshi 0.7 compatible with Python 3.4.
- issue602.patch : Fix Python 3.5 compatibility issues.
See http://sources.debian.net/src/genshi/0.7-6/debian/patches/
I use the same way that www/w3m does for that. If proper patches are
prefered, I could go this way too.
Currently, genshi upstream seems abandoned (last commits in 2015), but
the library is still used by several projects (trac, relatorio which is
a dependance of tryton). Linux distributions (at least Debian and
Gentoo) uses these patches to makes it usable on python3.
With the diff, it is possible to use genshi on python3 on OpenBSD too.
My purpose is to switch several ports to python3 in order to be able to
run trytond on python3 (it isn't packaged on ports).
Thanks.
--
Sebastien Marie
Index: Makefile
===================================================================
RCS file: /cvs/ports/www/py-genshi/Makefile,v
retrieving revision 1.13
diff -u -p -r1.13 Makefile
--- Makefile 26 Nov 2015 21:50:54 -0000 1.13
+++ Makefile 18 Oct 2017 14:00:39 -0000
@@ -5,7 +5,7 @@ COMMENT = toolkit for generation of outp
MODPY_EGG_VERSION = 0.7
DISTNAME = Genshi-${MODPY_EGG_VERSION}
PKGNAME = py-${DISTNAME:L}
-REVISION = 0
+REVISION = 1
CATEGORIES = www
@@ -17,23 +17,33 @@ PERMIT_PACKAGE_CDROM = Yes
WANTLIB += ${MODPY_WANTLIB} pthread
MASTER_SITES = http://ftp.edgewall.com/pub/genshi/
+MASTER_SITES0 = ${MASTER_SITE_DEBIAN:=main/g/genshi/}
+
+DISTFILES = ${DISTNAME}.tar.gz \
+ genshi_0.7-6.debian.tar.xz:0
MODULES = lang/python
MODPY_SETUPTOOLS = Yes
MODPY_SETUP_ARGS = --with-speedups
+FLAVOR ?=
+FLAVORS = python3
+
TEST_DEPENDS = ${BUILD_DEPENDS}
+PATCH_DIST_STRIP = -p1
+
+do-distpatch:
+ for p in ${WRKDIR}/debian/patches/*.patch; do \
+ ${PATCH} ${PATCH_DIST_ARGS} < $$p; \
+ done
+
post-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/py-genshi
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/py-genshi
cd ${WRKSRC}/doc && pax -rw * ${PREFIX}/share/doc/py-genshi
cd ${WRKSRC}/examples && \
pax -rw * ${PREFIX}/share/examples/py-genshi
-
-do-test:
- @${MAKE_ENV} PYTHONPATH=${WRKSRC} ${MODPY_BIN} \
- ${WRKSRC}/genshi/tests/__init__.py
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/www/py-genshi/distinfo,v
retrieving revision 1.5
diff -u -p -r1.5 distinfo
--- distinfo 26 Jun 2015 06:56:22 -0000 1.5
+++ distinfo 18 Oct 2017 14:00:39 -0000
@@ -1,2 +1,4 @@
SHA256 (Genshi-0.7.tar.gz) = HRVEAuaLxESlW8rBAflstOWTcxAMx6LaB/vz5cxdc1I=
+SHA256 (genshi_0.7-6.debian.tar.xz) =
E6/z0eBOYGOr1GKYRUOnluqm6V3THrbP6s7dBIveZFo=
SIZE (Genshi-0.7.tar.gz) = 491579
+SIZE (genshi_0.7-6.debian.tar.xz) = 11380
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/www/py-genshi/pkg/PLIST,v
retrieving revision 1.3
diff -u -p -r1.3 PLIST
--- pkg/PLIST 26 Jun 2015 06:56:22 -0000 1.3
+++ pkg/PLIST 18 Oct 2017 14:00:39 -0000
@@ -8,102 +8,108 @@ lib/python${MODPY_VERSION}/site-packages
lib/python${MODPY_VERSION}/site-packages/Genshi-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/top_level.txt
lib/python${MODPY_VERSION}/site-packages/genshi/
lib/python${MODPY_VERSION}/site-packages/genshi/__init__.py
-lib/python${MODPY_VERSION}/site-packages/genshi/__init__.pyc
-lib/python${MODPY_VERSION}/site-packages/genshi/_speedups.so
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/genshi/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/genshi/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/${MODPY_PYCACHE}builder.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/${MODPY_PYCACHE}compat.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/${MODPY_PYCACHE}input.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/${MODPY_PYCACHE}output.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/${MODPY_PYCACHE}path.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/genshi/builder.py
-lib/python${MODPY_VERSION}/site-packages/genshi/builder.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/compat.py
-lib/python${MODPY_VERSION}/site-packages/genshi/compat.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/core.py
-lib/python${MODPY_VERSION}/site-packages/genshi/core.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/filters/
lib/python${MODPY_VERSION}/site-packages/genshi/filters/__init__.py
-lib/python${MODPY_VERSION}/site-packages/genshi/filters/__init__.pyc
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/genshi/filters/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/genshi/filters/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/filters/${MODPY_PYCACHE}html.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/filters/${MODPY_PYCACHE}i18n.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/filters/${MODPY_PYCACHE}transform.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/genshi/filters/html.py
-lib/python${MODPY_VERSION}/site-packages/genshi/filters/html.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/filters/i18n.py
-lib/python${MODPY_VERSION}/site-packages/genshi/filters/i18n.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/
lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/__init__.py
-lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/__init__.pyc
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/${MODPY_PYCACHE}i18n.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/${MODPY_PYCACHE}test_html.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/${MODPY_PYCACHE}transform.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/i18n.py
-lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/i18n.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/test_html.py
-lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/test_html.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/transform.py
-lib/python${MODPY_VERSION}/site-packages/genshi/filters/tests/transform.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/filters/transform.py
-lib/python${MODPY_VERSION}/site-packages/genshi/filters/transform.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/input.py
-lib/python${MODPY_VERSION}/site-packages/genshi/input.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/output.py
-lib/python${MODPY_VERSION}/site-packages/genshi/output.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/path.py
-lib/python${MODPY_VERSION}/site-packages/genshi/path.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/
lib/python${MODPY_VERSION}/site-packages/genshi/template/__init__.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/__init__.pyc
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}_ast24.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}ast24.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}astutil.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}directives.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}eval.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}interpolation.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}loader.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}markup.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}plugin.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/${MODPY_PYCACHE}text.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/_ast24.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/_ast24.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/ast24.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/ast24.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/astutil.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/astutil.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/base.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/base.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/directives.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/directives.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/eval.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/eval.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/interpolation.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/interpolation.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/loader.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/loader.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/markup.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/markup.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/plugin.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/plugin.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/
lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/__init__.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/__init__.pyc
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/${MODPY_PYCACHE}base.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/${MODPY_PYCACHE}directives.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/${MODPY_PYCACHE}eval.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/${MODPY_PYCACHE}interpolation.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/${MODPY_PYCACHE}loader.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/${MODPY_PYCACHE}markup.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/${MODPY_PYCACHE}plugin.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/${MODPY_PYCACHE}text.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/base.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/base.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/directives.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/directives.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/eval.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/eval.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/interpolation.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/interpolation.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/loader.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/loader.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/markup.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/markup.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/plugin.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/plugin.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/templates/
lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/templates/__init__.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/templates/__init__.pyc
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/templates/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/templates/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/text.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/tests/text.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/template/text.py
-lib/python${MODPY_VERSION}/site-packages/genshi/template/text.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/tests/
lib/python${MODPY_VERSION}/site-packages/genshi/tests/__init__.py
-lib/python${MODPY_VERSION}/site-packages/genshi/tests/__init__.pyc
+${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/genshi/tests/${MODPY_PYCACHE}/
+lib/python${MODPY_VERSION}/site-packages/genshi/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/tests/${MODPY_PYCACHE}builder.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/tests/${MODPY_PYCACHE}core.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/tests/${MODPY_PYCACHE}input.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/tests/${MODPY_PYCACHE}output.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/tests/${MODPY_PYCACHE}path.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/genshi/tests/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/genshi/tests/builder.py
-lib/python${MODPY_VERSION}/site-packages/genshi/tests/builder.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/tests/core.py
-lib/python${MODPY_VERSION}/site-packages/genshi/tests/core.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/tests/input.py
-lib/python${MODPY_VERSION}/site-packages/genshi/tests/input.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/tests/output.py
-lib/python${MODPY_VERSION}/site-packages/genshi/tests/output.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/tests/path.py
-lib/python${MODPY_VERSION}/site-packages/genshi/tests/path.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/tests/util.py
-lib/python${MODPY_VERSION}/site-packages/genshi/tests/util.pyc
lib/python${MODPY_VERSION}/site-packages/genshi/util.py
-lib/python${MODPY_VERSION}/site-packages/genshi/util.pyc
share/doc/py-genshi/
share/doc/py-genshi/2000ft.png
share/doc/py-genshi/api/
@@ -307,11 +313,12 @@ share/doc/py-genshi/api/since-index.html
share/doc/py-genshi/common/
share/doc/py-genshi/common/COPYING
share/doc/py-genshi/common/README.txt
+${MODPY_COMMENT}share/doc/py-genshi/common/${MODPY_PYCACHE}/
+share/doc/py-genshi/common/${MODPY_PYCACHE}doctools.${MODPY_PYC_MAGIC_TAG}pyc
share/doc/py-genshi/common/conf/
share/doc/py-genshi/common/conf/docutils.ini
share/doc/py-genshi/common/conf/epydoc.ini
share/doc/py-genshi/common/doctools.py
-share/doc/py-genshi/common/doctools.pyc
share/doc/py-genshi/common/style/
share/doc/py-genshi/common/style/bkgnd_pattern.png
share/doc/py-genshi/common/style/docutils.css