Build with static D runtime config (matches reference Dockerfile)

This commit is contained in:
Hermes
2026-08-08 11:52:14 +00:00
parent ae00243185
commit 59fcec2e6d
+8 -7
View File
@@ -4,7 +4,6 @@
fetchFromGitHub,
zlib,
openssl_1_1,
libplist,
}:
buildDubPackage rec {
@@ -20,12 +19,14 @@ buildDubPackage rec {
dubLock = ./dub-lock.json;
# libplist is dlopen'd at runtime by the plist-d C binding (libplist-2.0.so.3).
# The reference Docker image installs it explicitly (see Dadoum/anisette-v3-server#46:
# "Anisette did build but not run with current Dockerfile, I have added the
# dependencies"). Without it the ADI provisioning step fails silently and the
# server serves unprovisioned data, so Apple rejects the login.
buildInputs = [ zlib openssl_1_1 libplist ];
# The reference Dockerfile builds with `dub build -c "static"` (statically
# linked D runtime). The Android-ELF loader does low-level symbol resolution
# and memory manipulation that is fragile with a dynamically-linked D runtime
# (GC/TLS conflicts), which can make the ADI provisioning step fail silently.
# Match the reference build config.
dubBuildFlags = [ "-c" "static" ];
buildInputs = [ zlib openssl_1_1 ];
installPhase = ''
runHook preInstall