mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-06-08 14:15:07 +02:00
109 lines
3.4 KiB
Bash
109 lines
3.4 KiB
Bash
# Copyright 1999-2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
MY_COMMIT=68764f35899e133b402336843c046d75136eaf08
|
|
inherit cmake-multilib
|
|
|
|
DESCRIPTION="Simple Direct Media Layer Mixer Library"
|
|
HOMEPAGE="https://github.com/libsdl-org/SDL_mixer"
|
|
SRC_URI="https://codeload.github.com/libsdl-org/SDL_mixer/tar.gz/${MY_COMMIT} -> ${P}.tar.gz"
|
|
|
|
S="${WORKDIR}/SDL_mixer-${MY_COMMIT}"
|
|
|
|
LICENSE="ZLIB"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64"
|
|
IUSE="drlibs flac fluidsynth gme midi mod modplug mp3 opus playtools"
|
|
IUSE+=" sndfile stb timidity tremor vorbis +wav wavpack xmp"
|
|
REQUIRED_USE="
|
|
drlibs? ( || ( flac mp3 ) )
|
|
midi? ( || ( timidity fluidsynth ) )
|
|
timidity? ( midi )
|
|
fluidsynth? ( midi )
|
|
|
|
vorbis? ( ?? ( stb tremor ) )
|
|
stb? ( vorbis )
|
|
tremor? ( vorbis )
|
|
"
|
|
|
|
RDEPEND="
|
|
media-libs/libsdl3[${MULTILIB_USEDEP}]
|
|
!drlibs? (
|
|
flac? ( media-libs/flac:=[${MULTILIB_USEDEP}] )
|
|
mp3? ( media-sound/mpg123-base[${MULTILIB_USEDEP}] )
|
|
)
|
|
gme? ( media-libs/game-music-emu[${MULTILIB_USEDEP}] )
|
|
midi? (
|
|
fluidsynth? ( media-sound/fluidsynth:=[${MULTILIB_USEDEP}] )
|
|
timidity? ( media-sound/timidity++ )
|
|
)
|
|
mod? ( media-libs/libxmp[${MULTILIB_USEDEP}] )
|
|
|
|
opus? ( media-libs/opusfile[${MULTILIB_USEDEP}] )
|
|
sndfile? ( media-libs/libsndfile[${MULTILIB_USEDEP}] )
|
|
vorbis? (
|
|
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=(
|
|
-DSDLMIXER_DEPS_SHARED=no # aka, no dlopen() (bug #950965)
|
|
-DSDLMIXER_FLAC=$(usex flac)
|
|
-DSDLMIXER_FLAC_LIBFLAC=$(usex flac $(usex drlibs no yes) no)
|
|
-DSDLMIXER_FLAC_DRFLAC=$(usex drlibs)
|
|
-DSDLMIXER_GME=$(usex gme)
|
|
-DSDLMIXER_GME_SHARED=no
|
|
-DSDLMIXER_INSTALL_MAN=yes
|
|
-DSDLMIXER_MIDI=$(usex midi)
|
|
-DSDLMIXER_MIDI_FLUIDSYNTH=$(usex fluidsynth)
|
|
-DSDLMIXER_MIDI_FLUIDSYNTH_SHARED=no
|
|
-DSDLMIXER_MIDI_TIMIDITY=$(usex timidity)
|
|
-DSDLMIXER_MOD=$(usex mod)
|
|
-DSDLMIXER_MOD_XMP=$(usex mod)
|
|
-DSDLMIXER_MOD_XMP_LITE=no
|
|
-DSDLMIXER_MOD_XMP_SHARED=no
|
|
-DSDLMIXER_MP3=$(usex mp3)
|
|
-DSDLMIXER_MP3_DRMP3=$(usex drlibs)
|
|
-DSDLMIXER_MP3_MPG123=$(usex mp3 $(usex drlibs no yes) no)
|
|
-DSDLMIXER_OPUS=$(usex opus)
|
|
-DSDLMIXER_OPUS_SHARED=no
|
|
-DSDLMIXER_SAMPLES=$(usex playtools)
|
|
-DSDLMIXER_SAMPLES_INSTALL=$(usex playtools)
|
|
-DSDLMIXER_SNDFILE=$(usex sndfile)
|
|
-DSDLMIXER_SNDFILE_SHARED=no
|
|
-DSDLMIXER_STRICT=yes # Fail when a dependency could not be found
|
|
-DSDLMIXER_VENDORED=no # Use vendored third-party libraries
|
|
-DSDLMIXER_VORBIS=$(usex vorbis $(usex stb STB $(usex tremor TREMOR VORBISFILE) ) no )
|
|
-DSDLMIXER_WAVE=$(usex wav)
|
|
-DSDLMIXER_WAVPACK=$(usex wavpack)
|
|
-DSDLMIXER_WAVPACK_DSD=$(usex wavpack) # seems to be default-enabled in wavpack
|
|
)
|
|
|
|
cmake_src_configure
|
|
}
|
|
|
|
multilib_src_install_all() {
|
|
dodoc {CHANGES,README}.txt
|
|
rm -r "${ED}"/usr/share/licenses || 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
|
|
}
|