Mon May 15 18:07:40 2017 UTC ()
PR pkg/47444 diro: py-libxslt is broken. Needs to link explicitly to
libxml2mod.so, so do that and fix rpath handling.


(dholland)
diff -r1.57 -r1.58 pkgsrc/textproc/libxslt/distinfo
diff -r0 -r1.1 pkgsrc/textproc/libxslt/patches/patch-python_setup.py
diff -r1.48 -r1.49 pkgsrc/textproc/py-libxslt/Makefile

cvs diff -r1.57 -r1.58 pkgsrc/textproc/libxslt/distinfo (expand / switch to unified diff)

--- pkgsrc/textproc/libxslt/distinfo 2016/05/29 21:06:46 1.57
+++ pkgsrc/textproc/libxslt/distinfo 2017/05/15 18:07:40 1.58
@@ -1,8 +1,9 @@ @@ -1,8 +1,9 @@
1$NetBSD: distinfo,v 1.57 2016/05/29 21:06:46 wiz Exp $ 1$NetBSD: distinfo,v 1.58 2017/05/15 18:07:40 dholland Exp $
2 2
3SHA1 (libxslt-1.1.29.tar.gz) = edcaeabb3555ae44853bdc406ee9521fb65c620d 3SHA1 (libxslt-1.1.29.tar.gz) = edcaeabb3555ae44853bdc406ee9521fb65c620d
4RMD160 (libxslt-1.1.29.tar.gz) = 40a5202b3967db6b01cd6c0e722a9e459cac7960 4RMD160 (libxslt-1.1.29.tar.gz) = 40a5202b3967db6b01cd6c0e722a9e459cac7960
5SHA512 (libxslt-1.1.29.tar.gz) = a1ce555a74a9dabe65e8f64bb66e27e77760fd76940d88f2d59f58dd63ca73c8ae59f3fcbd8e76c8f92ff992fb0c09328528c20ea38ccac83e63252106bf5f31 5SHA512 (libxslt-1.1.29.tar.gz) = a1ce555a74a9dabe65e8f64bb66e27e77760fd76940d88f2d59f58dd63ca73c8ae59f3fcbd8e76c8f92ff992fb0c09328528c20ea38ccac83e63252106bf5f31
6Size (libxslt-1.1.29.tar.gz) = 3428524 bytes 6Size (libxslt-1.1.29.tar.gz) = 3428524 bytes
7SHA1 (patch-ae) = 40ce3940a93b6a2dc804f62676909d3313e0ea52 7SHA1 (patch-ae) = 40ce3940a93b6a2dc804f62676909d3313e0ea52
8SHA1 (patch-ah) = f92809ab34e53962ec8b62e50ded7a27c89f10f8 8SHA1 (patch-ah) = f92809ab34e53962ec8b62e50ded7a27c89f10f8
 9SHA1 (patch-python_setup.py) = 20b257926a8626bce44ca0448d618619a7d69995

File Added: pkgsrc/textproc/libxslt/patches/Attic/patch-python_setup.py
$NetBSD: patch-python_setup.py,v 1.1 2017/05/15 18:07:40 dholland Exp $

Fix rpath handling. Needs to link to libxml2mod.so explicitly.

--- python/setup.py.orig	2017-05-15 18:02:13.012917947 +0000
+++ python/setup.py
@@ -53,7 +53,7 @@ if xml_includes == "":
 iconv_includes="@LIBICONVDIR@/include"
 
 # those are added in the linker search path for libraries
-libdirs = ["@LIBXML2DIR@/lib"]
+libdirs = ["@LIBXML2DIR@/lib", "@PYSHLIBDIR@"]
 
 xml_files = ["libxml2-api.xml", "libxml2-python-api.xml",
              "libxml.c", "libxml.py", "libxml_wrap.h", "types.c",
@@ -132,7 +132,7 @@ descr = "libxml2 package"
 modules = []
 c_files = []
 includes= [xml_includes, iconv_includes]
-libs    = [] + platformLibs
+libs    = ["xml2mod"] + platformLibs
 macros  = []
 if with_threads:
     macros.append(('_REENTRANT','1'))
@@ -161,7 +161,8 @@ if with_xslt == 1:
 extens=[]
 if with_xslt == 1:
     extens.append(Extension('libxsltmod', xslt_c_files, include_dirs=includes,
-			    library_dirs=libdirs, 
+			    library_dirs=libdirs,
+			    runtime_library_dirs=libdirs,
                             libraries=libs, define_macros=macros))
 
 if missing("MANIFEST"):

cvs diff -r1.48 -r1.49 pkgsrc/textproc/py-libxslt/Makefile (expand / switch to unified diff)

--- pkgsrc/textproc/py-libxslt/Makefile 2017/01/01 14:44:01 1.48
+++ pkgsrc/textproc/py-libxslt/Makefile 2017/05/15 18:07:40 1.49
@@ -1,39 +1,44 @@ @@ -1,39 +1,44 @@
1# $NetBSD: Makefile,v 1.48 2017/01/01 14:44:01 wiz Exp $ 1# $NetBSD: Makefile,v 1.49 2017/05/15 18:07:40 dholland Exp $
2 2
3.include "../../textproc/libxslt/Makefile.common" 3.include "../../textproc/libxslt/Makefile.common"
4 4
5PKGNAME= ${PYPKGPREFIX}-${DISTNAME} 5PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
 6PKGREVISION= 1
6CATEGORIES= textproc python 7CATEGORIES= textproc python
7 8
8MAINTAINER= minskim@NetBSD.org 9MAINTAINER= minskim@NetBSD.org
9COMMENT= Python wrapper for libxslt 10COMMENT= Python wrapper for libxslt
10 11
11DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat 12DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
12DEPENDS+= ${PYPKGPREFIX}-libxml2>=2.6.8:../../textproc/py-libxml2 13DEPENDS+= ${PYPKGPREFIX}-libxml2>=2.6.8:../../textproc/py-libxml2
13 14
14PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 # not yet ported as of 1.1.28 15PYTHON_VERSIONS_INCOMPATIBLE= 34 35 36 # not yet ported as of 1.1.28
15 16
16PYSETUPSUBDIR= python 17PYSETUPSUBDIR= python
17NO_CONFIGURE= yes 18NO_CONFIGURE= yes
18 19
19MAKE_ENV+= PYLIBXSLTVERSION=${PKGVERSION} 20MAKE_ENV+= PYLIBXSLTVERSION=${PKGVERSION}
20 21
 22PYSITEDIR= ${PREFIX}/lib/python${PYVERSSUFFIX}/site-packages
 23
21SUBST_CLASSES+= setup 24SUBST_CLASSES+= setup
22SUBST_MESSAGE.setup= Fixing hardcoded paths. 25SUBST_MESSAGE.setup= Fixing hardcoded paths.
23SUBST_STAGE.setup= pre-build 26SUBST_STAGE.setup= pre-build
24SUBST_FILES.setup= python/setup.py 27SUBST_FILES.setup= python/setup.py
25SUBST_SED.setup= -e "s,@LIBICONVDIR@,${BUILDLINK_PREFIX.iconv},g" 28SUBST_SED.setup= -e "s,@LIBICONVDIR@,${BUILDLINK_PREFIX.iconv},g"
26SUBST_SED.setup+= -e "s,@LIBXML2DIR@,${BUILDLINK_PREFIX.libxml2},g" 29SUBST_SED.setup+= -e "s,@LIBXML2DIR@,${BUILDLINK_PREFIX.libxml2},g"
27SUBST_SED.setup+= -e "s,@LIBXSLTDIR@,${BUILDLINK_PREFIX.libxslt},g" 30SUBST_SED.setup+= -e "s,@LIBXSLTDIR@,${BUILDLINK_PREFIX.libxslt},g"
 31SUBST_SED.setup+= -e "s,@PYSHLIBDIR@,${PYSITEDIR},g"
28 32
29post-extract: setuppy 33post-extract: setuppy
30.PHONY: setuppy 34.PHONY: setuppy
31setuppy: 35setuppy:
32 ${CP} ${FILESDIR}/setup.py ${WRKSRC}/python 36 ${CP} ${FILESDIR}/setup.py ${WRKSRC}/python
33 37
 38.include "../../textproc/py-libxml2/buildlink3.mk"
34BUILDLINK_API_DEPENDS.libxslt+= libxslt>=${PKGVERSION} 39BUILDLINK_API_DEPENDS.libxslt+= libxslt>=${PKGVERSION}
35.include "../../textproc/libxslt/buildlink3.mk" 40.include "../../textproc/libxslt/buildlink3.mk"
36.include "../../lang/python/extension.mk" 41.include "../../lang/python/extension.mk"
37.include "../../lang/python/distutils.mk" 42.include "../../lang/python/distutils.mk"
38.include "../../converters/libiconv/buildlink3.mk" 43.include "../../converters/libiconv/buildlink3.mk"
39.include "../../mk/bsd.pkg.mk" 44.include "../../mk/bsd.pkg.mk"