Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port to Sailfish OS #58

Closed
smurfy opened this issue May 28, 2013 · 15 comments
Closed

Port to Sailfish OS #58

smurfy opened this issue May 28, 2013 · 15 comments

Comments

@smurfy
Copy link
Owner

smurfy commented May 28, 2013

I'm planning to port fahrplan to Sailfish OS too.

https://sailfishos.org/index.html

I'm already support jolla with 100€ and will buy the phone as soon its out.

@leppa
Copy link
Collaborator

leppa commented May 29, 2013

Great news. Was also going to do it as I did the same :-)

@Morpog
Copy link
Contributor

Morpog commented May 30, 2013

Great! I really enjoy this app on my N9.

@equeim
Copy link

equeim commented Aug 26, 2013

Sailfish OS now use Qt5, QtQuick2 and Wayland.

@smurfy
Copy link
Owner Author

smurfy commented Aug 26, 2013

UbuntuPhone also uses QT5, which is no problem. I created a separate branch for SailfishOS and got it to compile with the SailfishSDK about a month ago. I also did some basic testing with QML and Sailfish Components. (forgot their name).

If i have time again i will do some more work on the gui. (got only the jolla t-shirt so no real hardware to test with :))

@smurfy
Copy link
Owner Author

smurfy commented Dec 17, 2013

My other half should arrive tomorrow so i will continue the work on support.
(in fact it arrived today but i was not available)

@leppa
Copy link
Collaborator

leppa commented Dec 23, 2013

I've seen your latest commit and would like to comment a bit.

There are some guidelines you need to follow to be able to publish your app into Harbour. Like, you need to prefix your package and executable name with harbour-, qml files should go to /usr/share/harbour-<name> folder, .desktop file should not contain absolute paths, etc. Then, they recommend calling SailfishApp::application(argc, argv), SailfishApp::createView() to retrieve QGuiApplication and QQuickView pointers respectively, instead of creating them on your own (needed for booster, as far as I understood). They also seem to do some Sailfish OS specific initialization in these functions, because when I created QQuickView explicitly I was getting some rendering related warnings in the log.

You can take a look at leppa/taot@c564add commit from my app that I ported to Sailfish OS recently (waiting for QA ATM). It contains all aforementioned changes and some others that I needed to make a port.

Also, there is no way to determine, without hacks, whether qmake is run under Sailfish OS or any other Linux. What I do is I run qmake CONFIG+=sailfish and then I can check for sailfish in the .pro file:

sailfish {
    DEFINES += Q_OS_SAILFISH
    # Other Sailfish OS specific code here
}

@smurfy
Copy link
Owner Author

smurfy commented Dec 23, 2013

Thank you for your info i will incorporate this too. i'm currently having some problems with the packaging (icon).

I will switch to SailfishAPP too, the base code of the port was from before that existed so i started getting it to work again...

i'm currently using

exists("/usr/lib/qt5/qml/Sailfish/Silica/SilicaGridView.qml"): { 
}

to detect sailfish which works in the pro and pri file but somehow the rpm packaging routines still uses some other ifs while deploying, but if i put a message it will be displayed correctly.

@leppa
Copy link
Collaborator

leppa commented Dec 23, 2013

i'm currently having some problems with the packaging (icon)

CONFIG += sailfishapp might be your problem. It, actually, defines additional deployment rules for the icon and .desktop file and expects them to be in the same folder as .pro file and named $${TARGET}.png and $${TARGET}.desktop (where $${TARGET} is fahrplan in your case). You can see these rules by taking a look at <SailfishSDK>/mersdk/targets/SailfishOS-armv7hl/usr/share/qt5/mkspecs/features/sailfishapp.prf file.

What I did is I just copied

CONFIG += link_pkgconfig
PKGCONFIG += sailfishapp
INCLUDEPATH += /usr/include/sailfishapp

OTHER_FILES += $$files(rpm/*)

part into my .pro file and removed CONFIG+=sailfishapp.

i'm currently using

exists("/usr/lib/qt5/qml/Sailfish/Silica/SilicaGridView.qml"): { 
}

Interesting idea. But I'd better check for /usr/include/sailfishapp/sailfishapp.h. QML files are not build dependencies, so they don't have to be on the build VM, but without sailfishapp.h the application won't compile.

@smurfy
Copy link
Owner Author

smurfy commented Feb 17, 2014

quick update, l did some more work, calendar support and cover missing, everything else looks good.
tests with store too.

@leppa
Copy link
Collaborator

leppa commented Feb 18, 2014

calendar support ... missing

Is it because it's not officially supported in Harbour or you just didn't finish it yet?

If because of Harbour, you could publish Fahrplan on OpenRepos.net for now. You can also publish Harmattan version there. It seems to be quite popular between Sailfish OS (and Harmattan, since Nokia Store "freeze") users and even has its own "store": Warehouse.

@smurfy
Copy link
Owner Author

smurfy commented Feb 18, 2014

I meant its still on my todo to add calendar and cover support before the gui/port is finished.

It seems calendar is a bit tricky. there is no QTOrganizer support/api yet. I need to take a look at the official calendar app qml to figure out how to use it.

There is also a bug i noticed with the settings. (if you switch to them the backend gets reset to bahn.de)

I will do some more testing and cover tonight. maybe i will push a version without calendar support in a couple of days.

About OpenRepos. i noticed you pushed your apps there too and symbian to the opera store.
Would it be possible for you to push symbian fahrplan to the opera store? I will handle OpenRepos.

Problem with symbian is nokia removed almost all symbian phones from the RDA site and i don't own a compatible symbian phone. So testing Symbian Releases could get tricky for me :)

@leppa
Copy link
Collaborator

leppa commented Feb 18, 2014

It seems calendar is a bit tricky. there is no QTOrganizer support/api yet. I need to take a look at the official calendar app qml to figure out how to use it.

I just checked Sailfish Devel mailing list. It's said here that you have to use org.nemomobile.calendar to access calendar:
https://lists.sailfishos.org/pipermail/devel/2014-January/003124.html

And here it's mentioned that you have to use invoker to start your app and have write access to the calendar:
https://lists.sailfishos.org/pipermail/devel/2014-January/003174.html

@leppa
Copy link
Collaborator

leppa commented Feb 18, 2014

Seems like invoker method doesn't work anymore without modifying some system files:
https://lists.sailfishos.org/pipermail/devel/2014-February/003249.html

So, no official way two write to the calendar on Sailfish OS currently :-(

@leppa
Copy link
Collaborator

leppa commented Feb 18, 2014

Would it be possible for you to push symbian fahrplan to the opera store?

Yes, I can do that.

Problem with symbian is nokia removed almost all symbian phones from the RDA site and i don't own a compatible symbian phone. So testing Symbian Releases could get tricky for me :)

I have three of them. Maybe, I can "lend" you one for indeterminate period. At least one of them isn't used currently for anything. I'll check. Alternatively, you can buy one for ~15-20€ off eBay. I've made a list of phones that should be compatible with Symbian Qt Quick Components here: https://github.com/leppa/taot/wiki/Nokia-Store-Freeze

@smurfy
Copy link
Owner Author

smurfy commented Feb 18, 2014

Thank you for the info about calendar i found similar comments.
About symbian i will take a look at ebay.

I will also close this issue and raise new ones if needed. the first version is currently in QA

@smurfy smurfy closed this as completed Feb 18, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants