Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 452656 - x11-plugins/screenlets-0.1.2 does not work with python3
Summary: x11-plugins/screenlets-0.1.2 does not work with python3
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Desktop Misc. Team
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2013-01-17 11:09 UTC by Nils Andresen
Modified: 2013-06-01 13:45 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
epatch for direct python calls (screenlets-0.1.2-python2.diff,2.34 KB, patch)
2013-01-17 12:33 UTC, Nils Andresen
Details | Diff
screenlets-0.1.5.ebuild.patch (screenlets-0.1.5.ebuild.patch,1.26 KB, patch)
2013-01-17 16:33 UTC, Jeroen Roovers (RETIRED)
Details | Diff
screenlets-0.1.6.ebuild.patch (screenlets-0.1.6.ebuild.patch,1.35 KB, patch)
2013-01-18 10:16 UTC, Nils Andresen
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nils Andresen 2013-01-17 11:09:02 UTC
on a python3-system it is impossible to add screenlets from the screenlet-manager. Switching to python2 solves the problem.

Reproducible: Always

Steps to Reproduce:
1. run eselect python set 2 # if No. 2 is a python3 interpreter
2. run screenlets-manager 
3. try to add any screenlet
Most fail with "SyntaxError: invalid syntax" because of some "print" statement.
Comment 1 Nils Andresen 2013-01-17 11:16:55 UTC
Not directly caus of this problem but connected:
If you look at line 866 of /usr/share/screenlets-manager/screenlets-manager.py (this is the creation of an auto-start screenlet) the EXEC is "python -u %s/%sScreenlet.py"

IMHO this line should say "python2 -u %s/%sScreenlet.py"
Comment 2 Nils Andresen 2013-01-17 12:33:34 UTC
Created attachment 335902 [details, diff]
epatch for direct python calls

The attached patch fixes the problem for me by replacing all (well, all I could find anyway) direct calls to "python" by calls to "python2".
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2013-01-17 16:16:50 UTC
euscan reports that 0.1.5 is available. HOMEPAGE appears hard to access right now.
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2013-01-17 16:33:50 UTC
Created attachment 335922 [details, diff]
screenlets-0.1.5.ebuild.patch

Would this do?
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2013-01-17 16:37:39 UTC
Oh, according to https://launchpad.net/screenlets version 0.1.6 is available now. :)
Comment 6 Nils Andresen 2013-01-17 17:25:48 UTC
(In reply to comment #4)
Short answer: No :-)
Long answer: Kinda...

You did multiple thing in that patch, which don't work together...

The line: 
"sed -i $(find src/ -type f) -e 's|exec python|&2|g;s|python -u|python2 -u|g' || die"
works nicely in the 0.1.2 ebuild, thanks for that.

But you also bumped.. and 0.1.5 seems to depend on dev-python/beautifulsoup-3.
After installing that, too I could start screenlets-manager, however all screenslets were gone...
Comment 7 Nils Andresen 2013-01-17 17:38:13 UTC
Hmm. Seems like all screenlets now reside in [https://launchpad.net/indiv-screenlets]
So possibly adding the dependency to beautifulsoup is all that's missing. And a new ebuild for the individual-screenlets ;-)
Comment 8 Nils Andresen 2013-01-18 10:16:15 UTC
Created attachment 336034 [details, diff]
screenlets-0.1.6.ebuild.patch

The screenlets-0.1.6.ebuild.patch has the correct dependency. However, default screenlets are no longer part of the package.
Comment 9 Jeroen Roovers (RETIRED) gentoo-dev 2013-06-01 13:45:48 UTC
Fixed in 0.1.6. Thanks for the patch. It was helpful in migrating to the -r1 eclasses.