libxml2: Update to 2.15.3

libxml2, py-libxml2: Update to 2.15.3
This commit is contained in:
Dave Allured
2026-04-30 15:45:36 -06:00
committed by GitHub
parent f79f336322
commit 102a54650b
3 changed files with 9 additions and 75 deletions
+4 -9
View File
@@ -6,11 +6,11 @@ PortGroup python 1.0
# Please keep the version of the libxml2 and py-libxml2 ports the same.
name py-libxml2
version 2.15.2
version 2.15.3
revision 0
checksums rmd160 7946932ae4479ae4865f0c0b954587daddd9a1aa \
sha256 c8b9bc81f8b590c33af8cc6c336dbff2f53409973588a351c95f1c621b13d09d \
size 3148720
checksums rmd160 f5a7b99dcedafe78055942d6e3f6dd2b3ab8dc32 \
sha256 78262a6e7ac170d6528ebfe2efccdf220191a5af6a6cd61ea4a9a9a5042c7a07 \
size 3152452
set branch [join [lrange [split ${version} .] 0 1] .]
categories-append textproc
@@ -50,11 +50,6 @@ if {${name} ne ${subport}} {
patchfiles patch-setup.py.diff
if {${python.version} == 27} {
patchfiles-append \
python2.patch
}
post-patch {
reinplace "s|@LIBXML_VERSION@|${version}|g;s|@prefix@|${prefix}|g" ${worksrcpath}/setup.py
}
-61
View File
@@ -1,61 +0,0 @@
Restore Python 2 compatibility in Python bindings.
Fixes:
failed to find and generate stubs for libxml2, aborting ...
(<type 'exceptions.SyntaxError'>, SyntaxError('invalid syntax', ('/opt/local/var/macports/build/py27-libxml2-116ed89d/work/libxml2-2.15.2/python/generator.py', 360, 61, " raise Exception(f'Doxygen XML not found in {dstPref}')\n")))
failed to find and generate stubs for libxml2, aborting ...
(<type 'exceptions.LookupError'>, LookupError('unknown encoding: unicode',))
This patch was created with the awk and sed scripts posted here:
https://trac.macports.org/ticket/73605#comment:11
--- generator.py.orig 2026-03-04 03:38:57.000000000 -0600
+++ generator.py 2026-03-28 10:11:33.000000000 -0500
@@ -357,7 +357,7 @@
if not os.path.isdir(xmlDocDir):
xmlDocDir = dstPref + '/doc/xml'
if not os.path.isdir(xmlDocDir):
- raise Exception(f'Doxygen XML not found in {dstPref}')
+ raise Exception('Doxygen XML not found in %s' % dstPref)
def extractDocs(node):
text = ''
@@ -416,13 +416,13 @@
docs = extractDocs(func.find('detaileddescription'))
rtype = etree.tostring(func.find('type'),
- method='text', encoding='unicode').rstrip()
+ method='text', encoding='utf-8').rstrip()
valid = True
args = []
for arg in func.findall('param'):
atype = etree.tostring(arg.find('type'),
- method='text', encoding='unicode').rstrip()
+ method='text', encoding='utf-8').rstrip()
if atype == 'void':
continue
@@ -440,9 +440,9 @@
cond = None
if module1 != '':
- cond = f'defined(LIBXML_{module1}_ENABLED)'
+ cond = 'defined(LIBXML_%s_ENABLED)' % module1
if module2 != '':
- cond += f' && defined(LIBXML_{module2}_ENABLED)'
+ cond += ' && defined(LIBXML_%s_ENABLED)' % module2
functions[name] = (docs, [rtype], args, module, cond)
elif kind == 'enum':
@@ -461,7 +461,7 @@
else:
evalue = init.text.lstrip()
if evalue[0] != '=':
- raise Exception(f'invalid init value {init}')
+ raise Exception('invalid init value %s' % init)
evalue = eval(evalue[1:].strip())
edict[ename] = evalue
+5 -5
View File
@@ -6,11 +6,11 @@ PortGroup clang_dependency 1.0
# Please keep the version of the libxml2 and py-libxml2 ports the same.
name libxml2
version 2.15.2
revision 1
checksums rmd160 7946932ae4479ae4865f0c0b954587daddd9a1aa \
sha256 c8b9bc81f8b590c33af8cc6c336dbff2f53409973588a351c95f1c621b13d09d \
size 3148720
version 2.15.3
revision 0
checksums rmd160 f5a7b99dcedafe78055942d6e3f6dd2b3ab8dc32 \
sha256 78262a6e7ac170d6528ebfe2efccdf220191a5af6a6cd61ea4a9a9a5042c7a07 \
size 3152452
set branch [join [lrange [split ${version} .] 0 1] .]
categories textproc