Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#38576 - [python-pybox2d] 370-1 is incompatible with python 3.3.3-1

Attached to Project: Community Packages
Opened by Charlie Burrows (charlieb) - Sunday, 19 January 2014, 16:08 GMT
Last edited by Alexander F. Rødseth (xyproto) - Tuesday, 28 January 2014, 00:10 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Alexander F. Rødseth (xyproto)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: The pybox2d package uses an idiom for **kwargs handling that is not valid in python3.3.3

Additional info:
* package version(s):
python 3.3.3-1
python-pybox2d 370-1

The upstream uses the following idiom all over the place:
def test(**kwargs):
for key, value in kwargs.iteritems():
print(key)
test()

In python3 this results in:
AttributeError: 'dict' object has no attribute 'iteritems'

but in python2.7 there's no problem.

Sorry to make this issue critical but since it renders the package completely unusable I think it is justified.
I also checked the latest upstream sources and they have the same issue which is not surprising since there have been only minor updates since this package was created.

Steps to reproduce:
1) Install python-pybox2d
2) run the hello world example from upstream: http://code.google.com/p/pybox2d/source/browse/trunk/examples/hello.py
2 alternate)
# Enter this:
import Box2D
world=Box2D.b2World()
# end
3) Get the following error:
Traceback (most recent call last):
File "examples/hello.py", line 14, in <module>
world=b2World() # default gravity is (0,-10) and doSleep is True
File "/usr/lib/python3.3/site-packages/Box2D-2.3b0-py3.3-linux-x86_64.egg/Box2D/Box2D.py", line 4625, in __init__
for key, value in kwargs.iteritems():
AttributeError: 'dict' object has no attribute 'iteritems'

This task depends upon

Closed by  Alexander F. Rødseth (xyproto)
Tuesday, 28 January 2014, 00:10 GMT
Reason for closing:  Fixed
Comment by Balló György (City-busz) - Sunday, 19 January 2014, 16:25 GMT
Please report the problem to the upstream developers:
http://code.google.com/p/pybox2d/issues
Comment by Charlie Burrows (charlieb) - Sunday, 19 January 2014, 16:48 GMT
Perhaps this package could be made a python2- package? That's kinda what I was getting at but not being an Arch maintainer I'm not sure how that would work.

Submitted to upstream:
http://code.google.com/p/pybox2d/issues/detail?id=53&ts=1390149969
Comment by Alexander F. Rødseth (xyproto) - Thursday, 23 January 2014, 11:03 GMT
I will consider packaging it for python2 as well, as a split package, if it works with python2.

Thanks for providing a good list of actions to reproduce the problem.

If it's any help, I see there are pybox2d (svn) packages in AUR as well.
Comment by Alexander F. Rødseth (xyproto) - Monday, 27 January 2014, 20:26 GMT
Changed the package into a split package, where only python2-pybox2d is provided (for now).
Comment by Alexander F. Rødseth (xyproto) - Monday, 27 January 2014, 20:33 GMT
Tested with python2. Works fine. The updated package (python2-pybox2d) will appear in [community] shortly (and python-pybox2d will disappear).
Comment by Charlie Burrows (charlieb) - Monday, 27 January 2014, 20:46 GMT
Thanks a lot for the very quick response Alexander.
Comment by Alexander F. Rødseth (xyproto) - Tuesday, 28 January 2014, 00:10 GMT
Time waits for no man!

Happy if it works for you now. Tested and pushed the package to [community]. Closing this bug. Please re-open if there should be further problems.

Loading...