Opened 7 years ago

Last modified 6 years ago

#55184 closed enhancement

libsdl2_image: Request for variant or change to default build — at Initial Version

Reported by: jdolan (Jay Dolan) Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.4.2
Keywords: Cc:
Port: libsdl2_image

Description

By default, on OS X, SDL2_image relies on Apple's ImageIO backend to load most image formats. Indeed, this is how SDL2_image is currently compiled via the Portfile. Unfortunately, ImageIO is not without significant problems that can break certain applications, e.g.:

https://stackoverflow.com/questions/46975125/sdl2-pre-multiplying-alpha-channel-when-loading-surface-on-os-x

The SDL2_image port already depends on libpng, jpeg, and tiff. Using these backends produces uniform behavior that is consistent with other platforms. In my opinion, it would make sense to switch off the ImageIO backend, and compile SDL2_image with libpng, libjpeg and libtiff support instead. Or, alternatively, this option could be made available as a variant.

Here is the configure line that produced the best working result on my machine. Note that I had to disable all of the dynamic library loading backends, as they fail for some reason:

./configure --prefix=/opt/local \

--disable-imageio \ --disable-png-shared \ --disable-tif-shared \ --disable-jpg-shared \ --disable-webp-shared

Change History (0)

Note: See TracTickets for help on using tickets.