Sat, 09 Aug 2025 18:21:54 -0500
Add builtin library dependency for introspection
Without specifying, gir defaults to the system pidgin/purple libraries by default,
which fails the build when new symbols were added and gir failed to link for them.
The failed build log before patch:
```
FAILED: pidgin/Pidgin-3.0.gir
...
/usr/bin/ld: /usr/local/lib/x86_64-linux-gnu/libpidgin3.so: undefined reference to `purple_image_get_filename'
collect2: error: ld returned 1 exit status
linking of temporary binary failed: Command '['ccache', 'cc', '-o', '/home/goodspeed/Development/pidgin/build/tmp-introspectineovzv0/Pidgin-3.0', '/home/goodspeed/Development/pidgin/build/tmp-introspectineovzv0/Pidgin-3.0.o', '-L.', '-Wl,-rpath,.', '-Wl,--no-as-needed', '-L/home/goodspeed/Development/pidgin/build/libpurple', '-Wl,-rpath,/home/goodspeed/Development/pidgin/build/libpurple', '-L/usr/local/lib/x86_64-linux-gnu', '-Wl,-rpath,/usr/local/lib/x86_64-linux-gnu', '-L/home/goodspeed/Development/pidgin/build/pidgin', '-Wl,-rpath,/home/goodspeed/Development/pidgin/build/pidgin', '-L/home/goodspeed/Development/pidgin/build/libpurple', '-Wl,-rpath,/home/goodspeed/Development/pidgin/build/libpurple', '-L/usr/local/lib/x86_64-linux-gnu', '-Wl,-rpath,/usr/local/lib/x86_64-linux-gnu', '-L/usr/local/lib/x86_64-linux-gnu', '-Wl,-rpath,/usr/local/lib/x86_64-linux-gnu', '-lpidgin3', '-lpurple3', '-lglib-2.0', '-lgplugin-gtk4', '-lgplugin', '-lgmodule-2.0', '-lgtk-4', '-lpangocairo-1.0', '-lpango-1.0', '-lharfbuzz', '-lgdk_pixbuf-2.0', '-lcairo-gobject', '-lcairo', '-lvulkan', '-lgraphene-1.0', '-lgio-2.0', '-lgobject-2.0', '-lgtksourceview-5', '-ljson-glib-1.0', '-ladwaita-1', '-lspelling-1', '-lm', '-lbirb', '-lgstreamer-1.0', '-lsoup-3.0', '-lxml2', '-lgstapp-1.0', '-lgstbase-1.0', '-lseagull', '-lsqlite3', '-lgirepository-1.0', '-lgio-2.0', '-lgobject-2.0', '-Wl,--export-dynamic', '-lgmodule-2.0', '-pthread', '-lglib-2.0', '-lglib-2.0']' returned non-zero exit status 1.
ninja: build stopped: subcommand failed.
```
Testing Done:
Succeed building pidgin with an out-of-date pidgin installed on system. Introspection no longer uses the system library and links fine now.
Reviewed at https://reviews.imfreedom.org/r/4098/
id: im.pidgin.Pidgin3 runtime: org.gnome.Platform runtime-version: '48' branch: default sdk: org.gnome.Sdk command: pidgin3 separate-locales: false tags: - dev add-extensions: im.pidgin.Purple3.Plugin: directory: plugins version: default add-ld-path: lib merge-dirs: purple-3 no-autodownload: true autodelete: true subdirectories: true im.pidgin.Pidgin3.Plugin: directory: plugins version: default add-ld-path: lib merge-dirs: pidgin-3 no-autodownload: true autodelete: true subdirectories: true modules: - name: mercurial buildsystem: simple build-commands: - make PREFIX=/app install-bin sources: - type: archive url: https://www.mercurial-scm.org/release/mercurial-6.9.tar.gz sha256: 629604293df2be8171ec856bf4f8b4faa8e4305af13607dce0f89f74132836d6 - name: libidn buildsystem: autotools cleanup: - /lib/*.la config-opts: - "--disable-static" sources: - type: archive url: https://ftp.gnu.org/gnu/libidn/libidn-1.42.tar.gz sha256: d6c199dcd806e4fe279360cb4b08349a0d39560ed548ffd1ccadda8cdecb4723 - name: birb buildsystem: meson config-opts: - "-Ddoc=false" - "--wrap-mode=nofallback" sources: - type: archive archive-type: tar-xz url: https://sourceforge.net/projects/pidgin/files/birb/0.4.0/birb-0.4.0.tar.xz/download sha256: 8fcb67559a6bddb305f59be5c9cb12eb35ec45a0a9a6e4184bb1df33d0028084 - name: hasl buildsystem: meson config-opts: - "-Ddoc=false" - "--wrap-mode=nofallback" sources: - type: archive archive-type: tar-xz url: https://sourceforge.net/projects/pidgin/files/hasl/0.4.0/hasl-0.4.0.tar.xz/download sha256: e78c244a259f13d43d230e9a8909bf0437a9466bef6757770a54a60c7c720036 - name: ibis buildsystem: meson config-opts: - "-Ddoc=false" - "--wrap-mode=nofallback" sources: - type: archive archive-type: tar-xz url: https://sourceforge.net/projects/pidgin/files/ibis/0.14.0/ibis-0.14.0.tar.xz/download sha256: f48fa57e9fd2871bc22eb56b12adcaed4d5f2a76c0a41f70b85cc2db44a51395 - name: xeme buildsystem: meson config-opts: - "-Ddoc=false" - "--wrap-mode=nofallback" sources: - type: archive archive-type: tar-gzip url: https://keep.imfreedom.org/xeme/xeme/archive/5d0707ab10a2.tar.gz sha256: eabb0f88fdc54775e9aab63d277d0d0cf54c456ee09580d45bd516d1117088da - name: gplugin buildsystem: meson config-opts: - "-Ddoc=false" - "-Dlua=false" - "-Dpython3=false" - "--wrap-mode=nofallback" sources: - type: archive archive-type: tar-xz url: https://sourceforge.net/projects/pidgin/files/gplugin/0.44.2/gplugin-0.44.2.tar.xz/download sha256: aea244e1add9628b50ec042c54cf93803f4577f8f142678f09b91fd4c0b20f72 - name: seagull buildsystem: meson config-opts: - "--wrap-mode=nofallback" sources: - type: archive archive-type: tar-xz url: https://sourceforge.net/projects/pidgin/files/seagull/0.5.0/seagull-0.5.0.tar.xz sha256: 7979a9cdfa112cc98dd10379d6522decb116a46e426d53ca3ecb0c26bed1bf27 - name: libspelling buildsystem: meson config-opts: - "--wrap-mode=nofallback" sources: - type: archive archive-type: tar-xz url: https://download.gnome.org/sources/libspelling/0.4/libspelling-0.4.6.tar.xz sha256: 3248a9b5336ea2f727d2db912d2f0083accc0505ce707679b3d9b8266c0101f5 - name: pidgin3 buildsystem: meson config-opts: - "-Ddoc=false" - "--wrap-mode=nofallback" sources: - type: dir path: . post-install: - install -d /app/plugins - install -d /app/plugins/pidgin-3 - install -d /app/plugins/purple-3 finish-args: # X11 + XShm access - "--share=ipc" - "--socket=fallback-x11" # Wayland access - "--socket=wayland" # GPU acceleration if needed - "--device=dri" # Needs to talk to the network: - "--share=network" # Audio - "--socket=pulseaudio" # Notifications (purple-toast) - "--talk-name=org.freedesktop.Notifications" # Accessibility - "--talk-name=org.a11y.Bus" # libsecret plugin - "--talk-name=org.freedesktop.secrets" # kwallet plugin - "--talk-name=org.kde.kwalletd5" - "--talk-name=org.kde.kwalletd6" # Bonjour - "--system-talk-name=org.freedesktop.Avahi" # Plugin Paths - "--env=PURPLE_PLUGIN_PATH=/app/plugins/purple-3" - "--env=PIDGIN_PLUGIN_PATH=/app/plugins/pidgin-3"