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

Please submit to f-droid.org #1222

Closed
markstinson opened this issue Jul 18, 2017 · 11 comments
Closed

Please submit to f-droid.org #1222

markstinson opened this issue Jul 18, 2017 · 11 comments
Assignees
Milestone

Comments

@markstinson
Copy link

Thank you for supporting EasyRPG Player.
Before creating an issue, please verify that your bug still occurs in the "continuous builds" of the Player.
You can get them at the bottom of our download section: https://easyrpg.org/player/downloads


Please fill in the following fields before submitting an issue:

Name of the game: n/a, FOSS Store EasyRPG Player availability

Player platform: Android

Describe the issue in detail and how to reproduce it:

F-Droid.org leverages projects using standardized build processes on GitHub. F-droid.org checks out updated released sources, builds it on their compile farm and stages it in their FOSS AppStore app for immediate availability. Please see https://f-droid.org/wiki/page/FAQ_-_App_Developers and https://f-droid.org/wiki/page/Inclusion_How-To

@Ghabry
Copy link
Member

Ghabry commented Jul 18, 2017

Hello.
We already considered adding it to fdroid but we had no time yet to figure out how there build process works.
The problem is that we have lots of C library dependencies: https://github.com/EasyRPG/buildscripts/tree/master/android
All the libs must be somehow built by fdroid before building the Player.
Do you have any experience in contributing to fdroid?

@fdelapena
Copy link
Contributor

fdelapena commented Jul 19, 2017

I see a fdroid/data repo in gitlab, there is a srclibs folder which contains some common libraries with a txt to define the git repo (sdl, freetype...), then in metadata folder apps depend on library stuff from srclibs, setting the version, and I guess their build system do the rest of the magic

e.g. xmp depending on libxmp: https://gitlab.com/fdroid/fdroiddata/blob/master/metadata/org.helllabs.android.xmp.txt#L149

and the libxmp definition: https://gitlab.com/fdroid/fdroiddata/blob/master/srclibs/Libxmp.txt

Older versions of this package didn't use a separate libxmp in srclibs, but maybe is worth somehow. The doc part is not clear about how to deal with this, what they consider "well known repositories" for non-Java stuff: https://f-droid.org/wiki/page/FAQ_-_App_Developers#Which_libraries_and_dependencies_are_good_to_use.3F
However, the rule is clear about rejecting external prebuilt binary libraries. It seems the .txt must do all the job. Prebuilding step does a pushd/popd to dive into library dep building from there.

Some docs seem outdated e.g. the fdroid/fdroiddata repo seems to be now fdroid/data and the wiki has incomplete sections, but it looks there is a tool to test the script according with
https://f-droid.org/docs/Building_Applications/

I guess #fdroid on Libera.Chat might clear specific questions, botbot.me logs show good activity there.

@carstene1ns
Copy link
Member

Good thing is we do not need many patches for android. Possible offender is ICU as usual.
One thing to note is, that these library definition text files are only used to download the libs, they invoke ndk-build later in the main app build process. You can see that here for example: https://gitlab.com/fdroid/fdroiddata/blob/master/metadata/com.traffar.a24game.txt#L56 preparing until line 68 where the build is invoked.

@Ghabry
Copy link
Member

Ghabry commented Jul 19, 2017

Because that link uses ndk-build it's still not clear how to build when autoconf is used :/
This is like the last time I checked this (years ago). Last time the chat was not helpful and the wiki useless.

@carstene1ns
Copy link
Member

antox seems interesting, it uses the standalone toolchain as we do.
libreoffice does not matter, because they have additional android magic in their autoconf sorcery.

@Ghabry
Copy link
Member

Ghabry commented Aug 19, 2017

Because this will probably go nowhere soon it might be simpler to create a fdroid subdomain and host our own repo with two apps (nightly and "stable") via this guide: https://f-droid.org/docs/Setup_an_F-Droid_App_Repo/

@fdelapena
Copy link
Contributor

Another possible approach to get accepted into F-droid without rebuilding (keeping the same signature) is by using reproducible builds. However, NDK building has some challenges to be solved yet:
https://f-droid.org/en/docs/Reproducible_Builds/

@Ghabry Ghabry self-assigned this Feb 12, 2021
@Ghabry
Copy link
Member

Ghabry commented Feb 13, 2021

For more information see the discussion with fruitsnack here https://easyrpg.org/irc/log/2021/2021-02-12.html

@Ghabry Ghabry added this to the 0.6.3 milestone Feb 16, 2021
@Ghabry
Copy link
Member

Ghabry commented Feb 16, 2021

Resolved thanks to fruitsnack.
The process can be streamlined more but the app is now on fdroid and waits for first build.

@Ghabry Ghabry closed this as completed Feb 16, 2021
@carstene1ns
Copy link
Member

Just for reference: https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/org.easyrpg.player.yml

Maybe we can detect fdroid builds or add some --fdroid option to the scripts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

4 participants