diff options
author | Sam James <sam@gentoo.org> | 2022-11-10 06:45:50 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-11-10 06:45:50 +0000 |
commit | 24c9402d23e17f82fd06e074f460da2645698244 (patch) | |
tree | f3ae3a3daafb9c7caff5d8657f7709f9da009bd6 /media-libs/sdl-mixer | |
parent | media-libs/sdl-image: add explicit backports/snapshot TODO (diff) | |
download | gentoo-24c9402d23e17f82fd06e074f460da2645698244.tar.gz gentoo-24c9402d23e17f82fd06e074f460da2645698244.tar.bz2 gentoo-24c9402d23e17f82fd06e074f460da2645698244.zip |
media-libs/sdl-mixer: fix Clang 16 compatibility
Closes: https://bugs.gentoo.org/880619
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-libs/sdl-mixer')
-rw-r--r-- | media-libs/sdl-mixer/files/sdl-mixer-1.2.12-incompatible-func-clang16.patch | 64 | ||||
-rw-r--r-- | media-libs/sdl-mixer/sdl-mixer-1.2.12-r6.ebuild | 128 |
2 files changed, 192 insertions, 0 deletions
diff --git a/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-incompatible-func-clang16.patch b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-incompatible-func-clang16.patch new file mode 100644 index 000000000000..0f104d5d6ffe --- /dev/null +++ b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-incompatible-func-clang16.patch @@ -0,0 +1,64 @@ +https://github.com/libsdl-org/SDL_mixer/commit/03bd4ca6aa38c1a382c892cef86296cd621ecc1d +https://github.com/libsdl-org/SDL_mixer/commit/9e6d7b67a00656a68ea0c2eace75c587871549b9 +https://github.com/libsdl-org/SDL_mixer/commit/d28cbc34d63dd20b256103c3fe506ecf3d34d379 + +From 03bd4ca6aa38c1a382c892cef86296cd621ecc1d Mon Sep 17 00:00:00 2001 +From: Ozkan Sezer <sezeroz@gmail.com> +Date: Sun, 7 Oct 2018 10:15:50 +0300 +Subject: [PATCH] backported a warning fix. (from 2.0 branch commit + 6fa075aa693e). + +--- + dynamic_ogg.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dynamic_ogg.h b/dynamic_ogg.h +index 822458d4..8eb91656 100644 +--- a/dynamic_ogg.h ++++ b/dynamic_ogg.h +@@ -31,7 +31,7 @@ typedef struct { + void *handle; + int (*ov_clear)(OggVorbis_File *vf); + vorbis_info *(*ov_info)(OggVorbis_File *vf,int link); +- int (*ov_open_callbacks)(void *datasource, OggVorbis_File *vf, char *initial, long ibytes, ov_callbacks callbacks); ++ int (*ov_open_callbacks)(void *datasource, OggVorbis_File *vf, const char *initial, long ibytes, ov_callbacks callbacks); + ogg_int64_t (*ov_pcm_total)(OggVorbis_File *vf,int i); + #ifdef OGG_USE_TREMOR + long (*ov_read)(OggVorbis_File *vf,char *buffer,int length, int *bitstream); + +From 9e6d7b67a00656a68ea0c2eace75c587871549b9 Mon Sep 17 00:00:00 2001 +From: Ozkan Sezer <sezeroz@gmail.com> +Date: Sun, 7 Oct 2018 12:41:20 +0300 +Subject: [PATCH] fixed a warning after commit cb08fb0976e6 + +--- a/dynamic_ogg.c ++++ b/dynamic_ogg.c +@@ -52,7 +52,7 @@ int Mix_InitOgg() + return -1; + } + vorbis.ov_open_callbacks = +- (int (*)(void *, OggVorbis_File *, char *, long, ov_callbacks)) ++ (int (*)(void *, OggVorbis_File *, const char *, long, ov_callbacks)) + SDL_LoadFunction(vorbis.handle, "ov_open_callbacks"); + if ( vorbis.ov_open_callbacks == NULL ) { + SDL_UnloadObject(vorbis.handle); + +From d28cbc34d63dd20b256103c3fe506ecf3d34d379 Mon Sep 17 00:00:00 2001 +From: Ozkan Sezer <sezeroz@gmail.com> +Date: Mon, 25 Nov 2019 03:28:02 +0300 +Subject: [PATCH] dynamic_ogg.c: fixed ov_time_seek() signature for + libvorbisidec. + +reported by Vitaly Novichkov. +--- a/dynamic_ogg.c ++++ b/dynamic_ogg.c +@@ -78,7 +78,7 @@ int Mix_InitOgg() + } + vorbis.ov_time_seek = + #ifdef OGG_USE_TREMOR +- (long (*)(OggVorbis_File *,ogg_int64_t)) ++ (int (*)(OggVorbis_File *,ogg_int64_t)) + #else + (int (*)(OggVorbis_File *,double)) + #endif + diff --git a/media-libs/sdl-mixer/sdl-mixer-1.2.12-r6.ebuild b/media-libs/sdl-mixer/sdl-mixer-1.2.12-r6.ebuild new file mode 100644 index 000000000000..04a69cf22ab4 --- /dev/null +++ b/media-libs/sdl-mixer/sdl-mixer-1.2.12-r6.ebuild @@ -0,0 +1,128 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# We may want to grab backports from the SDL-1.2 branch upstream or +# even take snapshots from it in future, as no SDL 1 / 1.2.x releases +# will be made anymore. + +MY_P=${P/sdl-/SDL_} +inherit autotools multilib-minimal + +DESCRIPTION="Simple Direct Media Layer Mixer Library" +HOMEPAGE="https://www.libsdl.org/projects/SDL_mixer/" +SRC_URI="https://www.libsdl.org/projects/SDL_mixer/release/${MY_P}.tar.gz" + +LICENSE="ZLIB" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris" +IUSE="flac fluidsynth mad midi mikmod mod modplug mp3 playtools smpeg static-libs timidity vorbis +wav" + +REQUIRED_USE=" + midi? ( || ( timidity fluidsynth ) ) + timidity? ( midi ) + fluidsynth? ( midi ) + mp3? ( || ( smpeg mad ) ) + smpeg? ( mp3 ) + mad? ( mp3 ) + mod? ( || ( mikmod modplug ) ) + mikmod? ( mod ) + modplug? ( mod ) +" + +RDEPEND=" + >=media-libs/libsdl-1.2.15-r4[${MULTILIB_USEDEP}] + flac? ( >=media-libs/flac-1.2.1-r5:=[${MULTILIB_USEDEP}] ) + midi? ( + fluidsynth? ( >=media-sound/fluidsynth-1.1.6-r1:=[${MULTILIB_USEDEP}] ) + timidity? ( media-sound/timidity++ ) + ) + mod? ( + mikmod? ( >=media-libs/libmikmod-3.3.6-r1[${MULTILIB_USEDEP}] ) + modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] ) + ) + mp3? ( + mad? ( >=media-libs/libmad-0.15.1b-r8[${MULTILIB_USEDEP}] ) + smpeg? ( >=media-libs/smpeg-0.4.4-r10[${MULTILIB_USEDEP}] ) + ) + vorbis? ( + >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] + ) +" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${MY_P}" + +PATCHES=( + "${FILESDIR}"/${P}-wav.patch + "${FILESDIR}"/${P}-clang.patch + "${FILESDIR}"/${P}-Fix-compiling-against-libmodplug-0.8.8.5.patch + "${FILESDIR}"/${P}-mikmod-r58{7,8}.patch # bug 445980 + "${FILESDIR}"/${P}-parallel-build-slibtool.patch + "${FILESDIR}"/${P}-incompatible-func-clang16.patch +) + +src_prepare() { + default + sed -e '/link.*play/s/-o/$(LDFLAGS) -o/' -i Makefile.in || die + + # Hack to get eautoconf working + # eautoreconf dies with gettext mismatch errors for now + cat acinclude/* >aclocal.m4 || die + eautoconf +} + +multilib_src_configure() { + local myeconfargs=( + --disable-music-flac-shared + --disable-music-fluidsynth-shared + --disable-music-mod-shared + --disable-music-mp3-shared + --disable-music-ogg-shared + $(use_enable wav music-wave) + $(use_enable vorbis music-ogg) + $(use_enable mikmod music-mod) + $(use_enable modplug music-mod-modplug) + $(use_enable flac music-flac) + $(use_enable static-libs static) + $(use_enable smpeg music-mp3) + $(use_enable mad music-mp3-mad-gpl) + $(use_enable timidity music-timidity-midi) + $(use_enable fluidsynth music-fluidsynth-midi) + LIBMIKMOD_CONFIG="${EPREFIX}"/usr/bin/${CHOST}-libmikmod-config + ) + ECONF_SOURCE=${S} \ + econf "${myeconfargs[@]}" +} + +multilib_src_install() { + emake DESTDIR="${D}" install + if multilib_is_native_abi && use playtools; then + emake DESTDIR="${D}" install-bin + fi +} + +multilib_src_install_all() { + dodoc CHANGES README + find "${ED}" -name '*.la' -delete || die +} + +pkg_postinst() { + # bug 412035 + # https://bugs.gentoo.org/show_bug.cgi?id=412035 + if use midi ; then + if use fluidsynth; then + ewarn "FluidSynth support requires you to set the SDL_SOUNDFONTS" + ewarn "environment variable to the location of a SoundFont file" + ewarn "unless the game or application happens to do this for you." + + if use timidity; then + ewarn "Failing to do so will result in Timidity being used instead." + else + ewarn "Failing to do so will result in silence." + fi + fi + fi +} |