r28843 - in /desktop/unstable/pygobject/debian: changelog control control.in rules

mpitt at users.alioth.debian.org mpitt at users.alioth.debian.org
Wed Jul 13 16:08:35 UTC 2011


Author: mpitt
Date: Wed Jul 13 16:08:35 2011
New Revision: 28843

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=28843
Log:
debian/control.in, debian/rules: Add and build python3-gobject and
python3-gobject-dbg packages. Until we get py3cairo packaged in Debian (in
the works), we need to build the python3 flavour with --disable-cairo, and
apply some workarounds in debian/rules (see the "FIXME"s); these will
disappear again with py3cairo.

Modified:
    desktop/unstable/pygobject/debian/changelog
    desktop/unstable/pygobject/debian/control
    desktop/unstable/pygobject/debian/control.in
    desktop/unstable/pygobject/debian/rules

Modified: desktop/unstable/pygobject/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/pygobject/debian/changelog?rev=28843&op=diff
==============================================================================
--- desktop/unstable/pygobject/debian/changelog [utf-8] (original)
+++ desktop/unstable/pygobject/debian/changelog [utf-8] Wed Jul 13 16:08:35 2011
@@ -8,6 +8,11 @@
     - 00git_python3_build.patch, 00git_python3-maketrans.patch: Python 3 fixes.
     - 00git_gio_test.patch: Port test_properties from static gio to GI Gio, so
       that the tests will also work with Python 3.
+  * debian/control.in, debian/rules: Add and build python3-gobject and
+    python3-gobject-dbg packages. Until we get py3cairo packaged in Debian (in
+    the works), we need to build the python3 flavour with --disable-cairo, and
+    apply some workarounds in debian/rules (see the "FIXME"s); these will
+    disappear again with py3cairo.
 
  -- Martin Pitt <mpitt at debian.org>  Wed, 13 Jul 2011 08:21:03 +0200
 

Modified: desktop/unstable/pygobject/debian/control
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/pygobject/debian/control?rev=28843&op=diff
==============================================================================
--- desktop/unstable/pygobject/debian/control [utf-8] (original)
+++ desktop/unstable/pygobject/debian/control [utf-8] Wed Jul 13 16:08:35 2011
@@ -14,6 +14,7 @@
                cdbs (>= 0.4.90~),
                quilt,
                python-all-dev (>= 2.6.6-3~),
+               python3-all-dev,
                libglib2.0-dev (>= 2.24.0),
                libcairo2-dev,
                libffi-dev (>= 3.0.5),
@@ -27,6 +28,7 @@
                docbook-xsl,
                autotools-dev,
                python-all-dbg,
+               python3-all-dbg,
                python-apt-dbg,
                python-cairo-dbg,
                gir1.2-glib-2.0,
@@ -55,6 +57,21 @@
  .
  This package contains the Python bindings for GObject. It is mostly
  used by other bindings to map their GObjects to Python objects.
+
+Package: python3-gobject
+Architecture: any
+Depends: ${python3:Depends},
+         ${shlibs:Depends},
+         ${misc:Depends},
+         gir1.2-glib-2.0
+Suggests: python3-gobject-dbg
+Description: Python 3 bindings for the GObject library
+ GObject is an abstraction layer that allows programming with an object
+ paradigm that is compatible with many languages. It is a part of Glib,
+ the core library used to build GTK+ and GNOME.
+ .
+ This package contains the Python 3 bindings for GObject. It is mostly
+ used by other bindings to map their GObjects to Python 3 objects.
 
 Package: python-gobject-cairo
 Architecture: any
@@ -101,3 +118,18 @@
  used by other bindings to map their GObjects to Python objects.
  .
  This package contains the extensions built for the Python debug interpreter.
+
+Package: python3-gobject-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: ${python3:Depends}, ${shlibs:Depends}, ${misc:Depends}, python3-gobject (= ${binary:Version})
+Description: Python 3 bindings for the GObject library (debug extension)
+ GObject is an abstraction layer that allows programming with an object
+ paradigm that is compatible with many languages. It is a part of Glib,
+ the core library used to build GTK+ and GNOME.
+ .
+ This package contains the Python 3 bindings for GObject. It is mostly
+ used by other bindings to map their GObjects to Python 3 objects.
+ .
+ This package contains the extensions built for the Python 3 debug interpreter.

Modified: desktop/unstable/pygobject/debian/control.in
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/pygobject/debian/control.in?rev=28843&op=diff
==============================================================================
--- desktop/unstable/pygobject/debian/control.in [utf-8] (original)
+++ desktop/unstable/pygobject/debian/control.in [utf-8] Wed Jul 13 16:08:35 2011
@@ -9,6 +9,7 @@
                cdbs (>= 0.4.90~),
                quilt,
                python-all-dev (>= 2.6.6-3~),
+               python3-all-dev,
                libglib2.0-dev (>= 2.24.0),
                libcairo2-dev,
                libffi-dev (>= 3.0.5),
@@ -22,6 +23,7 @@
                docbook-xsl,
                autotools-dev,
                python-all-dbg,
+               python3-all-dbg,
                python-apt-dbg,
                python-cairo-dbg,
                gir1.2-glib-2.0,
@@ -50,6 +52,21 @@
  .
  This package contains the Python bindings for GObject. It is mostly
  used by other bindings to map their GObjects to Python objects.
+
+Package: python3-gobject
+Architecture: any
+Depends: ${python3:Depends},
+         ${shlibs:Depends},
+         ${misc:Depends},
+         gir1.2-glib-2.0
+Suggests: python3-gobject-dbg
+Description: Python 3 bindings for the GObject library
+ GObject is an abstraction layer that allows programming with an object
+ paradigm that is compatible with many languages. It is a part of Glib,
+ the core library used to build GTK+ and GNOME.
+ .
+ This package contains the Python 3 bindings for GObject. It is mostly
+ used by other bindings to map their GObjects to Python 3 objects.
 
 Package: python-gobject-cairo
 Architecture: any
@@ -96,3 +113,18 @@
  used by other bindings to map their GObjects to Python objects.
  .
  This package contains the extensions built for the Python debug interpreter.
+
+Package: python3-gobject-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends: ${python3:Depends}, ${shlibs:Depends}, ${misc:Depends}, python3-gobject (= ${binary:Version})
+Description: Python 3 bindings for the GObject library (debug extension)
+ GObject is an abstraction layer that allows programming with an object
+ paradigm that is compatible with many languages. It is a part of Glib,
+ the core library used to build GTK+ and GNOME.
+ .
+ This package contains the Python 3 bindings for GObject. It is mostly
+ used by other bindings to map their GObjects to Python 3 objects.
+ .
+ This package contains the extensions built for the Python 3 debug interpreter.

Modified: desktop/unstable/pygobject/debian/rules
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/pygobject/debian/rules?rev=28843&op=diff
==============================================================================
--- desktop/unstable/pygobject/debian/rules [utf-8] (original)
+++ desktop/unstable/pygobject/debian/rules [utf-8] Wed Jul 13 16:08:35 2011
@@ -24,7 +24,7 @@
 
 PYDEFAULTVER := $(shell pyversions --default --version)
 PYVERS := $(shell pyversions --requested --version debian/control)
-PYVERS := $(filter-out $(PYDEFAULTVER), $(PYVERS)) $(PYDEFAULTVER)
+PYVERS := $(filter-out $(PYDEFAULTVER), $(PYVERS)) $(PYDEFAULTVER) $(shell py3versions --supported --version)
 
 patch-stamp:
 	dh_testdir
@@ -41,12 +41,30 @@
 			$(CURDIR)/configure $(configure_flags)
 	touch $@
 
+# FIXME: temporary rule until py3cairo gets packaged
+build-3.2/configure-stamp: patch-stamp
+	dh_testdir
+	mkdir -p build-3.2
+	cd build-3.2 && \
+		PYTHON=/usr/bin/python3.2 CFLAGS="$(CFLAGS)" \
+			$(CURDIR)/configure $(configure_flags) --disable-cairo CFLAGS="-g -O2 -I/usr/include/cairo"
+	touch $@
+
 dbg-build-%/configure-stamp: patch-stamp
 	dh_testdir
 	mkdir -p dbg-build-$*
 	cd dbg-build-$* && \
 		PYTHON=/usr/bin/python$*-dbg CFLAGS="$(CFLAGS) -O0" \
 			$(CURDIR)/configure $(configure_flags)
+	touch $@
+
+# FIXME: temporary rule until py3cairo gets packaged
+dbg-build-3.2/configure-stamp: patch-stamp
+	dh_testdir
+	mkdir -p dbg-build-3.2
+	cd dbg-build-3.2 && \
+		PYTHON=/usr/bin/python3.2-dbg CFLAGS="$(CFLAGS) -O0" \
+			$(CURDIR)/configure $(configure_flags) --disable-cairo CFLAGS="-g -O2 -I/usr/include/cairo"
 	touch $@
 
 build-%/build-stamp: build-%/configure-stamp
@@ -77,24 +95,57 @@
 
 check: $(PYVERS:%=build-%/check-stamp) $(PYVERS:%=dbg-build-%/check-stamp)
 
-build-%/install-stamp: build-%/build-stamp
-	dh_testdir
-	dh_testroot
-	PYTHON=/usr/bin/python$* $(MAKE) -C build-$* install DESTDIR=$(CURDIR)/debian/python-gobject-dev pyexecdir=$(call py_libdir_sh, $*)
+build-2.%/install-stamp: build-2.%/build-stamp
+	dh_testdir
+	dh_testroot
+	PYTHON=/usr/bin/python2.$* $(MAKE) -C build-2.$* install DESTDIR=$(CURDIR)/debian/python-gobject-dev pyexecdir=$(call py_libdir_sh, 2.$*)
 	# dh_python2 trips over this empty dir in the sanity check for >= 2.6, so remove it
-	-rmdir debian/python-gobject-dev/usr/lib/python$*/site-packages
+	-rmdir debian/python-gobject-dev/usr/lib/python2.$*/site-packages
 	# until all reverse dependencies of pygobject have been converted to
 	# dh_python2, install a library search path which is backwards
 	# compatible to pysupport (see Debian#614764)
-	echo "/usr/lib/pymodules/python$*/gtk-2.0/" > $(CURDIR)/debian/python-gobject-dev/$(call py_libdir_sh, $*)/gtk-2.0-pysupport-compat.pth
-	touch $@
-
-dbg-build-%/install-stamp: dbg-build-%/build-stamp
-	dh_testdir
-	dh_testroot
-	PYTHON=/usr/bin/python$*-dbg $(MAKE) -C dbg-build-$* install DESTDIR=$(CURDIR)/debian/python-gobject-dbg pyexecdir=$(call py_libdir_sh, $*)
+	echo "/usr/lib/pymodules/python2.$*/gtk-2.0/" > $(CURDIR)/debian/python-gobject-dev/$(call py_libdir_sh, 2.$*)/gtk-2.0-pysupport-compat.pth
+	touch $@
+
+build-3.%/install-stamp: build-3.%/build-stamp
+	dh_testdir
+	dh_testroot
+	PYTHON=/usr/bin/python3.$* $(MAKE) -C build-3.$* install DESTDIR=$(CURDIR)/debian/python3-gobject pyexecdir=$(call py_libdir_sh, 3.$*)
+	-find debian/python3-gobject/ ! -path '*/usr/lib/*' -delete
+	find debian/python3-gobject/ \( -name '*.pyc' -o -name '*.pyo' -o -name '*.la' \) -delete
+	rm -r debian/python3-gobject/usr/lib/pkgconfig
+	
+	# tag the Python extensions like distutils, as upstream build system
+	# uses autotools and does not know about http://www.python.org/dev/peps/pep-3149/
+	ABITAG=`python3.$* -c "import sysconfig; print(sysconfig.get_config_var('SOABI'))"`; \
+	for f in `find debian/python3-gobject/usr/lib/python* -name '*.so'`; do \
+	    mv $$f $${f%.so}.$$ABITAG.so; \
+	done
+	
+	touch $@
+
+dbg-build-2.%/install-stamp: dbg-build-2.%/build-stamp
+	dh_testdir
+	dh_testroot
+	PYTHON=/usr/bin/python2.$*-dbg $(MAKE) -C dbg-build-2.$* install DESTDIR=$(CURDIR)/debian/python-gobject-dbg pyexecdir=$(call py_libdir_sh, 2.$*)
 	find debian/python-gobject-dbg ! -type d ! \( -name '*.so' -o -name '*.so.*' \) -delete
 	find debian/python-gobject-dbg -type d -empty -delete
+	touch $@
+
+dbg-build-3.%/install-stamp: dbg-build-3.%/build-stamp
+	dh_testdir
+	dh_testroot
+	PYTHON=/usr/bin/python3.$*-dbg $(MAKE) -C dbg-build-3.$* install DESTDIR=$(CURDIR)/debian/python3-gobject-dbg pyexecdir=$(call py_libdir_sh, 3.$*)
+	find debian/python3-gobject-dbg ! -type d ! \( -name '*.so' -o -name '*.so.*' \) -delete
+	find debian/python3-gobject-dbg -type d -empty -delete
+	
+	# tag the Python extensions like distutils, as upstream build system
+	# uses autotools and does not know about http://www.python.org/dev/peps/pep-3149/
+	ABITAG=`python3.$*-dbg -c "import sysconfig; print(sysconfig.get_config_var('SOABI'))"`; \
+	for f in `find debian/python3-gobject-dbg/usr/lib/python* -name '*.so'`; do \
+	    mv $$f $${f%.so}.$$ABITAG.so; \
+	done
+	
 	touch $@
 
 install-stamp: $(PYVERS:%=build-%/build-stamp) $(PYVERS:%=dbg-build-%/build-stamp)
@@ -107,6 +158,7 @@
 	$(MAKE) -f debian/rules $(PYVERS:%=build-%/install-stamp) $(PYVERS:%=dbg-build-%/install-stamp)
 	find debian/python-gobject-dev -name \*.la -delete
 	for i in $(PYVERS); do \
+		[ "$${i#3.}" = "$$i" ] || continue; \
 		mkdir -p debian/python-gobject-cairo/$(call py_libdir_sh, $$i)/gi; \
 		mv debian/python-gobject-dev/$(call py_libdir_sh, $$i)/gi/_gi_cairo.so debian/python-gobject-cairo/$(call py_libdir_sh, $$i)/gi; \
 	done
@@ -119,7 +171,7 @@
 		b=$$(basename $$i .so); \
 		mv $$i $$(dirname $$i)/$${b}_d.so; \
 	done
-
+	
 	touch $@
 
 install: install-stamp
@@ -166,6 +218,7 @@
 	dh_compress -s -X.py
 	dh_fixperms -s
 	dh_python2 -a
+	dh_python3 -a
 	dh_makeshlibs -ppython-gobject     -V'python-gobject (>= 2.28.1)'
 	dh_makeshlibs -ppython-gobject-dbg -V'python-gobject-dbg (>= 2.28.1)'
 	dh_installdeb -s




More information about the pkg-gnome-commits mailing list