Charlie Li fc6c145ef0
textproc/libxml2: really update to 2.15.1
Changelog: https://gitlab.gnome.org/GNOME/libxml2/-/blob/2.15/NEWS

Notably, all documentation generation requires a circular dependency
on textproc/libxslt. While the API documentation, in HTML, lives
on the upstream site [0], the man pages are now pre-rendered manually.

Also includes an upstream commit addressing unsafe pointer usage
in XPath, leading to security bugs in consumers like libxslt
(CVE-2025-10911). [1]

Mark the -python child port DEPRECATED without expiration date since
upstream has not provided a firm one yet, particularly the release
schedule for the next major version 2.16.

[0] https://gnome.pages.gitlab.gnome.org/libxml2/html/index.html
[1] 0e50b31902

Event: Snowstorm Special January 2026
With hat: desktop
PR: 291316
2026-01-26 21:34:39 -05:00

42 lines
1.2 KiB
Makefile

PORTNAME= libxml2-python
PORTREVISION= 0
CATEGORIES= textproc gnome python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
COMMENT= Python interface for XML parser library for GNOME
MASTERDIR= ${.CURDIR}/../libxml2
DEPRECATED= Planned for removal in 2.16: https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.15.0
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
doxygen:devel/doxygen
USES+= gnome python shebangfix
USE_GNOME= libxml2
USE_PYTHON= autoplist distutils # generator.py not found in PEP-517 environment
SHEBANG_GLOB= *.py*
OPTIONS_EXCLUDE= ${OPTIONS_DEFINE} ${OPTIONS_GROUP_LEGACY}
# Tell master port we're a slave port
LIBXML2_SLAVE= python
# Grab pkg-descr from slave port
DESCR= ${.CURDIR}/pkg-descr
BUILD_WRKSRC= ${WRKSRC}/python
INSTALL_WRKSRC= ${BUILD_WRKSRC}
TEST_WRKSRC= ${BUILD_WRKSRC}
# Don't append pkg-plist from master port
PLIST=
DOCSDIR= ${PREFIX}/share/doc/libxml2-python
EXAMPLESDIR= ${PREFIX}/share/examples/libxml2-python
pre-build:
# ( cd ${WRKSRC} && ${DO_MAKE_BUILD} libxml2.la && \
# cd ${WRKSRC}/doc && ${DO_MAKE_BUILD} )
cd ${WRKSRC}/doc && ${DO_MAKE_BUILD} DOXYGEN=doxygen
.include "${MASTERDIR}/Makefile"