Build with static D runtime config (matches reference Dockerfile)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user