graphics/sdl3_image: add port

This is a simple library to load images of various formats as SDL surfaces.
It can load BMP, GIF, JPEG, LBM, PCX, PNG, PNM (PPM/PGM/PBM), QOI,
TGA, XCF, XPM, and simple SVG format images. It can also load AVIF,
JPEG-XL, TIFF, and WebP images, depending on build options
This commit is contained in:
Dmitry Marakasov 2025-02-04 19:44:45 +03:00
parent 8c8090f53c
commit 992a6c76c8
6 changed files with 75 additions and 1 deletions

View file

@ -70,10 +70,13 @@ _SDL_ttf2_LIB_DEPENDS= libSDL2_ttf.so:graphics/sdl2_ttf
_SDL_ttf2_REQUIRES= sdl2 _SDL_ttf2_REQUIRES= sdl2
# These are the current supported SDL3 modules # These are the current supported SDL3 modules
_SDL_USE_ALL+= sdl3 _SDL_USE_ALL+= sdl3 image3
_SDL_sdl3_LIB_DEPENDS= libSDL3.so:devel/sdl3 _SDL_sdl3_LIB_DEPENDS= libSDL3.so:devel/sdl3
_SDL_image3_LIB_DEPENDS= libSDL3_image.so:graphics/sdl3_image
_SDL_image3_REQUIRES= sdl3
# Basic checks # Basic checks
. if !empty(sdl_ARGS) . if !empty(sdl_ARGS)
IGNORE= USES=sdl takes no arguments IGNORE= USES=sdl takes no arguments

View file

@ -1150,6 +1150,7 @@
SUBDIR += sdl2_gpu SUBDIR += sdl2_gpu
SUBDIR += sdl2_image SUBDIR += sdl2_image
SUBDIR += sdl2_ttf SUBDIR += sdl2_ttf
SUBDIR += sdl3_image
SUBDIR += sdl_gfx SUBDIR += sdl_gfx
SUBDIR += sdl_image SUBDIR += sdl_image
SUBDIR += sdl_ttf SUBDIR += sdl_ttf

View file

@ -0,0 +1,52 @@
PORTNAME= sdl3_image
DISTVERSIONPREFIX= release-
DISTVERSION= 3.2.0
CATEGORIES= graphics
MAINTAINER= amdmi3@FreeBSD.org
COMMENT= Simple library to load images of various formats as SDL surfaces
WWW= https://github.com/libsdl-org/SDL_image
LICENSE= ZLIB
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
USES= cmake sdl
USE_GITHUB= yes
GH_ACCOUNT= libsdl-org
GH_PROJECT= SDL_image
USE_SDL= sdl3
CMAKE_OFF= SDLIMAGE_DEPS_SHARED \
SDLIMAGE_SAMPLES \
SDLIMAGE_BACKEND_STB
USE_LDCONFIG= yes
OPTIONS_DEFINE= AVIF JPEG JXL PNG TIFF WEBP TEST
OPTIONS_DEFAULT=AVIF JPEG JXL PNG TIFF WEBP
OPTIONS_SUB= yes
AVIF_LIB_DEPENDS= libavif.so:graphics/libavif
AVIF_CMAKE_BOOL= SDLIMAGE_AVIF
JPEG_USES= jpeg
JPEG_CMAKE_BOOL= SDLIMAGE_JPG
JXL_LIB_DEPENDS= libjxl.so:graphics/libjxl
JXL_CMAKE_BOOL= SDLIMAGE_JXL
PNG_LIB_DEPENDS= libpng.so:graphics/png
PNG_CMAKE_BOOL= SDLIMAGE_PNG
TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff
TIFF_CMAKE_BOOL= SDLIMAGE_TIF
TEST_USES= display:test
TEST_CMAKE_BOOL= SDLIMAGE_TESTS
TEST_TEST_TARGET= test
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
WEBP_CMAKE_BOOL= SDLIMAGE_WEBP
post-extract:
@${RM} -rf ${WRKSRC}/external
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1738684901
SHA256 (libsdl-org-SDL_image-release-3.2.0_GH0.tar.gz) = b9afb6901635f60b64b1f7925f8b13eb9eca4cef6af5001ec00d7e5f8f142a0a
SIZE (libsdl-org-SDL_image-release-3.2.0_GH0.tar.gz) = 10751802

View file

@ -0,0 +1,4 @@
This is a simple library to load images of various formats as SDL surfaces.
It can load BMP, GIF, JPEG, LBM, PCX, PNG, PNM (PPM/PGM/PBM), QOI,
TGA, XCF, XPM, and simple SVG format images. It can also load AVIF,
JPEG-XL, TIFF, and WebP images, depending on build options

View file

@ -0,0 +1,11 @@
include/SDL3_image/SDL_image.h
%%JXL%%lib/cmake/SDL3_image/Findlibjxl.cmake
%%WEBP%%lib/cmake/SDL3_image/Findwebp.cmake
lib/cmake/SDL3_image/SDL3_image-shared-targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/SDL3_image/SDL3_image-shared-targets.cmake
lib/cmake/SDL3_image/SDL3_imageConfig.cmake
lib/cmake/SDL3_image/SDL3_imageConfigVersion.cmake
lib/libSDL3_image.so
lib/libSDL3_image.so.0
lib/libSDL3_image.so.0.2.0
libdata/pkgconfig/sdl3-image.pc