pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/textproc/py-libxml2



Module Name:    pkgsrc
Committed By:   gdt
Date:           Mon Sep 18 13:21:40 UTC 2023

Modified Files:
        pkgsrc/textproc/py-libxml2: Makefile

Log Message:
py-libxml2: Add explanation of incorrect header file processing

It remains to turn the explanation of what is going wrong into a fix,
awaiting comments and perhaps the branch.

The esssence of the problem is that at least on older macOS, there is
a native libxml2 with legacy enabled, not intended to be used by the
package, and a native iconv, which is intended to be used, and the
ordering of -I results in the native libxml2 headers being used.


To generate a diff of this commit:
cvs rdiff -u -r1.87 -r1.88 pkgsrc/textproc/py-libxml2/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/textproc/py-libxml2/Makefile
diff -u pkgsrc/textproc/py-libxml2/Makefile:1.87 pkgsrc/textproc/py-libxml2/Makefile:1.88
--- pkgsrc/textproc/py-libxml2/Makefile:1.87    Tue Jun  6 12:42:33 2023
+++ pkgsrc/textproc/py-libxml2/Makefile Mon Sep 18 13:21:40 2023
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.87 2023/06/06 12:42:33 riastradh Exp $
+# $NetBSD: Makefile,v 1.88 2023/09/18 13:21:40 gdt Exp $
 
 PKGREVISION= 1
 .include "../../textproc/libxml2/Makefile.common"
@@ -14,6 +14,22 @@ PYSETUPSUBDIR=       python
 GNU_CONFIGURE= YES
 USE_TOOLS+=    pkg-config
 
+# python/setup.py looks in various places for libxml2 and libiconv,
+# including (usually incorrectly) in /usr/include, /usr/local/include
+# and /opt/include, and finally (usually correctly) in
+# $prefix/include.  This can result in finding an old system libxml2,
+# which is problematic in general, but can result in enabling legacy
+# functions e.g. xmlCleanupPredefinedEntities which will then fail at
+# import time.
+#
+# The following attempts to patch around this, but it is not good
+# enough with pkgsrc xml2 and native iconv because the iconv include
+# path is first.  This can happen on old macOS.
+# 
+# \todo Patch setup.py.in to have @LIBXML2_PREFIX@ and @ICONV_PREFIX@
+# (in order) and then substite those, or at least ensure that the
+# iconv prefix is afterwwards.
+#
 SUBST_CLASSES+=                setup
 SUBST_MESSAGE.setup=   Fixing hardcoded paths.
 SUBST_STAGE.setup=     pre-build



Home | Main Index | Thread Index | Old Index