media-libs/sdl2-image: add 2.8.8

Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Sam James
2025-06-29 07:31:05 +01:00
parent 4d6c58eb05
commit 4333c94277
2 changed files with 133 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
DIST SDL2_image-2.6.3.tar.gz 9816720 BLAKE2B 24662637e4f621af83d9a66d1cca954549030be97fa47f4b8fc711b2a941eaa409cf99ede137eb91d25999af253791dcfb2d9229080d30ede84cc32d5c5ae997 SHA512 11f1d041a052829708560b6211a2a00b3a1ce26a6f23cb389f57fa5254372027e97d3a6ffe551134a77bc33718c3acea3df21fe8426e93a2b1955176c47c7647
DIST SDL2_image-2.8.2.tar.gz 11362515 BLAKE2B 8bc8967eed7203ddbd23062e257ae8768eeb28e8efa57bac86db0224a7cdc94dfbb10c6da77dab9c1847f216ec761fae5b7bd5d8ed25c6b3c69ad972dc93ddf5 SHA512 0ff345824f95158dfa72f83f9d4a540601c178cd759334bf849c14a2920b5330d0763413b58c08b3deba8d3a4ccb6ea2a8159f87efe4cbb0e8ea850f63d09454
DIST SDL2_image-2.8.5.tar.gz 6874736 BLAKE2B 3907daa3531fc6188c1991ecd6710634b9dfe5567cf73fbb3e84ec79a74b821fdabdf7c716da84d4f25dcb64a44bf2961063f069f57420f4dc94cae724caab49 SHA512 593f881aeaab0920df5767e77c1f7ae6daa5ea7682810f1b649645761c00ceff0533a887bdcfe2c5b226e838b19ffa7fb12df8c904746c318bd4bface96dac43
DIST SDL2_image-2.8.8.tar.gz 6874931 BLAKE2B 2d1b1179a960b19a747bad97534cad0d55c9127848dc832f5f733e9111779ccb91c3c0697a9cb94b33fdd647252b8b7fd7ce640fdb119996b2b7aa483169b20f SHA512 5c521ae6a053e1eb6b42dce3ccccdbdb353eb7e9d1bd89392b1913bfc9fbb6b8a9d5506c80e5b7924b51637bb95cd270657ca87dafe60edd5534e333524bc901

View File

@@ -0,0 +1,132 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake-multilib multibuild
MY_P="SDL2_image-${PV}"
DESCRIPTION="Image file loading library"
HOMEPAGE="https://www.libsdl.org/projects/SDL_image/"
SRC_URI="https://github.com/libsdl-org/SDL_image/releases/download/release-${PV}/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="ZLIB"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc64 ~riscv ~sparc ~x86"
IUSE="avif gif jpeg jpegxl png samples static-libs test tiff webp"
RESTRICT="!test? ( test )"
REQUIRED_USE="test? ( jpeg png )"
RDEPEND="
>=media-libs/libsdl2-2.30.0[${MULTILIB_USEDEP}]
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
avif? ( >=media-libs/libavif-1.0.0:=[${MULTILIB_USEDEP}] )
png? ( >=media-libs/libpng-1.6.10:0=[${MULTILIB_USEDEP}] )
jpeg? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
jpegxl? ( media-libs/libjxl:=[${MULTILIB_USEDEP}] )
tiff? ( >=media-libs/tiff-3.9.7-r1:=[${MULTILIB_USEDEP}] )
webp? ( >=media-libs/libwebp-0.3.0:=[${MULTILIB_USEDEP}] )
"
DEPEND="${RDEPEND}"
pkg_setup() {
MULTIBUILD_VARIANTS=( shared-libs $(usev static-libs) )
}
src_prepare() {
cmake_src_prepare
# 1. Install non standard license installation
# 2/3. Add suffixes to sample programs
sed -i \
-e '/install(FILES "LICENSE.txt"/,/\s)$/d' \
-e 's/\(\W\)showanim\(\W\)/\1showanim2\2/' \
-e 's/\(\W\)showimage\(\W\)/\1showimage2\2/' \
CMakeLists.txt || die
}
multilib_src_configure() {
# hack because because of layered multibuilds
if [[ -n ${is_shared} ]]; then
mycmakeargs+=( -DSDL2IMAGE_SAMPLES=$(multilib_native_usex samples) )
fi
cmake_src_configure
}
src_configure() {
myconfigure() {
local mycmakeargs=(
-DSDL2IMAGE_AVIF=$(usex avif)
-DSDL2IMAGE_BMP=ON
-DSDL2IMAGE_GIF=$(usex gif)
-DSDL2IMAGE_JPG=$(usex jpeg)
-DSDL2IMAGE_JXL=$(usex jpegxl)
-DSDL2IMAGE_LBM=ON
-DSDL2IMAGE_PCX=ON
-DSDL2IMAGE_PNG=$(usex png)
-DSDL2IMAGE_PNM=ON
-DSDL2IMAGE_QOI=ON
-DSDL2IMAGE_SVG=ON
-DSDL2IMAGE_TGA=ON
-DSDL2IMAGE_TIF=$(usex tiff)
-DSDL2IMAGE_WEBP=$(usex webp)
-DSDL2IMAGE_XCF=ON
-DSDL2IMAGE_XPM=ON
-DSDL2IMAGE_XV=ON
# change?
-DSDL2IMAGE_BACKEND_STB=OFF
-DSDL2IMAGE_DEPS_SHARED=OFF
-DSDL2IMAGE_SAMPLES_INSTALL=ON
-DSDL2IMAGE_TESTS=$(usex test)
-DSDL2IMAGE_TESTS_INSTALL=OFF
-DSDL2IMAGE_VENDORED=OFF
)
if [[ "${MULTIBUILD_VARIANT}" == "shared-libs" ]]; then
mycmakeargs+=( -DBUILD_SHARED_LIBS=ON )
local is_shared=1
else
mycmakeargs+=(
-DBUILD_SHARED_LIBS=OFF
-DSDL2IMAGE_SAMPLES=OFF
)
fi
cmake-multilib_src_configure
}
multibuild_foreach_variant myconfigure
}
src_compile() {
multibuild_foreach_variant cmake-multilib_src_compile
}
src_test() {
# https://github.com/libsdl-org/SDL_image/tree/main/test#asserting-format-support
# Match same order as src_configure. The intent is to catch build system
# bugs, so it may need updating sometimes for legitimate changes in
# sdl2-image support.
local -x SDL_IMAGE_TEST_REQUIRE_{LOAD,SAVE}_AVIF=$(usex avif 1 0)
local -x SDL_IMAGE_TEST_REQUIRE_LOAD_BMP=1
local -x SDL_IMAGE_TEST_REQUIRE_LOAD_GIF=$(usex gif 1 0)
local -x SDL_IMAGE_TEST_REQUIRE_{LOAD,SAVE}_JPG=$(usex jpeg 1 0)
local -x SDL_IMAGE_TEST_REQUIRE_{LOAD,SAVE}_JXL=$(usex jpegxl 1 0)
local -x SDL_IMAGE_TEST_REQUIRE_{LOAD,SAVE}_LBM=1
local -x SDL_IMAGE_TEST_REQUIRE_LOAD_PCX=1
local -x SDL_IMAGE_TEST_REQUIRE_{LOAD,SAVE}_PNG=$(usex png 1 0)
local -x SDL_IMAGE_TEST_REQUIRE_LOAD_QOI=1
local -x SDL_IMAGE_TEST_REQUIRE_LOAD_SVG=1
local -x SDL_IMAGE_TEST_REQUIRE_LOAD_TGA=1
local -x SDL_IMAGE_TEST_REQUIRE_LOAD_TIF=$(usex tiff 1 0)
local -x SDL_IMAGE_TEST_REQUIRE_LOAD_WEBP=$(usex webp 1 0)
local -x SDL_IMAGE_TEST_REQUIRE_LOAD_XCF=1
local -x SDL_IMAGE_TEST_REQUIRE_LOAD_XPM=1
local -x SDL_IMAGE_TEST_REQUIRE_LOAD_XV=1
multibuild_foreach_variant cmake-multilib_src_test
}
src_install() {
multibuild_foreach_variant cmake-multilib_src_install
}