# Libraries that must come from the host, never from the AppImage.
#
# Mirrors the upstream AppImage exclude list
# (https://github.com/AppImageCommunity/pkg2appimage/blob/master/excludelist),
# kept as a file in-tree so a build is reproducible and reviewable instead of
# depending on a network fetch. Two rules of thumb for anything added here:
#
#   * it is glibc or something glibc-coupled (an older host cannot load our
#     copy, and a mixed glibc is instant undefined behaviour); or
#   * it is tied to the host's hardware, display server or font setup, so the
#     host's copy is the only one that can work (GL/EGL drivers, X11/Wayland
#     client libraries, fontconfig and its cache format).
#
# Everything not listed here is bundled. Bundling is safe because the bundled
# binaries find their libraries through an $ORIGIN RPATH rather than
# LD_LIBRARY_PATH -- nothing the app spawns (the user's shell, ssh, sshpass)
# inherits our library path, so bundling libcrypto or libssl cannot break the
# host's OpenSSH.

# glibc and friends
ld-linux.so.2
ld-linux-x86-64.so.2
ld-linux-aarch64.so.1
libanl.so.1
libBrokenLocale.so.1
libcidn.so.1
libc.so.6
libdl.so.2
libm.so.6
libmvec.so.1
libnss_compat.so.2
libnss_dns.so.2
libnss_files.so.2
libnss_hesiod.so.2
libnss_nisplus.so.2
libnss_nis.so.2
libpthread.so.0
libresolv.so.2
librt.so.1
libthread_db.so.1
libutil.so.1

# Toolchain runtimes: must not be older than the host's C++/GCC runtime.
libgcc_s.so.1
libstdc++.so.6

# Graphics drivers and the display server client libraries.
libGL.so.1
libEGL.so.1
libGLdispatch.so.0
libGLX.so.0
libOpenGL.so.0
libdrm.so.2
libglapi.so.0
libgbm.so.1
libxcb.so.1
libxcb-dri2.so.0
libxcb-dri3.so.0
libX11.so.6
libX11-xcb.so.1
libwayland-client.so.0

# Sound and session services that talk to host daemons over a versioned
# protocol.
libasound.so.2
libjack.so.0
libpipewire-0.3.so.0
libICE.so.6
libSM.so.6
libusb-1.0.so.0

# Font stack: fontconfig's cache format and the host's font configuration go
# together, and freetype/harfbuzz/fribidi are ABI-coupled to it.
libfontconfig.so.1
libfreetype.so.6
libharfbuzz.so.0
libfribidi.so.0

# Miscellaneous system libraries that the upstream list has found to break
# more often when bundled than when taken from the host.
libcom_err.so.2
libexpat.so.1
libgpg-error.so.0
libgmp.so.10
libuuid.so.1
libz.so.1
