Opened 7 years ago

Last modified 7 years ago

#55184 closed enhancement

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

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

Description (last modified by ryandesign (Ryan Carsten Schmidt))

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 (2)

comment:1 Changed 7 years ago by Schamschula (Marius Schamschula)

Owner: set to jmroot
Status: newassigned

In the future, please add the maintainer to the CC field. In this case port info --maintainer libsdl2_image

comment:2 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)
Keywords: sdl sdl2 sdl2_image removed
Type: requestenhancement
Note: See TracTickets for help on using tickets.