Package: mod-wsgi
Severity: normal
Version: 3.4-1
User: debian-pyt...@lists.debian.org
Usertags: python3.3
Tags: patch

Mod-wsgi fails to build from source against python3.3, because in debian
it has multiple include locations.

Please apply the proposed patch, or solve this bug in some other way.

diff -Nru mod-wsgi-3.4/debian/changelog mod-wsgi-3.4/debian/changelog
--- mod-wsgi-3.4/debian/changelog	2012-08-23 06:41:00.000000000 +0000
+++ mod-wsgi-3.4/debian/changelog	2012-10-23 15:20:47.000000000 +0000
@@ -1,3 +1,10 @@
+mod-wsgi (3.4-0ubuntu2) raring-proposed; urgency=low
+
+  * Patch configure.ac to build against pythonX.Y-config. This builds
+    python3.3 module, but default module symlink still points to 3.2.
+
+ -- Dmitrijs Ledkovs <dmitrij.led...@ubuntu.com>  Tue, 23 Oct 2012 16:00:24 +0100
+
 mod-wsgi (3.4-0ubuntu1) quantal; urgency=low
 
   * New upstream release
diff -Nru mod-wsgi-3.4/debian/control mod-wsgi-3.4/debian/control
--- mod-wsgi-3.4/debian/control	2012-08-23 06:16:34.000000000 +0000
+++ mod-wsgi-3.4/debian/control	2012-10-23 15:08:43.000000000 +0000
@@ -4,7 +4,7 @@
 Maintainer: Ubuntu Developers <ubuntu-devel-disc...@lists.ubuntu.com>
 XSBC-Original-Maintainer: Debian Python Modules Team <python-modules-t...@lists.alioth.debian.org>
 Uploaders: Bernd Zeimetz <b...@debian.org>, Piotr Ożarowski <pi...@debian.org>
-Build-Depends: debhelper (>= 5), python-all-dev, python3-all-dev, apache2-threaded-dev
+Build-Depends: debhelper (>= 5), python-all-dev, python3-all-dev, apache2-threaded-dev, dh-autoreconf
 Homepage: http://www.modwsgi.org/
 Standards-Version: 3.9.2
 Vcs-Svn: svn://svn.debian.org/python-modules/packages/mod-wsgi/trunk/
diff -Nru mod-wsgi-3.4/debian/patches/python-config.patch mod-wsgi-3.4/debian/patches/python-config.patch
--- mod-wsgi-3.4/debian/patches/python-config.patch	1970-01-01 00:00:00.000000000 +0000
+++ mod-wsgi-3.4/debian/patches/python-config.patch	2012-10-23 15:10:10.000000000 +0000
@@ -0,0 +1,74 @@
+Index: b/configure.ac
+===================================================================
+--- a/configure.ac
++++ b/configure.ac
+@@ -77,14 +77,7 @@
+     from distutils import sysconfig; \
+     stdout.write((sysconfig.get_config_var("VERSION")))'`
+ 
+-CPPFLAGS1=`${PYTHON} -c 'from sys import stdout; \
+-    from distutils import sysconfig; \
+-    stdout.write("-I" + sysconfig.get_config_var("INCLUDEPY"))'`
+-
+-CPPFLAGS2=`${PYTHON} -c 'from sys import stdout; \
+-    from distutils import sysconfig; \
+-    stdout.write(" ".join(filter(lambda x: x.startswith("-D"), \
+-    sysconfig.get_config_var("CFLAGS").split())))'`
++CPPFLAGS1=`${PYTHON}-config --includes`
+ 
+ if test "${ENABLE_EMBEDDED}" != "yes"; then
+ CPPFLAGS3="-DMOD_WSGI_DISABLE_EMBEDDED"
+@@ -92,7 +85,7 @@
+ CPPFLAGS3=""
+ fi
+ 
+-CPPFLAGS="${CPPFLAGS} ${CPPFLAGS1} ${CPPFLAGS2} ${CPPFLAGS3}"
++CPPFLAGS="${CPPFLAGS} ${CPPFLAGS1} ${CPPFLAGS3}"
+ 
+ AC_SUBST(CPPFLAGS)
+ 
+@@ -113,32 +106,7 @@
+     from distutils import sysconfig; \
+     stdout.write(sysconfig.get_config_var("PYTHONFRAMEWORK"))'`
+ 
+-if test "${PYTHONFRAMEWORKDIR}" = "no-framework" -o \
+-        "${ENABLE_FRAMEWORK}" != "yes"; then
+-    LDFLAGS1="-L${PYTHONLIBDIR}"
+-    LDFLAGS2="-L${PYTHONCFGDIR}"
+-
+-    LDLIBS1="-lpython${PYTHON_VERSION}"
+-    LDLIBS2=`${PYTHON} -c 'from sys import stdout; \
+-        from distutils import sysconfig; \
+-        stdout.write(sysconfig.get_config_var("LIBS"))'`
+-    LDLIBS3=`${PYTHON} -c 'from sys import stdout; \
+-        from distutils import sysconfig; \
+-        stdout.write(sysconfig.get_config_var("SYSLIBS"))'`
+-else
+-    LDFLAGS1="-Wl,-F${PYTHONFRAMEWORKPREFIX} -framework ${PYTHONFRAMEWORK}"
+-
+-    VERSION="${PYTHON_VERSION}"
+-    STRING="${PYTHONFRAMEWORKDIR}/Versions/${VERSION}/${PYTHONFRAMEWORK}"
+-    LDFLAGS2=`${PYTHON} -c "from sys import stdout; \
+-        from distutils import sysconfig; \
+-        stdout.write(sysconfig.get_config_var(
+-        \"LINKFORSHARED\").replace(\"${STRING}\", ''))"`
+-
+-    LDLIBS1=`${PYTHON} -c 'from sys import stdout; \
+-        from distutils import sysconfig; \
+-        stdout.write(sysconfig.get_config_var("LIBS"))'`
+-fi
++LDFLAGS1=`${PYTHON}-config --ldflags`
+ 
+ CFLAGS1=""
+ for arg in ${CFLAGS}
+@@ -157,8 +125,8 @@
+ fi
+ 
+ CFLAGS="${CFLAGS1} ${CFLAGS2}"
+-LDFLAGS="${LDFLAGS} ${LDFLAGS1} ${LDFLAGS2} ${LDFLAGS3}"
+-LDLIBS="${LDLIBS} ${LDLIBS1} ${LDLIBS2} ${LDLIBS3}"
++LDFLAGS="${LDFLAGS} ${LDFLAGS1} ${LDFLAGS3}"
++LDLIBS="${LDLIBS}"
+ 
+ AC_SUBST(CFLAGS)
+ AC_SUBST(LDFLAGS)
diff -Nru mod-wsgi-3.4/debian/patches/series mod-wsgi-3.4/debian/patches/series
--- mod-wsgi-3.4/debian/patches/series	1970-01-01 00:00:00.000000000 +0000
+++ mod-wsgi-3.4/debian/patches/series	2012-10-23 14:31:32.000000000 +0000
@@ -0,0 +1 @@
+python-config.patch
diff -Nru mod-wsgi-3.4/debian/rules mod-wsgi-3.4/debian/rules
--- mod-wsgi-3.4/debian/rules	2011-10-06 19:52:09.000000000 +0000
+++ mod-wsgi-3.4/debian/rules	2012-10-23 15:13:16.000000000 +0000
@@ -16,6 +16,10 @@
 PY3MAX=$(shell echo $(PY3VERS) | LANG=C awk '{print $$NF+0.1}')
 pkgdir = $(CURDIR)/debian/$(PACKAGE)$(if $(patsubst 3.%,,$(1)),,-py3)
 
+autoreconf-stamp:
+	dh_autoreconf
+	touch $@
+
 build-%/config.status:
 	dh_testdir
 	mkdir -p build-$*
@@ -29,13 +33,14 @@
 	touch $@
 
 build: build-arch
-build-arch: $(PYVERS:%=build-%/build-stamp) $(PY3VERS:%=build-%/build-stamp)
+build-arch: autoreconf-stamp $(PYVERS:%=build-%/build-stamp) $(PY3VERS:%=build-%/build-stamp)
 build-indep:
 
 clean:
 	dh_testdir
 	dh_testroot
 	rm -rf build-*
+	dh_autoreconf_clean
 	dh_clean 
 
 install-clean:
Regards,

Dmitrijs.

Reply via email to