[SailfishDevel] Python in Jolla Harbour and repositories ?

Thomas Perl th.perl at gmail.com
Fri May 23 08:25:02 UTC 2014


Hi,

2014-05-23 1:39 GMT+02:00 Roberto Colistete Jr. <roberto.colistete at gmail.com>:
>     Will Python applications be accepted in Jolla Harbour with the new
> update 6 / 7 planned for June ? The Together.Jolla.com topic :
> https://together.jolla.com/question/6116/python-application-support-in-jolla-store-harbour/
> doesn't give a date.

The only thing blocking Python 3 for Harbour apps at the moment is
that the store backend needs to have some things still implemented
that allows apps that use APIs introduced in newer OS versions to be
hidden from older OS versions (e.g. stable PyOtherSide was introduced
in update 4, but right now, there's no way for the backend to hide
PyOtherSide-using applications from devices running update 1-3, and
the app would be uninstallable/broken on a device running update 1, 2
or 3, which would result in users observing uninstallable/broken apps
in the store). This is actively being worked on.

>     The wiki Sailfish/Python Development :
> https://wiki.merproject.org/wiki/Sailfish/Python_Development
> is updated, listing 14 Python applications released for Sailfish, available
> at OpenRepos.net. It would be nice to also have them on Jolla Harbour.
>
>     I also would like to be maintainer of some of these Python packages
> (modules) :
> https://build.merproject.org/project/packages?project=home%3Arcolistete
> and include (mainly SymPy and IPython) in default Jolla repositories
> (nemo:devel:mw ?) :
> https://build.merproject.org/project/show?project=nemo%3Adevel%3Amw
> What is the procedure ? Some months ago I was told by IRC : "basically you
> ask w00t to create a repo for you in nemomobile github and then setup a
> webhook which builds it in mer OBS". Is it the same now ?

Yes, that's still the same procedure. For packages where nemo is not
upstream (e.g. SymPy and IPython), the Github organization to use is
https://github.com/nemomobile-packages/

For packaging, we use tar_git, which is described here:
https://wiki.merproject.org/wiki/Nemo/Development#With_tar_git_service

Basically, tar_git clones the Git repository, then changes the .spec
file to the version that is the latest tag in Git, adds all
"[something] text" parts from the Git commit messages to the RPM
changelog and builds the whole thing in OBS.

>     "python3-sympy" package (30 MB after installation) is used by Integral,
> Derivative (released today) and Limit, and can also be used by other future
> applications. IPython 2.0 package is obviously a must for any developer
> using Python on device.

For SymPy, do you know if the API is stable or does it change (in
incompatible ways) between releases? If you want to depend on it from
your app in Harbour, it has to have a stable API, and we have to have
a maintainer for the package (to get any security fixes and updates
packaged). For small, pure-python libraries, just packaging it with
the app is an option, but for big packages like SymPy (that probably
has some C extension modules), the repository is probably the best
way.

IPython (which you probably don't depend on in your app?) is less of a
problem API stability-wise - it can just be available in the
repositories to be installed from the command line.


HTH :)
Thomas


More information about the Devel mailing list