pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/textproc/py-libxml2 Enable Python 3
details: https://anonhg.NetBSD.org/pkgsrc/rev/5c6c0baaa686
branches: trunk
changeset: 624913:5c6c0baaa686
user: prlw1 <prlw1%pkgsrc.org@localhost>
date: Thu Oct 03 07:52:32 2013 +0000
description:
Enable Python 3
diffstat:
textproc/py-libxml2/Makefile | 4 +-
textproc/py-libxml2/distinfo | 5 +-
textproc/py-libxml2/patches/patch-ab | 182 ++++++++++++++++++++++-
textproc/py-libxml2/patches/patch-drv_libxml2.py | 40 +++++
4 files changed, 224 insertions(+), 7 deletions(-)
diffs (272 lines):
diff -r 04c2c9b8afea -r 5c6c0baaa686 textproc/py-libxml2/Makefile
--- a/textproc/py-libxml2/Makefile Thu Oct 03 01:25:51 2013 +0000
+++ b/textproc/py-libxml2/Makefile Thu Oct 03 07:52:32 2013 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.46 2013/05/26 09:33:16 adam Exp $
+# $NetBSD: Makefile,v 1.47 2013/10/03 07:52:32 prlw1 Exp $
DISTNAME= libxml2-2.9.1
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
@@ -14,6 +14,8 @@
WRKSRC= ${WRKDIR}/${DISTNAME}/python
NO_CONFIGURE= YES
+PYTHON_VERSIONS_INCLUDE_3X= yes
+
SUBST_CLASSES+= setup
SUBST_MESSAGE.setup= Fixing hardcoded paths.
SUBST_STAGE.setup= pre-build
diff -r 04c2c9b8afea -r 5c6c0baaa686 textproc/py-libxml2/distinfo
--- a/textproc/py-libxml2/distinfo Thu Oct 03 01:25:51 2013 +0000
+++ b/textproc/py-libxml2/distinfo Thu Oct 03 07:52:32 2013 +0000
@@ -1,8 +1,9 @@
-$NetBSD: distinfo,v 1.29 2013/05/28 22:26:13 drochner Exp $
+$NetBSD: distinfo,v 1.30 2013/10/03 07:52:32 prlw1 Exp $
SHA1 (libxml2-2.9.1.tar.gz) = eb3e2146c6d68aea5c2a4422ed76fe196f933c21
RMD160 (libxml2-2.9.1.tar.gz) = 257285d9ac070ed9f58666b7bd7c4653651c871b
Size (libxml2-2.9.1.tar.gz) = 5172503 bytes
SHA1 (patch-aa) = 54ce6f91dd29144f22247d15093d6d273f5f433b
-SHA1 (patch-ab) = 1ae347ac9e8ad8fd6f4f2cfb1017488d8a52ed1f
+SHA1 (patch-ab) = 793db9f20df8bba2fbee61abf4239a879c182aa7
SHA1 (patch-ac) = b2e8fac8221ae9fb00b3de33441dd83cd7422204
+SHA1 (patch-drv_libxml2.py) = 95b8b71bb619c25f092019a0f950b4416cd80738
diff -r 04c2c9b8afea -r 5c6c0baaa686 textproc/py-libxml2/patches/patch-ab
--- a/textproc/py-libxml2/patches/patch-ab Thu Oct 03 01:25:51 2013 +0000
+++ b/textproc/py-libxml2/patches/patch-ab Thu Oct 03 07:52:32 2013 +0000
@@ -1,9 +1,37 @@
-$NetBSD: patch-ab,v 1.1 2007/07/16 13:24:32 jmmv Exp $
+$NetBSD: patch-ab,v 1.2 2013/10/03 07:52:32 prlw1 Exp $
+
+- Fix build under Mac OS X (reorder os.path.join(ROOT,'include') )
+- White space changes for python 3 indentation (commit 4b61cf61)
---- setup.py.orig 2007-06-12 18:20:40.000000000 +0200
+--- setup.py.orig 2013-10-02 21:20:43.000000000 +0000
+++ setup.py
-@@ -56,10 +56,10 @@ else:
- # - iconv.h
+@@ -6,14 +6,14 @@ import sys, os
+ from distutils.core import setup, Extension
+
+ # Below ROOT, we expect to find include, include/libxml2, lib and bin.
+-# On *nix, it is not needed (but should not harm),
++# On *nix, it is not needed (but should not harm),
+ # on Windows, it is set by configure.js.
+-ROOT = r'/usr'
++ROOT = r'/usr'
+
+ # Thread-enabled libxml2
+ with_threads = 1
+
+-# If this flag is set (windows only),
++# If this flag is set (windows only),
+ # a private copy of the dlls are included in the package.
+ # If this flag is not set, the libxml2 and libxslt
+ # dlls must be found somewhere in the PATH at runtime.
+@@ -51,15 +51,15 @@ else:
+ libraryPrefix = ''
+ platformLibs = ["m","z"]
+
+-# those are examined to find
++# those are examined to find
+ # - libxml2/libxml/tree.h
+-# - iconv.h
++# - iconv.h
# - libxslt/xsltconfig.h
includes_dir = [
+os.path.join(ROOT,'include'),
@@ -14,3 +42,149 @@
HOME
];
+@@ -67,7 +67,7 @@ xml_includes=""
+ for dir in includes_dir:
+ if not missing(dir + "/libxml2/libxml/tree.h"):
+ xml_includes=dir + "/libxml2"
+- break;
++ break;
+
+ if xml_includes == "":
+ print("failed to find headers for libxml2: update includes_dir")
+@@ -77,7 +77,7 @@ iconv_includes=""
+ for dir in includes_dir:
+ if not missing(dir + "/iconv.h"):
+ iconv_includes=dir
+- break;
++ break;
+
+ if iconv_includes == "":
+ print("failed to find headers for libiconv: update includes_dir")
+@@ -90,22 +90,22 @@ os.path.join(ROOT,'lib'),
+
+ xml_files = ["libxml2-api.xml", "libxml2-python-api.xml",
+ "libxml.c", "libxml.py", "libxml_wrap.h", "types.c",
+- "xmlgenerator.py", "README", "TODO", "drv_libxml2.py"]
++ "xmlgenerator.py", "README", "TODO", "drv_libxml2.py"]
+
+ xslt_files = ["libxslt-api.xml", "libxslt-python-api.xml",
+ "libxslt.c", "libxsl.py", "libxslt_wrap.h",
+- "xsltgenerator.py"]
++ "xsltgenerator.py"]
+
+ if missing("libxml2-py.c") or missing("libxml2.py"):
+ try:
+- try:
+- import xmlgenerator
+- except:
+- import generator
++ try:
++ import xmlgenerator
++ except:
++ import generator
+ except:
+- print("failed to find and generate stubs for libxml2, aborting ...")
+- print(sys.exc_info()[0], sys.exc_info()[1])
+- sys.exit(1)
++ print("failed to find and generate stubs for libxml2, aborting ...")
++ print(sys.exc_info()[0], sys.exc_info()[1])
++ sys.exit(1)
+
+ head = open("libxml.py", "r")
+ generated = open("libxml2class.py", "r")
+@@ -116,7 +116,7 @@ if missing("libxml2-py.c") or missing("l
+ else:
+ result.write(line)
+ for line in generated.readlines():
+- result.write(line)
++ result.write(line)
+ head.close()
+ generated.close()
+ result.close()
+@@ -126,39 +126,39 @@ if missing("libxslt-py.c") or missing("l
+ if missing("xsltgenerator.py") or missing("libxslt-api.xml"):
+ print("libxslt stub generator not found, libxslt not built")
+ else:
+- try:
+- import xsltgenerator
+- except:
+- print("failed to generate stubs for libxslt, aborting ...")
+- print(sys.exc_info()[0], sys.exc_info()[1])
+- else:
+- head = open("libxsl.py", "r")
+- generated = open("libxsltclass.py", "r")
+- result = open("libxslt.py", "w")
+- for line in head.readlines():
++ try:
++ import xsltgenerator
++ except:
++ print("failed to generate stubs for libxslt, aborting ...")
++ print(sys.exc_info()[0], sys.exc_info()[1])
++ else:
++ head = open("libxsl.py", "r")
++ generated = open("libxsltclass.py", "r")
++ result = open("libxslt.py", "w")
++ for line in head.readlines():
+ if WITHDLLS:
+ result.write(altImport(line))
+ else:
+ result.write(line)
+- for line in generated.readlines():
+- result.write(line)
+- head.close()
+- generated.close()
+- result.close()
+- with_xslt=1
++ for line in generated.readlines():
++ result.write(line)
++ head.close()
++ generated.close()
++ result.close()
++ with_xslt=1
+ else:
+ with_xslt=1
+
+ if with_xslt == 1:
+ xslt_includes=""
+ for dir in includes_dir:
+- if not missing(dir + "/libxslt/xsltconfig.h"):
+- xslt_includes=dir + "/libxslt"
+- break;
++ if not missing(dir + "/libxslt/xsltconfig.h"):
++ xslt_includes=dir + "/libxslt"
++ break;
+
+ if xslt_includes == "":
+- print("failed to find headers for libxslt: update includes_dir")
+- with_xslt = 0
++ print("failed to find headers for libxslt: update includes_dir")
++ with_xslt = 0
+
+
+ descr = "libxml2 package"
+@@ -194,11 +194,11 @@ if with_xslt == 1:
+
+
+ extens=[Extension('libxml2mod', c_files, include_dirs=includes,
+- library_dirs=libdirs,
+- libraries=libs, define_macros=macros)]
++ library_dirs=libdirs,
++ libraries=libs, define_macros=macros)]
+ if with_xslt == 1:
+ extens.append(Extension('libxsltmod', xslt_c_files, include_dirs=includes,
+- library_dirs=libdirs,
++ library_dirs=libdirs,
+ libraries=libs, define_macros=macros))
+
+ if missing("MANIFEST"):
+@@ -208,8 +208,8 @@ if missing("MANIFEST"):
+ for file in xml_files:
+ manifest.write(file + "\n")
+ if with_xslt == 1:
+- for file in xslt_files:
+- manifest.write(file + "\n")
++ for file in xslt_files:
++ manifest.write(file + "\n")
+ manifest.close()
+
+ if WITHDLLS:
diff -r 04c2c9b8afea -r 5c6c0baaa686 textproc/py-libxml2/patches/patch-drv_libxml2.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/textproc/py-libxml2/patches/patch-drv_libxml2.py Thu Oct 03 07:52:32 2013 +0000
@@ -0,0 +1,40 @@
+$NetBSD: patch-drv_libxml2.py,v 1.1 2013/10/03 07:52:32 prlw1 Exp $
+
+Python 3 fix
+commit 6c9c611b
+
+--- drv_libxml2.py.orig 2009-07-30 15:24:34.000000000 +0000
++++ drv_libxml2.py
+@@ -34,12 +34,20 @@ TODO
+
+ """
+
+-__author__ = u"Stéphane Bidoul <sbi%skynet.be@localhost>"
++__author__ = "Stéphane Bidoul <sbi%skynet.be@localhost>"
+ __version__ = "0.3"
+
++import sys
+ import codecs
+-from types import StringType, UnicodeType
+-StringTypes = (StringType,UnicodeType)
++
++if sys.version < "3":
++ __author__ = codecs.unicode_escape_decode(__author__)[0]
++
++ from types import StringType, UnicodeType
++ StringTypes = (StringType,UnicodeType)
++
++else:
++ StringTypes = (str)
+
+ from xml.sax._exceptions import *
+ from xml.sax import xmlreader, saxutils
+@@ -65,7 +73,7 @@ def _d(s):
+
+ try:
+ import libxml2
+-except ImportError, e:
++except ImportError as e:
+ raise SAXReaderNotAvailable("libxml2 not available: " \
+ "import error was: %s" % e)
+
Home |
Main Index |
Thread Index |
Old Index