Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple

Review Request #1224 — Created Jan. 13, 2022 and submitted — Latest diff uploaded

Information

pidgin/pidgin
default

Reviewers

Adding gdk-pixbuf as a dependency to libpurple is kind of questionable, but it's dependencies are really just libpng, libjpeg, and libtiff. In other words, nothing UI specific. Which means we can remove a bunch of API with this change which is awesome.

This is the first step in replacing PurpleImage with GdkPixbuf. Which will also eventually include PurpleBuddyIcon and remove the need for PurpleBuddyIconSpec as protocol plugins will just be able to scale and format images themselves.

  • Move pidgingdkpixbuf.[ch] to purplegdkpixbuf.[ch]
  • Renamed all function from purplegdkpixbuf.[ch] to be in the purple_gdk_pixbuf namespace
  • Removed all unused function from purplegdkpixbuf.[ch]

I also did some research on how much disk space adding gdkpixbuf would add.

The base is a base debian container and this is against libpurple2 which is obviously going to be different. But the question was how much additional disk space will be used by adding gdkpixbuf.

base:                       157680
bitlbee:                    216452
bitlbee+gdkpixbuf:          222388
bitlbee-purple *:           363860
bitlbee-purple+gdkpixbuf *: 369796

* --no-install-recommends

We can see that for gdkpixbuf will about about 6MB of of disk usage which I would hope would be acceptable when libpurple adds 141MB by itself.

Ran and verified that an animated buddy icon was still displayed properly in the infopane and the buddy list.

Commits

Files