Merge pull request 'Fix anisette-v3-server provisioning: add libplist runtime dep' (#2) from hermes-agent/my-pkgs:fix/anisette-libplist into main
CI / Build Packages (default) (push) Successful in 1m20s
CI / Nix Flake Check (push) Successful in 1m25s
CI / Build Packages (example-a) (push) Successful in 1m25s
CI / Build Packages (example-b) (push) Successful in 1m22s
CI / Build Packages (pyzotero) (push) Successful in 1m44s
CI / Build Packages (pyzotero-cli) (push) Successful in 1m43s

Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
2026-08-08 14:12:29 +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