love-android icon indicating copy to clipboard operation
love-android copied to clipboard

F-Droid Submission

Open MikuAuahDark opened this issue 3 years ago • 8 comments

Moving from previous conversation. Start from here: https://github.com/love2d/love-android/issues/162#issuecomment-971942871


Looks like the bot reported some issues as can be seen here: https://gitlab.com/fdroid/rfp/-/issues/1920#note_737306189

cc: @awalgarg

The bot seems really hate precompiled binaries. Here are some of my thoughts:

  • love/src/jni/SDL2/Xcode/SDL/pkg-support/resources/SDL_DS_Store is only used when compiling for Apple systems. It's not used in Android.
  • Compiling LuaJIT entirely from source using ndk-build alone is not possible due to LuaJIT requirement on 32-bit and 64-bit host compiler (which may not available). However, the build instructions (actually batch file) to compile those static library is available in love/src/jni/LuaJIT-2.1/build_instructions.bat. Rest assured, the LuaJIT has no modifications and is based on LuaJIT/LuaJIT@b4b2dce (as of writing)
  • love/src/jni/oboe/apps/OboeTester/gradle/wrapper/gradle-wrapper.jar is not used in the build process. Should I delete it?
  • I don't know how to setup Fastlane. If it doesn't change the project structure very much then I should be able to setup it, along with fixing the gradle errors.

Libraries bundled in this repo mostly copied straight from their upstream then an Android.mk is written for it (if necessary).

MikuAuahDark avatar Nov 22 '21 12:11 MikuAuahDark

how to setup Fastlane

See this commit for example: https://github.com/emanuele-f/PCAPdroid/commit/e9d490753148b0cc092f76bbc0773f2cea1d84f9. Definitely no need to change project structure. Also a guide attached in the linked PR: https://gitlab.com/-/snippets/1895688. Basically it's just the app description and some images put in fastlane/metadata/android/en-US/.

is not used in the build process. Should I delete it?

+1

Not sure about how to handle LuaJIT. Maybe look at https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/org.koreader.launcher.yml#L182 and https://github.com/koreader/android-luajit-launcher?

awalgarg avatar Nov 22 '21 20:11 awalgarg

@MikuAuahDark Hello, I have wrote a script to compile luajit (the one found on this repo) from source, so if you're still interested in publishing it on F-Droid, I can do everything else - write metadata and build instructions for f-droid server, open merge request and also help set up fastlane structure in this repo (fastlane doesnt alter structure of your project, it just adds a new directory in repo root which contains app description, screenshots, etc).

ClockGen avatar Jan 14 '24 19:01 ClockGen

I have finished writing metadata, https://gitlab.com/fruitsnack/fdroiddata/-/commit/0b745bf1b3bd0ddc9db7fdd9b0a0dddd5c566362 It is buildable on f-droid infrastructure (tested on my local server) and will automatically grab and compile new tags. It's in my private repo for now, I didn't open a MR yet.

One thing I couldn't add, is flattr donation link: the one on https://love2d.org/ returns '404'.

ClockGen avatar Jan 15 '24 09:01 ClockGen

Nice. Some insights with the LuaJIT build script:

  • HOST_CFLAGS=-D_CRT_SECURE_NO_WARNINGS is not necessary when using GCC. It was there because the original build_instructions.bat used for it is using Clang+MSVC compiler. Since _CRT_SECURE_NO_WARNINGS only makes sense for MSVC, it's unnecessary for non-MSVC.
  • The paths for LOVE 12.0 is invalid. I guess it was for 11.5a?
    • love/src/jni is no longer available. It's provided by the megasource submodules instead (app/src/cpp/megasource/libs).
    • mpg123 is no longer used in 12.0. Remove the relevant prebuild steps out.
    • Paths for libvorbis-1.3.5 and SDL2 needs to be adjusted accordingly.

So far I'm quite impressed for it. However there are no plans on publishing F-Droid version of LOVE 11. It should be in LOVE 12 instead.

MikuAuahDark avatar Jan 15 '24 10:01 MikuAuahDark

It is LOVE 11.5a yes, I used the last tagged version in this repo.

ClockGen avatar Jan 15 '24 10:01 ClockGen

If version 12 is still in development, then I suppose it's best to wait for the first tagged release, otherwise updates are only possible manually.

ClockGen avatar Jan 15 '24 10:01 ClockGen

I'm still interested with the Fastlane-related changes. If you can send a PR for those in 12.x branch, I'd appreciate it.

MikuAuahDark avatar Jan 15 '24 10:01 MikuAuahDark

Ok.

ClockGen avatar Jan 15 '24 11:01 ClockGen