[Pkg-sugar-devel] Bug#922215: python-box2d: Missing Python 3 support

Adam Cecile acecile at le-vert.net
Wed Feb 13 11:07:35 GMT 2019


Package: python-box2d
Version: 2.3.2~dfsg-2
Severity: important
Tags: patch

Dear Maintainer,

Please find attached a debdiff moving this package from CDBS to current DH and
providing Python 3 package.

This new package build fine with Stretch and Buster so it should be ready to
go.

Best regards, Adam.



-- System Information:
Debian Release: 9.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-8-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages python-box2d depends on:
ii  libc6       2.24-11+deb9u3
ii  libgcc1     1:6.3.0-18+deb9u1
ii  libstdc++6  6.3.0-18+deb9u1
ii  python      2.7.13-2

python-box2d recommends no packages.
-------------- next part --------------
diff -Nru python-box2d-2.3.2~dfsg/debian/changelog python-box2d-2.3.2~dfsg/debian/changelog
--- python-box2d-2.3.2~dfsg/debian/changelog	2017-09-11 14:32:52.000000000 +0200
+++ python-box2d-2.3.2~dfsg/debian/changelog	2019-02-13 10:19:03.000000000 +0100
@@ -1,3 +1,13 @@
+python-box2d (2.3.2~dfsg-2.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Update packaging from CDBS to DH.
+  * Patch setup.py to force SWIG run before build.
+  * Enable unit tests.
+  * Provide Python 3 package.
+
+ -- Adam Cecile <acecile at le-vert.net>  Wed, 13 Feb 2019 10:19:03 +0100
+
 python-box2d (2.3.2~dfsg-2) unstable; urgency=medium
 
   * Modernize Vcs-* fields:
diff -Nru python-box2d-2.3.2~dfsg/debian/control python-box2d-2.3.2~dfsg/debian/control
--- python-box2d-2.3.2~dfsg/debian/control	2017-09-11 14:32:52.000000000 +0200
+++ python-box2d-2.3.2~dfsg/debian/control	2019-02-13 10:19:03.000000000 +0100
@@ -4,11 +4,14 @@
 Maintainer: Debian Sugar Team <pkg-sugar-devel at lists.alioth.debian.org>
 Uploaders: Jonas Smedegaard <dr at jones.dk>
 Build-Depends: debhelper (>= 9), dh-python, python-all-dev, python-setuptools, python3-all-dev, python3-setuptools,
- swig
+ swig,
+ python-pytest <!nocheck>, python3-pytest <!nocheck>,
 Standards-Version: 4.1.0
 Vcs-Git: https://anonscm.debian.org/git/pkg-sugar/python-box2d.git
 Vcs-Browser: https://anonscm.debian.org/git/pkg-sugar/python-box2d.git
 Homepage: https://github.com/pybox2d/pybox2d
+X-Python-Version: >= 2.7
+X-Python3-Version: >= 3.4
 
 Package: python-box2d
 Architecture: any
diff -Nru python-box2d-2.3.2~dfsg/debian/patches/Force_SWIG_to_run_first python-box2d-2.3.2~dfsg/debian/patches/Force_SWIG_to_run_first
--- python-box2d-2.3.2~dfsg/debian/patches/Force_SWIG_to_run_first	1970-01-01 01:00:00.000000000 +0100
+++ python-box2d-2.3.2~dfsg/debian/patches/Force_SWIG_to_run_first	2019-02-13 10:19:03.000000000 +0100
@@ -0,0 +1,47 @@
+Description: Force_SWIG_to_run_first
+ Make sure SWIG is run before build so library/Box2D/Box2D.py is created
+ before building, otherwise unittest won't run because this file is missing
+ in build folder. 
+ .
+ python-box2d (2.3.2~dfsg-2.1) UNRELEASED; urgency=medium
+ .
+   * Non-maintainer upload.
+   * Update packaging from CDBS to DH.
+   * Provide Python 3 package.
+Author: Adam Cecile <acecile at le-vert.net>
+
+---
+Origin: other, https://stackoverflow.com/a/48942866
+Bug: TODO
+Forwarded: no
+Last-Update: 2019-02-13
+
+Index: python-box2d-2.3.2~dfsg/setup.py
+===================================================================
+--- python-box2d-2.3.2~dfsg.orig/setup.py
++++ python-box2d-2.3.2~dfsg/setup.py
+@@ -26,6 +26,16 @@ from setuptools import (setup, Extension
+ setuptools_version = setuptools.__version__
+ print('Using setuptools (version %s).' % setuptools_version)
+ 
++
++# Make sur SWIG is run first
++# https://stackoverflow.com/a/48942866
++from setuptools.command.build_py import build_py as _build_py
++class build_py(_build_py):
++    def run(self):
++        self.run_command("build_ext")
++        return _build_py.run(self)
++
++
+ if setuptools_version:
+     if (setuptools_version in ["0.6c%d"%i for i in range(1,9)] # old versions
+         or setuptools_version=="0.7a1"): # 0.7a1 py 3k alpha version based on old version
+@@ -152,6 +162,7 @@ write_init()
+ 
+ setup_dict = dict(
+     name             = "Box2D",
++    cmdclass         = {'build_py' : build_py},
+     version          = version_str,
+     author           = "Ken Lauer",
+     author_email     = "sirkne at gmail dot com",
diff -Nru python-box2d-2.3.2~dfsg/debian/patches/series python-box2d-2.3.2~dfsg/debian/patches/series
--- python-box2d-2.3.2~dfsg/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ python-box2d-2.3.2~dfsg/debian/patches/series	2019-02-13 10:19:03.000000000 +0100
@@ -0,0 +1 @@
+Force_SWIG_to_run_first
diff -Nru python-box2d-2.3.2~dfsg/debian/python-box2d.install python-box2d-2.3.2~dfsg/debian/python-box2d.install
--- python-box2d-2.3.2~dfsg/debian/python-box2d.install	2016-12-17 19:26:43.000000000 +0100
+++ python-box2d-2.3.2~dfsg/debian/python-box2d.install	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/
diff -Nru python-box2d-2.3.2~dfsg/debian/rules python-box2d-2.3.2~dfsg/debian/rules
--- python-box2d-2.3.2~dfsg/debian/rules	2017-09-11 14:32:52.000000000 +0200
+++ python-box2d-2.3.2~dfsg/debian/rules	2019-02-13 10:19:03.000000000 +0100
@@ -1,12 +1,21 @@
 #!/usr/bin/make -f
 
-# Don't compress example files
-#DEB_COMPRESS_EXCLUDE = .py .txt .ttf
-
+export PYBUILD_TEST_PYTEST=1
+export PYBUILD_TEST_ARGS=-v
+export PYBUILD_NAME=box2d
 
 %:
 	dh $@ --with python2,python3 --buildsystem=pybuild
 
-override_dh_auto_clean::
-	rm -f Box2D/Box2D_wrap.cpp Box2D/Box2D_wrap.h library/Box2D/__init__.py
-	rm -rf library/Box2D.egg-info
+override_dh_auto_clean:
+	dh_auto_clean
+	rm -rf library/Box2D/__init__.py \
+	       library/Box2D/*.so \
+	       library/Box2D/Box2D.py \
+	       Box2D/Box2D_wrap.h \
+	       Box2D/Box2D_wrap.cpp \
+	       library/Box2D.egg-info \
+	       .cache
+
+override_dh_install:
+	dh_install -X.py -X.txt -X.ttf
-------------- next part --------------
diff -Nru python-box2d-2.3.2~dfsg/debian/changelog python-box2d-2.3.2~dfsg/debian/changelog
--- python-box2d-2.3.2~dfsg/debian/changelog	2017-09-11 14:32:52.000000000 +0200
+++ python-box2d-2.3.2~dfsg/debian/changelog	2019-02-13 10:19:03.000000000 +0100
@@ -1,3 +1,13 @@
+python-box2d (2.3.2~dfsg-2.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Update packaging from CDBS to DH.
+  * Patch setup.py to force SWIG run before build.
+  * Enable unit tests.
+  * Provide Python 3 package.
+
+ -- Adam Cecile <acecile at le-vert.net>  Wed, 13 Feb 2019 10:19:03 +0100
+
 python-box2d (2.3.2~dfsg-2) unstable; urgency=medium
 
   * Modernize Vcs-* fields:
diff -Nru python-box2d-2.3.2~dfsg/debian/control python-box2d-2.3.2~dfsg/debian/control
--- python-box2d-2.3.2~dfsg/debian/control	2017-09-11 14:32:52.000000000 +0200
+++ python-box2d-2.3.2~dfsg/debian/control	2019-02-13 10:19:03.000000000 +0100
@@ -4,11 +4,14 @@
 Maintainer: Debian Sugar Team <pkg-sugar-devel at lists.alioth.debian.org>
 Uploaders: Jonas Smedegaard <dr at jones.dk>
 Build-Depends: debhelper (>= 9), dh-python, python-all-dev, python-setuptools, python3-all-dev, python3-setuptools,
- swig
+ swig,
+ python-pytest <!nocheck>, python3-pytest <!nocheck>,
 Standards-Version: 4.1.0
 Vcs-Git: https://anonscm.debian.org/git/pkg-sugar/python-box2d.git
 Vcs-Browser: https://anonscm.debian.org/git/pkg-sugar/python-box2d.git
 Homepage: https://github.com/pybox2d/pybox2d
+X-Python-Version: >= 2.7
+X-Python3-Version: >= 3.4
 
 Package: python-box2d
 Architecture: any
diff -Nru python-box2d-2.3.2~dfsg/debian/patches/Force_SWIG_to_run_first python-box2d-2.3.2~dfsg/debian/patches/Force_SWIG_to_run_first
--- python-box2d-2.3.2~dfsg/debian/patches/Force_SWIG_to_run_first	1970-01-01 01:00:00.000000000 +0100
+++ python-box2d-2.3.2~dfsg/debian/patches/Force_SWIG_to_run_first	2019-02-13 10:19:03.000000000 +0100
@@ -0,0 +1,47 @@
+Description: Force_SWIG_to_run_first
+ Make sure SWIG is run before build so library/Box2D/Box2D.py is created
+ before building, otherwise unittest won't run because this file is missing
+ in build folder. 
+ .
+ python-box2d (2.3.2~dfsg-2.1) UNRELEASED; urgency=medium
+ .
+   * Non-maintainer upload.
+   * Update packaging from CDBS to DH.
+   * Provide Python 3 package.
+Author: Adam Cecile <acecile at le-vert.net>
+
+---
+Origin: other, https://stackoverflow.com/a/48942866
+Bug: TODO
+Forwarded: no
+Last-Update: 2019-02-13
+
+Index: python-box2d-2.3.2~dfsg/setup.py
+===================================================================
+--- python-box2d-2.3.2~dfsg.orig/setup.py
++++ python-box2d-2.3.2~dfsg/setup.py
+@@ -26,6 +26,16 @@ from setuptools import (setup, Extension
+ setuptools_version = setuptools.__version__
+ print('Using setuptools (version %s).' % setuptools_version)
+ 
++
++# Make sur SWIG is run first
++# https://stackoverflow.com/a/48942866
++from setuptools.command.build_py import build_py as _build_py
++class build_py(_build_py):
++    def run(self):
++        self.run_command("build_ext")
++        return _build_py.run(self)
++
++
+ if setuptools_version:
+     if (setuptools_version in ["0.6c%d"%i for i in range(1,9)] # old versions
+         or setuptools_version=="0.7a1"): # 0.7a1 py 3k alpha version based on old version
+@@ -152,6 +162,7 @@ write_init()
+ 
+ setup_dict = dict(
+     name             = "Box2D",
++    cmdclass         = {'build_py' : build_py},
+     version          = version_str,
+     author           = "Ken Lauer",
+     author_email     = "sirkne at gmail dot com",
diff -Nru python-box2d-2.3.2~dfsg/debian/patches/series python-box2d-2.3.2~dfsg/debian/patches/series
--- python-box2d-2.3.2~dfsg/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ python-box2d-2.3.2~dfsg/debian/patches/series	2019-02-13 10:19:03.000000000 +0100
@@ -0,0 +1 @@
+Force_SWIG_to_run_first
diff -Nru python-box2d-2.3.2~dfsg/debian/python-box2d.install python-box2d-2.3.2~dfsg/debian/python-box2d.install
--- python-box2d-2.3.2~dfsg/debian/python-box2d.install	2016-12-17 19:26:43.000000000 +0100
+++ python-box2d-2.3.2~dfsg/debian/python-box2d.install	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/
diff -Nru python-box2d-2.3.2~dfsg/debian/rules python-box2d-2.3.2~dfsg/debian/rules
--- python-box2d-2.3.2~dfsg/debian/rules	2017-09-11 14:32:52.000000000 +0200
+++ python-box2d-2.3.2~dfsg/debian/rules	2019-02-13 10:19:03.000000000 +0100
@@ -1,12 +1,21 @@
 #!/usr/bin/make -f
 
-# Don't compress example files
-#DEB_COMPRESS_EXCLUDE = .py .txt .ttf
-
+export PYBUILD_TEST_PYTEST=1
+export PYBUILD_TEST_ARGS=-v
+export PYBUILD_NAME=box2d
 
 %:
 	dh $@ --with python2,python3 --buildsystem=pybuild
 
-override_dh_auto_clean::
-	rm -f Box2D/Box2D_wrap.cpp Box2D/Box2D_wrap.h library/Box2D/__init__.py
-	rm -rf library/Box2D.egg-info
+override_dh_auto_clean:
+	dh_auto_clean
+	rm -rf library/Box2D/__init__.py \
+	       library/Box2D/*.so \
+	       library/Box2D/Box2D.py \
+	       Box2D/Box2D_wrap.h \
+	       Box2D/Box2D_wrap.cpp \
+	       library/Box2D.egg-info \
+	       .cache
+
+override_dh_install:
+	dh_install -X.py -X.txt -X.ttf
-------------- next part --------------
A non-text attachment was scrubbed...
Name: python-box2d_2.3.2~dfsg-2.1.debian.tar.xz
Type: application/x-xz
Size: 8568 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-sugar-devel/attachments/20190213/5b1d2ebc/attachment.xz>
-------------- next part --------------
Format: 3.0 (quilt)
Source: python-box2d
Binary: python-box2d, python3-box2d, python-box2d-doc
Architecture: any all
Version: 2.3.2~dfsg-2.1
Maintainer: Debian Sugar Team <pkg-sugar-devel at lists.alioth.debian.org>
Uploaders: Jonas Smedegaard <dr at jones.dk>
Homepage: https://github.com/pybox2d/pybox2d
Standards-Version: 4.1.0
Vcs-Browser: https://anonscm.debian.org/git/pkg-sugar/python-box2d.git
Vcs-Git: https://anonscm.debian.org/git/pkg-sugar/python-box2d.git
Build-Depends: debhelper (>= 9), dh-python, python-all-dev, python-setuptools, python3-all-dev, python3-setuptools, swig, python-pytest <!nocheck>, python3-pytest <!nocheck>
Package-List:
 python-box2d deb python optional arch=any
 python-box2d-doc deb doc optional arch=all
 python3-box2d deb python optional arch=any
Checksums-Sha1:
 d4ecfd7836f22395580d34e02c2d59df3a975cb0 964747 python-box2d_2.3.2~dfsg.orig.tar.gz
 d9699dfc79f5c1d2c76896ee66d75deccbb839c0 8568 python-box2d_2.3.2~dfsg-2.1.debian.tar.xz
Checksums-Sha256:
 fc975448be18e3a5293bb83b1fecfa8920c492efd5341d2e796ce44225386f17 964747 python-box2d_2.3.2~dfsg.orig.tar.gz
 2e55d7cef5423550e736646ba8ee9d8267c19d4d9b67e600a3c35188a92dba07 8568 python-box2d_2.3.2~dfsg-2.1.debian.tar.xz
Files:
 4f1f077035e090d1bb7da0aef7518959 964747 python-box2d_2.3.2~dfsg.orig.tar.gz
 b0e9a92891268e7d495efb21d55077cc 8568 python-box2d_2.3.2~dfsg-2.1.debian.tar.xz


More information about the pkg-sugar-devel mailing list