Recently Written · git

subread-android

SubRead for Android: times an audiobook against its ebook on the device

git clone https://github.com/equwal/subread-android

Log | Files | Refs


commit ebfef576ba74b328666d7b16bd06bb1f73098177
equwal <truex@equwal.com>
2026-09-21 17:55:49 -0700

Make the F-Droid recipe pass the fdroidserver scanner

The build job of fdroiddata MR 49668 failed. The scanner counts 17
problems in the source tree: the Whisper model in the assets, a ZIP
test fixture, the test models of whisper.cpp, and Maven URLs in the
Java bindings of whisper.cpp.

The recipe now deletes the parts of whisper.cpp that the build does
not use (bindings, examples, models) and the test archive, and
ignores the speech model. MaintainerNotes explains the model.
Categories are in the order that fdroid rewritemeta writes.

Checked with fdroidserver 3.x scan_source on a clean checkout of
v0.9.1: 17 problems with the old recipe, 0 with this one, and
rewritemeta makes no change.

 fdroid/space.subread.app.yml | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/fdroid/space.subread.app.yml b/fdroid/space.subread.app.yml
index 1b7baa3..0f75437 100644
--- a/fdroid/space.subread.app.yml
+++ b/fdroid/space.subread.app.yml
@@ -1,7 +1,6 @@
-# For https://gitlab.com/fdroid/fdroiddata : copy to metadata/space.subread.app.yml
 Categories:
-  - Reading
   - Multimedia
+  - Reading
 License: AGPL-3.0-only
 AuthorName: equwal
 WebSite: https://subread.space
@@ -26,8 +25,24 @@ Builds:
       - apt-get install -y cmake ninja-build
     gradle:
       - yes
+    scanignore:
+      - app/src/main/assets/models/ggml-tiny-q8_0.bin
+    scandelete:
+      - core/src/test/resources/aozora/789_ruby_5639.zip
+      - third_party/whisper.cpp/bindings
+      - third_party/whisper.cpp/examples
+      - third_party/whisper.cpp/models
     ndk: 29.0.14206865
 
+MaintainerNotes: |-
+  app/src/main/assets/models/ggml-tiny-q8_0.bin is the OpenAI Whisper "tiny"
+  speech model (MIT), converted to the ggml format with
+  third_party/whisper.cpp/models/convert-pt-to-ggml.py and quantized with
+  whisper.cpp's quantize tool. It is data, not code. The app has no network
+  permission, so it cannot download the model at run time.
+  third_party/whisper.cpp/{bindings,examples,models} are not part of the build:
+  app/src/main/cpp/CMakeLists.txt sets WHISPER_BUILD_EXAMPLES=OFF.
+
 AutoUpdateMode: Version
 UpdateCheckMode: Tags
 CurrentVersion: 0.9.1