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 431176c9520ea6470af84bfdea1021665f072f88
equwal <truex@equwal.com>
2026-09-26 19:13:04 -0700

Compile the speech library without the compiler version line, and set the version to 0.9.4

The F-Droid build of 0.9.3 still differed in libsubread_whisper.so, and only in the .comment section: the clang of the Windows NDK adds its own version line there, and the clang of the Linux NDK does not. With -fno-ident, the library built on Windows is byte for byte the same as the library that the F-Droid CI built for 0.9.3.

 app/build.gradle.kts                              |  4 ++--
 app/src/main/cpp/CMakeLists.txt                   |  5 ++++-
 fastlane/metadata/android/en-US/changelogs/14.txt |  1 +
 fdroid/space.subread.app.yml                      | 10 +++++-----
 4 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 77fdcc5..4ad81b9 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -28,8 +28,8 @@ android {
         minSdk = 26
         targetSdk = 36
         // Plain numbers, in this file: F-Droid reads them from here to find a new release.
-        versionCode = 13
-        versionName = "0.9.3"
+        versionCode = 14
+        versionName = "0.9.4"
         testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
 
         // A link to the Ko-fi page. Google Play is not given it (-PplayStore=true): its
diff --git a/app/src/main/cpp/CMakeLists.txt b/app/src/main/cpp/CMakeLists.txt
index 9e9d1c1..0cea6dd 100644
--- a/app/src/main/cpp/CMakeLists.txt
+++ b/app/src/main/cpp/CMakeLists.txt
@@ -15,13 +15,16 @@ set(WHISPER_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../../third_party/whisper.cpp)
 # Reproducible build: F-Droid builds this library again, on Linux and at another
 # path, and compares it with the signed APK. The maps remove the paths of the
 # build machine from the __FILE__ strings of ggml. -ffile-reproducible writes "/"
-# in them on Windows too. An empty GIT_EXE stops ggml from recording the git state
+# in them on Windows too. -fno-ident keeps the version line of the compiler out of
+# the .comment section: the clang of the Windows NDK writes another line than the
+# clang of the Linux NDK. An empty GIT_EXE stops ggml from recording the git state
 # of the checkout, which the F-Droid scanner changes.
 get_filename_component(SUBREAD_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../../../.." ABSOLUTE)
 get_filename_component(SUBREAD_TOOLCHAIN_BIN "${CMAKE_C_COMPILER}" DIRECTORY)
 get_filename_component(SUBREAD_TOOLCHAIN_ROOT "${SUBREAD_TOOLCHAIN_BIN}" DIRECTORY)
 add_compile_options(
     -ffile-reproducible
+    -fno-ident
     "-ffile-prefix-map=${SUBREAD_ROOT}=."
     "-ffile-prefix-map=${SUBREAD_TOOLCHAIN_ROOT}=toolchain")
 set(GIT_EXE "" CACHE FILEPATH "Not used: the build records no git state" FORCE)
diff --git a/fastlane/metadata/android/en-US/changelogs/14.txt b/fastlane/metadata/android/en-US/changelogs/14.txt
new file mode 100644
index 0000000..6d00846
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/14.txt
@@ -0,0 +1 @@
+The speech library no longer holds the version line of the compiler, so the F-Droid build is the same as the signed APK on GitHub. Nothing else changes.
diff --git a/fdroid/space.subread.app.yml b/fdroid/space.subread.app.yml
index ccc699b..f51da04 100644
--- a/fdroid/space.subread.app.yml
+++ b/fdroid/space.subread.app.yml
@@ -16,9 +16,9 @@ Repo: https://github.com/equwal/subread-android.git
 Binaries: https://github.com/equwal/subread-android/releases/download/v%v/SubRead-%v.apk
 
 Builds:
-  - versionName: 0.9.3
-    versionCode: 13
-    commit: v0.9.3
+  - versionName: 0.9.4
+    versionCode: 14
+    commit: v0.9.4
     subdir: app
     submodules: true
     sudo:
@@ -48,5 +48,5 @@ MaintainerNotes: |-
 
 AutoUpdateMode: Version
 UpdateCheckMode: Tags
-CurrentVersion: 0.9.3
-CurrentVersionCode: 13
+CurrentVersion: 0.9.4
+CurrentVersionCode: 14