atproto utils for zig zat.dev
atproto sdk zig

fix: patchelf wisp-cli for nixery glibc compatibility

wisp-cli is dynamically linked against glibc, but nixery containers
don't have /lib64/ld-linux-x86-64.so.2. Use patchelf to rewrite the
interpreter and rpath to the nix store glibc paths.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

+7
+7
.tangled/workflows/deploy-docs.yml
··· 8 nixpkgs: 9 - bun 10 - curl 11 12 environment: 13 WISP_DID: "did:plc:mkqt76xvfgxuemlwlx6ruc3w" ··· 23 test -n "$WISP_APP_PASSWORD" 24 curl -sSL https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-x86_64-linux -o wisp-cli 25 chmod +x wisp-cli 26 ./wisp-cli deploy "$WISP_DID" --path ./site-out --site "$WISP_SITE_NAME" --password "$WISP_APP_PASSWORD"
··· 8 nixpkgs: 9 - bun 10 - curl 11 + - patchelf 12 13 environment: 14 WISP_DID: "did:plc:mkqt76xvfgxuemlwlx6ruc3w" ··· 24 test -n "$WISP_APP_PASSWORD" 25 curl -sSL https://sites.wisp.place/nekomimi.pet/wisp-cli-binaries/wisp-cli-x86_64-linux -o wisp-cli 26 chmod +x wisp-cli 27 + # wisp-cli is dynamically linked against glibc — patch the interpreter 28 + # to the nix store path since /lib64/ld-linux-x86-64.so.2 doesn't exist in nixery 29 + INTERP=$(find /nix/store -name 'ld-linux-x86-64.so.2' -print -quit 2>/dev/null) 30 + if [ -n "$INTERP" ]; then 31 + patchelf --set-interpreter "$INTERP" --set-rpath "$(dirname "$INTERP")" wisp-cli 32 + fi 33 ./wisp-cli deploy "$WISP_DID" --path ./site-out --site "$WISP_SITE_NAME" --password "$WISP_APP_PASSWORD"