commit:     43d1cd2daa68a26fd73fe37c257f46c56bfe1e7e
Author:     Andrei Sabalenka <mechakotik <AT> gmail <DOT> com>
AuthorDate: Fri Oct 11 20:06:27 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Dec 20 12:46:00 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=43d1cd2d

media-libs/sdl2-mixer: add 2.8.0, co-maintain

The new ebuild has following changes over 2.6.3-r1:

- Using CMake instead of autoconf: CMake is the preferred way of building it,
autoconf seems to be no longer supported since 3.0
- Added GME and WavPack support, introduced in 2.8.0
- Added OGG Vorbis support via dev-libs/stb
- Added MOD support via media-libs/libxmp
- Removed static-libs USE flag, seems to be pointless as some of
the dependencies still don't have static version

Closes: https://bugs.gentoo.org/927188
Closes: https://bugs.gentoo.org/945154
Signed-off-by: Andrei Sabalenka <mechakotik <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/38946
Signed-off-by: Sam James <sam <AT> gentoo.org>

 media-libs/sdl2-mixer/Manifest                |  1 +
 media-libs/sdl2-mixer/metadata.xml            | 27 +++++---
 media-libs/sdl2-mixer/sdl2-mixer-2.8.0.ebuild | 96 +++++++++++++++++++++++++++
 3 files changed, 116 insertions(+), 8 deletions(-)

diff --git a/media-libs/sdl2-mixer/Manifest b/media-libs/sdl2-mixer/Manifest
index d1f5b72a1e64..cfd0e4a1d952 100644
--- a/media-libs/sdl2-mixer/Manifest
+++ b/media-libs/sdl2-mixer/Manifest
@@ -1,2 +1,3 @@
 DIST SDL2_mixer-2.6.2.tar.gz 9934376 BLAKE2B 
9cf378d03046389b3625b90ca7a4c34d9b80e0908bccef454adedc21f16f24d99acc0fc3522ba981be89d8c58c7a6e877e7d98c798b157529e2cb26141faec8c
 SHA512 
16baa9d8b345bf0224538cbfb2ae9fc5d3deea2b454f41a98006c938fe7a65d5a8c84e28a76f98a4dd971c4fe5cf0219d8bf73331cf11f2702e01600eb197658
 DIST SDL2_mixer-2.6.3.tar.gz 9935069 BLAKE2B 
9908bdc549300af05b4fbcbb6c0533913ae62bfa2f761118983e0da58a4bcd68c2d008fa5bbcd94b0141241e54f1cd507e275e2d4b637214b803dabdbc5b0250
 SHA512 
2e9da045d2fdab97236c3901b3d441834a67a47c8851ddfb817c9db6f23ed9fb355a5ef8d2158d0c9959a83934e8cd1b95db8a69eaddf8f7fcca115f01818740
+DIST SDL2_mixer-2.8.0.tar.gz 10874471 BLAKE2B 
701ed21416e7a3ceda313f3e9ad47f98687f357712fb90f6c3c2ac065c96a4ded04a907c563f3b9b7bf42f192b6c442d025abb0a5cfbb745bd8719c49e29ff61
 SHA512 
5ddbc4b0b5fad2e0844a503daa79564b912654192599ef8fa7698531f08323ce01801f6bb17b2b3905020a3df362a967b7566ae725eb085da991578cc0807aad

diff --git a/media-libs/sdl2-mixer/metadata.xml 
b/media-libs/sdl2-mixer/metadata.xml
index c3925886628a..955d39ff6de7 100644
--- a/media-libs/sdl2-mixer/metadata.xml
+++ b/media-libs/sdl2-mixer/metadata.xml
@@ -5,15 +5,26 @@
                <email>[email protected]</email>
                <name>Gentoo Games Project</name>
        </maintainer>
+       <maintainer type="person" proxied="yes">
+               <email>[email protected]</email>
+               <name>Andrei Sabalenka</name>
+       </maintainer>
+       <maintainer type="project" proxied="proxy">
+               <email>[email protected]</email>
+               <name>Proxy Maintainers</name>
+       </maintainer>
        <use>
-               <flag name="fluidsynth">Use <pkg>media-sound/fluidsynth</pkg>
-                       for MIDI support</flag>
-               <flag name="midi">basic support for MIDI files</flag>
-               <flag name="mod">basic support for MOD files</flag>
-               <flag name="playtools">Install playwave and playmus tools 
(useful
-                       for testing)</flag>
-               <flag name="tremor">enable OGG Vorbis music via libtremor</flag>
-               <flag name="wav">support WAVE files</flag>
+               <flag name="fluidsynth">Use <pkg>media-sound/fluidsynth</pkg> 
for MIDI support</flag>
+               <flag name="gme">Support additional music formats with 
<pkg>media-libs/game-music-emu</pkg></flag>
+               <flag name="midi">Basic support for MIDI files</flag>
+               <flag name="mod">Basic support for MOD files</flag>
+               <flag name="modplug">Support MOD via 
<pkg>media-libs/libmodplug</pkg></flag>
+               <flag name="playtools">Install playwave and playmus tools 
(useful for testing)</flag>
+               <flag name="stb">Use <pkg>dev-libs/stb</pkg> instead of 
<pkg>media-libs/libvorbis</pkg> for OGG Vorbis support</flag>
+               <flag name="tremor">Use <pkg>media-libs/tremor</pkg> instead of 
<pkg>media-libs/libvorbis</pkg> for OGG Vorbis support</flag>
+               <flag name="wav">Support WAVE files</flag>
+               <flag name="wavpack">Support WavPack files</flag>
+               <flag name="xmp">Support MOD via 
<pkg>media-libs/libxmp</pkg></flag>
        </use>
        <upstream>
                <remote-id type="github">libsdl-org/SDL_mixer</remote-id>

diff --git a/media-libs/sdl2-mixer/sdl2-mixer-2.8.0.ebuild 
b/media-libs/sdl2-mixer/sdl2-mixer-2.8.0.ebuild
new file mode 100644
index 000000000000..56704efb999a
--- /dev/null
+++ b/media-libs/sdl2-mixer/sdl2-mixer-2.8.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="SDL2_mixer-${PV}"
+inherit cmake-multilib
+
+DESCRIPTION="Simple Direct Media Layer Mixer Library"
+HOMEPAGE="https://github.com/libsdl-org/SDL_mixer";
+SRC_URI="https://www.libsdl.org/projects/SDL_mixer/release/${MY_P}.tar.gz";
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="flac fluidsynth gme midi mod modplug mp3 opus playtools stb timidity 
tremor vorbis +wav wavpack xmp"
+REQUIRED_USE="
+       midi? ( || ( timidity fluidsynth ) )
+       timidity? ( midi )
+       fluidsynth? ( midi )
+
+       vorbis? ( ?? ( stb tremor ) )
+       stb? ( vorbis )
+       tremor? ( vorbis )
+
+       mod? ( || ( modplug xmp ) )
+       modplug? ( mod )
+       xmp? ( mod )
+"
+
+RDEPEND="
+       media-libs/libsdl2[${MULTILIB_USEDEP}]
+       flac? ( media-libs/flac:=[${MULTILIB_USEDEP}] )
+       midi? (
+               fluidsynth? ( media-sound/fluidsynth:=[${MULTILIB_USEDEP}] )
+               timidity? ( media-sound/timidity++ )
+       )
+       mod? (
+               modplug? ( media-libs/libmodplug[${MULTILIB_USEDEP}] )
+               xmp? ( media-libs/libxmp )
+       )
+       mp3? ( media-sound/mpg123[${MULTILIB_USEDEP}] )
+       opus? ( media-libs/opusfile )
+       vorbis? (
+               stb? ( dev-libs/stb )
+               tremor? ( media-libs/tremor[${MULTILIB_USEDEP}] )
+               !stb? ( !tremor? ( media-libs/libvorbis[${MULTILIB_USEDEP}] ) )
+       )
+       gme? ( media-libs/game-music-emu[${MULTILIB_USEDEP}] )
+       wavpack? ( media-sound/wavpack[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}"
+
+multilib_src_configure() {
+       local mycmakeargs=(
+               -DSDL2MIXER_CMD=yes
+               -DSDL2MIXER_WAVE=$(usex wav)
+               -DSDL2MIXER_MOD=$(usex mod)
+               -DSDL2MIXER_MOD_MODPLUG=$(usex modplug)
+               -DSDL2MIXER_MOD_XMP=$(usex xmp)
+               -DSDL2MIXER_MIDI=$(usex midi)
+               -DSDL2MIXER_MIDI_TIMIDITY=$(usex timidity)
+               -DSDL2MIXER_MIDI_FLUIDSYNTH=$(usex fluidsynth)
+               -DSDL2MIXER_VORBIS=$(usex vorbis $(usex stb STB $(usex tremor 
TREMOR VORBISFILE) ) no )
+               -DSDL2MIXER_FLAC=$(usex flac)
+               -DSDL2MIXER_FLAC_LIBFLAC=$(usex flac)
+               -DSDL2MIXER_MP3=$(usex mp3)
+               -DSDL2MIXER_MP3_MPG123=$(usex mp3)
+               -DSDL2MIXER_OPUS=$(usex opus)
+               -DSDL2MIXER_GME=$(usex gme)
+               -DSDL2MIXER_WAVPACK=$(usex wavpack)
+               -DSDL2MIXER_SAMPLES=$(usex playtools)
+               -DSDL2MIXER_SAMPLES_INSTALL=$(usex playtools)
+       )
+       cmake_src_configure
+}
+
+multilib_src_install_all() {
+       dodoc {CHANGES,README}.txt
+       find "${D}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+       # bug #412035
+       if use midi && 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
+}

Reply via email to