Mittwoch, 11. Mai 2011

gPodder on the N900 MeeGo 1.2 Developer Edition

If you want to try the MeeGo N900 Developer Edition for the N900 but think that clicking through the Widgets Gallery gets boring after 45 minutes, why not try out the QML UI of gPodder on it? It's pretty easy. This post assumes that you are using the alpha release of the N900 Developer Edition from a microSD card and boot via USB.

Thankfully, Python 2.6 is already preinstalled, but you need recent PySide packages for gPodder to work (PySide exposes the Qt framework to the Python world), you can get them from PySide binaries for MeeGo. You don't need to upgrade Qt, simply installing the PySide packages is enough:

zypper addrepo http://download.meego.com/live/home:/renatofilho/Trunk/ pyside
zypper install python-pyside


What you need now is a recent Git checkout of gPodder's "tres" branch. I suggest you do that on your computer:

git clone git://repo.or.cz/gpodder.git
cd gpodder
git checkout tres


Now there are two pure Python dependencies for gPodder that you also need. As there are no packages for them in MeeGo yet, you also have to provide them manually. The first one is the Universal Feedparser. Grab a recent release from the downloads page and copy the file feedparser.py to the src/ folder in your gPodder checkout. The second dependency is mygpoclient, a client library for the gpodder.net web service. You can check out the latest version from Git:

git clone git://repo.or.cz/mygpoclient.git

In the checkout, you will find a folder called mygpoclient - copy this to src/ in your gPodder checkout. Now you have a complete, self-contained gPodder checkout on your computer. Use rsync or scp -r to copy it over to your N900 (you can use USB Networking for that).

Now that you have everything on your N900, you have to add some subscriptions manually (mostly because the QML doesn't yet have the UI required to subscribe to new feeds) - use bin/gpo to start the command-line utility, then do something like subscribe fb:linuxoutlaws to subscribe to an example podcast. Quit the command line application and start the QML UI using bin/gpodder --qml, which should - after some loading time - show gPodder/QML on your MeeGo 1.2 Developer Edition environment.

If you have made it this far, don't stop here - try out the examples from the PySide/QML Tutorial and familiarize yourself with Python development on MeeGo - it's easy and fun!

Kommentare:

Jens hat gesagt…

Great work man, I'll test it as soon as the N950 is released. And don't forget to test Panucci on MeeGo. If it doesn't work let me know and I'll try to fix it. If plain Qt looks ugly on MeeGo handset I may have to use QML for that too.

Ilkka hat gesagt…

I just tried this on my N900 and can't start gpodder. It complains about not being able to import the QtOpenGL module:

[meego@localhost bin]$ ./gpodder --qml
Using modules from /home/meego/gpodder/src
Using resources from /home/meego/gpodder/data
Traceback (most recent call last):
File "./gpodder", line 143, in
from gpodder import qmlui
File "/home/meego/gpodder/src/gpodder/qmlui/__init__.py", line 27, in
from PySide.QtOpenGL import *
ImportError: No module named QtOpenGL

The N900 is running off the latest DE packages and was just updated today, and libqtopengl4 is installed.

thp hat gesagt…

Ilkka: Try upgrading to PySide 1.0.2 if possible. If it doesn't work, comment out "from PySide.QtOpenGL import *" in src/gpodder/qmlui/__init__.py - the related PySide bug is http://bugs.pyside.org/show_bug.cgi?id=853.

If you want to have the UI OpenGL-accelerated, you can change the line "self.app = QApplication(args)" in the same file (src/gpodder/qmlui/__init__.py" to "self.app = QApplication(args+['-graphicssystem', 'opengl'])". This should make the UI HW-accelerated, even if QtOpenGL isn't available through PySide.