Browse Source

fix libxml2-python package

Waldemar Brodkorb 10 years ago
parent
commit
94722f640d

+ 5 - 7
package/libxml2/Makefile

@@ -10,7 +10,7 @@ PKG_MD5SUM:=		9c0cfef285d5c4a5c80d00904ddab380
 PKG_DESCR:=		XML C parser and toolkit
 PKG_SECTION:=		libs
 PKG_DEPENDS:=		zlib
-PKG_BUILDDEP:=		zlib
+PKG_BUILDDEP:=		zlib autotool
 PKG_URL:=		http://www.xmlsoft.org/
 PKG_SITES:=		http://xmlsoft.org/sources/
 PKG_OPTS:=		dev
@@ -18,7 +18,7 @@ PKG_OPTS:=		dev
 PKG_SUBPKGS:=		LIBXML2 LIBXML2_PYTHON
 PKGSD_LIBXML2_PYTHON:=	XML python bindings
 PKGSC_LIBXML2_PYTHON:=	libs
-PKGSB_LIBXML2_PYTHON:=	python2
+PKGSB_LIBXML2_PYTHON:=	python2-host
 
 ifeq ($(ADK_STATIC),y)
 PKG_OPTS+=		libmix
@@ -31,10 +31,11 @@ $(eval $(call PKG_template,LIBXML2_PYTHON,libxml2-python,${PKG_VERSION}-${PKG_RE
 
 include $(TOPDIR)/mk/python.mk
 
+AUTOTOOL_STYLE:=	autoreconf
 TARGET_CFLAGS:=		$(filter-out -flto,$(TARGET_CFLAGS))
 TARGET_LDFLAGS+=	-lpthread
 ifneq ($(ADK_PACKAGE_LIBXML2_PYTHON),)
-CONFIGURE_ARGS+=	--with-python=${STAGING_DIR}/usr
+CONFIGURE_ARGS+=	--with-python=$(STAGING_TARGET_DIR)/usr
 else
 CONFIGURE_ARGS+=	--without-python
 endif
@@ -65,16 +66,13 @@ CONFIGURE_ARGS+=	--without-c14n \
 			--with-xptr \
 			--with-zlib
 
-pre-configure:
-	${INSTALL_DIR} ${STAGING_DIR}/usr/lib/site-packages
-
 libxml2-install:
 	${INSTALL_DIR} ${IDIR_LIBXML2}/usr/lib
 	${CP} ${WRKINST}/usr/lib/libxml2.so* ${IDIR_LIBXML2}/usr/lib
 
 libxml2-python-install:
 	$(INSTALL_DIR) $(IDIR_LIBXML2_PYTHON)/usr/lib/python$(PYTHON_VERSION)/site-packages
-	$(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/* \
+	$(CP) $(WRKINST)/usr/lib/python$(PYTHON_VERSION)/site-packages/*.{so,py} \
 		$(IDIR_LIBXML2_PYTHON)/usr/lib/python$(PYTHON_VERSION)/site-packages
 	
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 0 - 42
package/libxml2/patches/patch-configure

@@ -1,42 +0,0 @@
---- libxml2-2.9.1.orig/configure	2013-04-19 09:36:11.000000000 +0200
-+++ libxml2-2.9.1/configure	2013-09-25 13:59:27.000000000 +0200
-@@ -14010,17 +14010,17 @@ case ${host} in
- esac
- 
- 
--
-+set -x
- PYTHON_VERSION=
- PYTHON_INCLUDES=
- PYTHON_SITE_PACKAGES=
- PYTHON_TESTS=
- pythondir=
- if test "$with_python" != "no" ; then
--    if test -x "$with_python/bin/python"
-+    if test -x "$with_python/bin/hostpython"
-     then
--        echo Found python in $with_python/bin/python
--        PYTHON="$with_python/bin/python"
-+        echo Found python in $with_python/bin/hostpython
-+        PYTHON="$with_python/bin/hostpython"
-     else
-         if test -x "$with_python/python.exe"
-         then
-@@ -14122,7 +14122,7 @@ fi
- 	else
- 	    if test -d $with_python/lib/site-packages
- 	    then
--		PYTHON_SITE_PACKAGES=$with_python/lib/site-packages
-+		PYTHON_SITE_PACKAGES=/usr/lib/python$PYTHON_VERSION/site-packages
- 	    else
- 		PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"`
- 	    fi
-@@ -14148,7 +14148,7 @@ else
-     PYTHON_SUBDIR=
- fi
- 
--
-+set +x
- 
- 
- WITH_MODULES=0

+ 87 - 0
package/libxml2/patches/patch-configure_in

@@ -0,0 +1,87 @@
+--- libxml2-2.9.1.orig/configure.in	2013-04-19 09:25:20.000000000 +0200
++++ libxml2-2.9.1/configure.in	2013-10-31 08:37:36.000000000 +0100
+@@ -748,80 +748,16 @@ PYTHON_SITE_PACKAGES=
+ PYTHON_TESTS=
+ pythondir=
+ if test "$with_python" != "no" ; then
+-    if test -x "$with_python/bin/python"
+-    then
+-        echo Found python in $with_python/bin/python
+-        PYTHON="$with_python/bin/python"
+-    else
+-        if test -x "$with_python/python.exe"
+-        then
+-            echo Found python in $with_python/python.exe
+-            PYTHON="$with_python/python.exe"
+-        else
+-            if test -x "$with_python"
+-            then
+-                echo Found python in $with_python
+-                PYTHON="$with_python"
+-            else
+-                if test -x "$PYTHON"
+-                then
+-                    echo Found python in environment PYTHON=$PYTHON
+-                    with_python=`$PYTHON -c "import sys; print(sys.exec_prefix)"`
+-                else
+-                    AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
+-		fi
+-	    fi
+-	fi
+-    fi
++    AC_PATH_PROG(PYTHON, python python2.6 python2.5 python2.4 python2.3 python2.2 python2.1 python2.0 python1.6 python1.5)
+     if test "$PYTHON" != ""
+     then
+         PYTHON_VERSION=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_version())"`
+-	PYTHON_INCLUDES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_inc())"`
+-# does not work as it produce a /usr/lib/python path instead of/usr/lib64/python
+-#
+-#	PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"`
+ 	echo Found Python version $PYTHON_VERSION
+     fi
+-    if test "$PYTHON_VERSION" != "" -a "$PYTHON_INCLUDES" = ""
+-    then
+-	if test -r $with_python/include/python$PYTHON_VERSION/Python.h
+-	then
+-	    PYTHON_INCLUDES=$with_python/include/python$PYTHON_VERSION
+-	else
+-	    if test -r $prefix/include/python$PYTHON_VERSION/Python.h
+-	    then
+-	        PYTHON_INCLUDES=$prefix/include/python$PYTHON_VERSION
+-	    else
+-		if test -r /usr/include/python$PYTHON_VERSION/Python.h
+-		then
+-		    PYTHON_INCLUDES=/usr/include/python$PYTHON_VERSION
+-		else
+-	            if test -r $with_python/include/Python.h
+-	            then
+-	                PYTHON_INCLUDES=$with_python/include
+-	            else
+-		        echo could not find python$PYTHON_VERSION/Python.h or $with_python/include/Python.h
+-		    fi
+-		fi
+-	    fi
+-	fi
+-    fi
+-    if test "$PYTHON_VERSION" != "" -a "$PYTHON_SITE_PACKAGES" = ""
+-    then
+-	if test -d $libdir/python$PYTHON_VERSION/site-packages
+-	then
+-	    PYTHON_SITE_PACKAGES=$libdir/python$PYTHON_VERSION/site-packages
+-	else
+-	    if test -d $with_python/lib/site-packages
+-	    then
+-		PYTHON_SITE_PACKAGES=$with_python/lib/site-packages
+-	    else
+-		PYTHON_SITE_PACKAGES=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_lib())"`
+-	    fi
+-	fi
+-    fi
++    PYTHON_INCLUDES=`$PYTHON$PYTHON_VERSION-config --includes`
++    PYTHON_LIBS=`$PYTHON$PYTHON_VERSION-config --ldflags`
++    PYTHON_SITE_PACKAGES=/usr/lib/python$PYTHON_VERSION/site-packages
+     pythondir='$(PYTHON_SITE_PACKAGES)'
+-    PYTHON_LIBS=`python$PYTHON_VERSION-config --ldflags`
+ else
+     PYTHON=
+ fi

+ 2 - 12
package/python2/Makefile

@@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		python2
 PKG_VERSION:=		2.7.5
-PKG_RELEASE:=		2
+PKG_RELEASE:=		3
 PKG_MD5SUM:=		b4f01a1d0ba0b46b05c73b2ac909b1df
 PKG_DESCR:=		Python scripting language (Version 2)
 PKG_SECTION:=		lang
@@ -95,21 +95,11 @@ CONFIGURE_ARGS:=	--with-threads \
 			--with-system-ffi \
 			--without-cxx-main
 
+HOST_STYLE:=		auto
 HOST_CONFIGURE_ARGS:=	--without-threads \
 			--disable-toolbox-glue \
 			--without-cxx-main
 
-python2-hostinstall:
-	$(INSTALL_BIN) ${HOST_WRKINST}/usr/bin/python \
-		$(STAGING_HOST_DIR)/usr/bin
-	$(INSTALL_BIN) ${WRKBUILD}/Parser/pgen \
-		$(STAGING_HOST_DIR)/usr/bin/pgen
-	$(CP) $(HOST_WRKINST)/usr/lib/python2.7 \
-		$(STAGING_HOST_DIR)/usr/lib
-	$(INSTALL_DIR) $(STAGING_HOST_DIR)/usr/include/python2.7
-	${CP} ${HOST_WRKINST}/usr/include/python2.7/pyconfig.h \
-		$(STAGING_HOST_DIR)/usr/include/python2.7
-	
 python2-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
 	${INSTALL_DIR} ${IDIR_PYTHON2}/usr/bin ${IDIR_PYTHON2}/usr/lib
 	${INSTALL_DIR} ${IDIR_PYTHON2}/usr/lib/python2.7

+ 13 - 0
package/python2/patches/patch-Misc_python-config_in

@@ -0,0 +1,13 @@
+--- Python-2.7.5.orig/Misc/python-config.in	2013-05-12 05:32:49.000000000 +0200
++++ Python-2.7.5/Misc/python-config.in	2013-10-30 21:09:36.000000000 +0100
+@@ -37,8 +37,8 @@ for opt in opt_flags:
+         print sysconfig.EXEC_PREFIX
+ 
+     elif opt in ('--includes', '--cflags'):
+-        flags = ['-I' + sysconfig.get_python_inc(),
+-                 '-I' + sysconfig.get_python_inc(plat_specific=True)]
++        flags = ['-I' + re.sub('host_', 'target_', sysconfig.get_python_inc()),
++                 '-I' + re.sub('host_', 'target_', sysconfig.get_python_inc(plat_specific=True))]
+         if opt == '--cflags':
+             flags.extend(getvar('CFLAGS').split())
+         print ' '.join(flags)