Fix anisette-v3-server provisioning: add libplist runtime dep #2

Merged
luis merged 6 commits from hermes-agent/my-pkgs:fix/anisette-libplist into main 2026-08-08 14:12:30 +02:00
+14
View File
@@ -2,8 +2,10 @@
lib,
buildDubPackage,
fetchFromGitHub,
makeWrapper,
zlib,
openssl_1_1,
libplist,
}:
buildDubPackage rec {
@@ -19,8 +21,20 @@ buildDubPackage rec {
dubLock = ./dub-lock.json;
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ zlib openssl_1_1 ];
# libplist is dlopen'd at runtime by the plist-d C binding via dynamic-loader
# (libplist-2.0.so.3). It is NOT linked, so it does not land in the closure
# via buildInputs. Without it the ADI provisioning step throws
# LibraryLoadingException and the server serves unprovisioned data, so Apple
# rejects the login. Wrap the binary with LD_LIBRARY_PATH so dlopen finds it.
postFixup = ''
wrapProgram $out/bin/anisette-v3-server \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libplist ]}
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin