Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Review Request #1224 — Created Jan. 14, 2022 and submitted
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
withGdkPixbuf
. Which will also eventually includePurpleBuddyIcon
and remove the need forPurpleBuddyIconSpec
as protocol plugins will just be able to scale and format images themselves.
- Move
pidgingdkpixbuf.[ch]
topurplegdkpixbuf.[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.
Summary | ID |
---|---|
28010619f1a1e89d2593ecc62a17399440a8d8be |
-
-
I know in the past, bitlbee users weren't happy that we were downloading profile pictures (buddy icons) as well as custom emjoi. We could add an option to
PurpleUiInfo
that says it can use images, and then everything could check that to avoid that scenario. If doing that along, we'd already recoup of all of the disk space (see below) that addingGdkPixbuf
adds.Some more break down of how it'd affect bitlbee installs on debian using purple2 as the test case.
Sizes are in 1k blocks, so 157680 is ~154mb
base: 157680 bitlbee: 216452 bitlbee+gdkpixbuf: 222388 bitlbee-purple *: 363860 bitlbee-purple+gdkpixbuf *: 369796 * --no-install-recommends
- Description:
-
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.
~ This is the first step in replacing
PurpleImage
withGdkPixbuf
. Which will also eventually includePurpleBuddyIcon
and remove the need forPurpleBuddyIconSpec
as protocol plugins will just be able to scale and format images themselves.- Move
pidgingdkpixbuf.[ch]
topurplegdkpixbuf.[ch]
- Renamed all function from
purplegdkpixbuf.[ch]
to be in the purple_gdk_pixbuf namespace
- Removed all unused function from
purplegdkpixbuf.[ch]
- Move
- Description:
-
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
withGdkPixbuf
. Which will also eventually includePurpleBuddyIcon
and remove the need forPurpleBuddyIconSpec
as protocol plugins will just be able to scale and format images themselves.- Move
pidgingdkpixbuf.[ch]
topurplegdkpixbuf.[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.
- Move
- Change Summary:
-
rebased
- Commits:
-
Summary ID 7cdb594acc2b5ac8ea389f51d3c672a158c7c5a6 fbe41227df48d8b237a21685ebd375f2d6e231bd