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/
| 1 | 1 | The Penguin |
| 2 | ||
| 4326 | 3 | by Rob Flynn <rob@marko.net> |
| 1 | 4 | and |
| 4326 | 5 | Jeramey Crawford <jacrawf@marko.net> |
| 1 | 6 | |
| 7 | ||
| 8 | Once upon a term'nal dreary, while I hack'ed, weak and weary, | |
| 9 | Over many a quaint and curious volume of forgotten code-- | |
| 10 | While I nodded, nearly napping, suddenly there came a beeping, | |
| 11 | As of some one gently feeping, feeping using damn talk mode. | |
| 12 | "'Tis some hacker," I muttered, "beeping using damn talk mode-- | |
| 13 | Only this. I hate talk mode." | |
| 14 | ||
| 15 | Ah, distinctly I remember it was in the bleak semester, | |
| 16 | And college life wrought its terror as the school year became a bore. | |
| 17 | Eagerly I wished for privledges;--higher access I sought to borrow | |
| 18 | For my term'nal, unceasing sorrow--sorrow for a file called core-- | |
| 19 | For the rare and radiant files of .c the coders call the core-- | |
| 20 | Access Denied. Chown me more. | |
| 21 | ||
| 22 | "Open Source," did all mutter, when, with very little flirt and flutter, | |
| 23 | In there stepped a stately Penguin of the saintly days of yore. | |
| 24 | Quite a bit obese was he; having eaten lots of fish had he, | |
| 25 | But, by deign of Finnish programmer, he sat in the middle of my floor-- | |
| 26 | Looking upon my dusty term'nal in the middle of my floor-- | |
| 27 | Came, and sat, and nothing more. | |
| 28 | ||
| 29 | Then the tubby bird beguiling my sad code into shining, | |
| 30 | By the free and open decorum of the message that it bore, | |
| 31 | "Though thy term'nal be dusty and slow," he said, "Linux be not craven!" | |
| 32 | And thus I installed a new OS far from the proprietary shore-- | |
| 33 | The kernel code open but documentation lacking on this shore. | |
| 34 | Quoth the Penguin, "pipe grep more!" | |
| 35 | ||
| 36 | Much I marvelled this rotund fowl to hear discourse so plainly, | |
| 37 | Though its answer little meaning--little relevancy bore; | |
| 38 | For we cannot help believing that no living human being | |
| 39 | Ever yet was blessed with seeing bird in the middle of his floor-- | |
| 40 | Bird or beast sitting in the middle of his cluttered floor, | |
| 41 | With such instructions as "pipe grep more." | |
| 42 | ||
| 43 | But the Penguin, sitting lonely in that cluttered floor, spoke only | |
| 44 | Those words, as if its soul in that instruction he did outpour. | |
| 45 | Nothing more did he need utter; understood did I among that clutter-- | |
| 46 | Understood his command as I could scarcely do a few moments before-- | |
| 47 | I typed as furious as was willed me, understanding just a minute before. | |
| 48 | Again the bird said "pipe grep more!" | |
| 49 | ||
| 50 | "Amazing!" said I, "Penguin we will conquor the world if you will! | |
| 51 | By the Network that interconnects us--by that Finn we both adore-- | |
| 52 | We'll take this very world by storm!" For now grasped I what he'd meant, | |
| 53 | The thing I do while searching /usr/doc/* for that wond'rous lore-- | |
| 54 | Those compendiums of plaintext documentation and descriptive lore. | |
| 55 | Quoth the Penguin, "pipe grep more!" | |
| 56 | ||
| 57 | And the Penguin, never waddling, still is sitting, still is sitting | |
| 58 | In the middle of my room and still very cluttered floor; | |
| 59 | And his eyes have all the seeming of the free beer I am drinking | |
| 60 | And the term'nal-light o'er him glowing throws his shadows on the floor; | |
| 61 | And this OS from out the shadows that is pow'ring my term'nal on the floor | |
| 62 | Shall be dominating--"Pipe grep more!" | |
| 63 | ||
| 64 |