drawpile / Drawpile

A collaborative drawing program
http://drawpile.net/
GNU General Public License v3.0
1.04k stars 130 forks source link

Publish Android app to F-Droid #1372

Open danmou opened 2 weeks ago

danmou commented 2 weeks ago

Most open source Android apps are available through F-Droid, and I think Drawpile should be too. The process should be pretty straightforward.

Relevant resources:

askmeaboutlo0m commented 2 weeks ago

It's unfortunately not particularly straight-forward in our case, since this is not a simple Java application like the documentation assumes it is. There's a bunch of setup and building of native code before the Gradle build directory is even generated by Qt, so the AndroidManifest.xml and stuff that the documentation talks about in the first steps doesn't even exist to begin with. Additionally, Qt's Android build stuff is extremely fragile, it tends to blow up by the mere presence of an incorrect version of an Android SDK tool being installed.

This probably needs someone who either knows what they're doing with regards to the F-Droid build toolage or someone with enough free time on their hands to dig their way through it. How to build on Linux for Android is documented here and reasonably straight-forward, so if F-Droid's build system can be bent into shape, it should be possible to integrate it into that.

Edit: Krita's F-Droid build metadata may serve as inspiration. They have similar faff they need to do to get things to build.

danmou commented 2 weeks ago

I see. A first step could be to set up a simple binary repo, that should not require using f-droid's build system: https://f-droid.org/en/docs/Setup_an_F-Droid_App_Repo/

askmeaboutlo0m commented 1 week ago

Yes, that looks like it would be simpler anyway, although looks like it would instead require some degree of infrastructure to provide those downloads. Unless it can be made to redirect to GitHub's artifact store, but it's something not immediately clear from the brief documentation.

askmeaboutlo0m commented 4 days ago

I had a look at this and it seems less complicated than expected. A few minor patches on our side and some chicanery taken from Krita's manifest seems to make things build fine through F-Droids toolage.

The request for Drawpile's inclusion is at https://gitlab.com/fdroid/fdroiddata/-/merge_requests/15928