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
42 lines
1.2 KiB
Makefile
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"
|