summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-libs/sdl-mixer
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-libs/sdl-mixer')
-rw-r--r--media-libs/sdl-mixer/Manifest1
-rw-r--r--media-libs/sdl-mixer/files/sdl-mixer-1.2.12-Fix-compiling-against-libmodplug-0.8.8.5.patch24
-rw-r--r--media-libs/sdl-mixer/files/sdl-mixer-1.2.12-clang.patch11
-rw-r--r--media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r587.patch55
-rw-r--r--media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r588.patch36
-rw-r--r--media-libs/sdl-mixer/files/sdl-mixer-1.2.12-wav.patch35
-rw-r--r--media-libs/sdl-mixer/metadata.xml13
-rw-r--r--media-libs/sdl-mixer/sdl-mixer-1.2.12-r3.ebuild107
-rw-r--r--media-libs/sdl-mixer/sdl-mixer-1.2.12-r4.ebuild115
9 files changed, 397 insertions, 0 deletions
diff --git a/media-libs/sdl-mixer/Manifest b/media-libs/sdl-mixer/Manifest
new file mode 100644
index 000000000000..af4393c0507b
--- /dev/null
+++ b/media-libs/sdl-mixer/Manifest
@@ -0,0 +1 @@
+DIST SDL_mixer-1.2.12.tar.gz 3707781 SHA256 1644308279a975799049e4826af2cfc787cad2abb11aa14562e402521f86992a SHA512 230f6c5a73f4bea364f8aa3d75f76694305571dea45f357def742b2b50849b2d896af71e08689981207edc99a9836088bee2d0bd98d92c7f4ca52b12b3d8cf96 WHIRLPOOL 046b7a160cfe214cdac8c1a5ea424024a8850d3737908e5630b504f1f12817bfd2f391909f37be3d6994cab7f71ab24ecab92e99f5429dd8405f0e4046bc00a7
diff --git a/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-Fix-compiling-against-libmodplug-0.8.8.5.patch b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-Fix-compiling-against-libmodplug-0.8.8.5.patch
new file mode 100644
index 000000000000..369fe49558f0
--- /dev/null
+++ b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-Fix-compiling-against-libmodplug-0.8.8.5.patch
@@ -0,0 +1,24 @@
+From: hasufell <hasufell@gentoo.org>
+Date: Fri, 8 Aug 2014 13:49:49 +0200
+Subject: [PATCH] Fix compiling against libmodplug-0.8.8.5
+
+pkg-config --cflags libmodplug no longer
+reports a subdir and thus we need to use
+#include "libmodplug/modplug.h" syntax.
+---
+ music_modplug.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/music_modplug.h
++++ b/music_modplug.h
+@@ -1,6 +1,6 @@
+ #ifdef MODPLUG_MUSIC
+
+-#include "modplug.h"
++#include "libmodplug/modplug.h"
+ #include "SDL_rwops.h"
+ #include "SDL_audio.h"
+ #include "SDL_mixer.h"
+--
+2.0.4
+
diff --git a/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-clang.patch b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-clang.patch
new file mode 100644
index 000000000000..3c462bd97088
--- /dev/null
+++ b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-clang.patch
@@ -0,0 +1,11 @@
+--- SDL_mixer-1.2.12.orig/music_mad.c
++++ SDL_mixer-1.2.12/music_mad.c
+@@ -224,7 +224,7 @@
+ if ((mp3_mad->status & MS_playing) == 0) {
+ /* We're not supposed to be playing, so send silence instead. */
+ memset(stream, 0, len);
+- return;
++ return 0;
+ }
+
+ out = stream;
diff --git a/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r587.patch b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r587.patch
new file mode 100644
index 000000000000..d99609f8ab25
--- /dev/null
+++ b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r587.patch
@@ -0,0 +1,55 @@
+http://hg.libsdl.org/SDL_mixer/rev/56cad6484b04
+https://bugs.gentoo.org/445980
+
+# HG changeset patch
+# User Sam Lantinga <slouken@libsdl.org>
+# Date 1342998807 25200
+# Node ID 56cad6484b04f83c8d42428c755a046678506436
+# Parent c92001a2c18f628698c58aa4e05a7335d10d0e9e
+Paul P Komkoff Jr fixed malloc/free mismatch in the MikMod driver
+
+--- a/dynamic_mod.c
++++ b/dynamic_mod.c
+@@ -93,6 +93,13 @@
+ SDL_UnloadObject(mikmod.handle);
+ return -1;
+ }
++ mikmod.MikMod_free =
++ (void (*)(void*))
++ SDL_LoadFunction(mikmod.handle, "MikMod_free");
++ if ( mikmod.MikMod_free == NULL ) {
++ SDL_UnloadObject(mikmod.handle);
++ return -1;
++ }
+ mikmod.Player_Active =
+ (BOOL (*)(void))
+ SDL_LoadFunction(mikmod.handle, "Player_Active");
+--- a/dynamic_mod.h
++++ b/dynamic_mod.h
+@@ -35,6 +35,7 @@
+ void (*MikMod_RegisterDriver)(struct MDRIVER*);
+ int* MikMod_errno;
+ char* (*MikMod_strerror)(int);
++ void (*MikMod_free)(void*);
+ BOOL (*Player_Active)(void);
+ void (*Player_Free)(MODULE*);
+ MODULE* (*Player_LoadGeneric)(MREADER*,int,BOOL);
+--- a/music_mod.c
++++ b/music_mod.c
+@@ -109,13 +109,13 @@
+
+ list = mikmod.MikMod_InfoDriver();
+ if ( list )
+- free(list);
++ mikmod.MikMod_free(list);
+ else
+ mikmod.MikMod_RegisterDriver(mikmod.drv_nos);
+
+ list = mikmod.MikMod_InfoLoader();
+ if ( list )
+- free(list);
++ mikmod.MikMod_free(list);
+ else
+ mikmod.MikMod_RegisterAllLoaders();
+
+
diff --git a/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r588.patch b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r588.patch
new file mode 100644
index 000000000000..d47a8d4534c8
--- /dev/null
+++ b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r588.patch
@@ -0,0 +1,36 @@
+http://hg.libsdl.org/SDL_mixer/rev/2ebb0d016f27
+https://bugs.gentoo.org/445980
+
+# HG changeset patch
+# User Sam Lantinga <slouken@libsdl.org>
+# Date 1343000017 25200
+# Node ID 2ebb0d016f277f7f643d8a66ed0e1099e10d1fba
+# Parent 56cad6484b04f83c8d42428c755a046678506436
+Fixed normal linking with libmikmod and linking with earlier versions of libmikmod.
+
+--- a/dynamic_mod.c
++++ b/dynamic_mod.c
+@@ -97,8 +97,8 @@
+ (void (*)(void*))
+ SDL_LoadFunction(mikmod.handle, "MikMod_free");
+ if ( mikmod.MikMod_free == NULL ) {
+- SDL_UnloadObject(mikmod.handle);
+- return -1;
++ /* libmikmod 3.1 and earlier doesn't have it */
++ mikmod.MikMod_free = free;
+ }
+ mikmod.Player_Active =
+ (BOOL (*)(void))
+@@ -246,6 +246,11 @@
+ mikmod.MikMod_RegisterDriver = MikMod_RegisterDriver;
+ mikmod.MikMod_errno = &MikMod_errno;
+ mikmod.MikMod_strerror = MikMod_strerror;
++#if LIBMIKMOD_VERSION < ((3<<16)|(2<<8))
++ mikmod.MikMod_free = free;
++#else
++ mikmod.MikMod_free = MikMod_free;
++#endif
+ mikmod.Player_Active = Player_Active;
+ mikmod.Player_Free = Player_Free;
+ mikmod.Player_LoadGeneric = Player_LoadGeneric;
+
diff --git a/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-wav.patch b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-wav.patch
new file mode 100644
index 000000000000..38914fd77f15
--- /dev/null
+++ b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-wav.patch
@@ -0,0 +1,35 @@
+https://bugs.gentoo.org/show_bug.cgi?id=406739
+Nikos Chantziaras 2012-03-03 03:13:39 EST
+
+There's a bug in the current version of SDL_mixer where failing to load a WAV sample will result in freeing a resource twice, resulting in an application crash. There is an upstream fix for this:
+
+http://hg.libsdl.org/SDL_mixer/rev/ea53a85853dd
+
+Upstream bug: http://bugzilla.libsdl.org/show_bug.cgi?id=1418
+
+--- a/mixer.c
++++ b/mixer.c
+@@ -610,13 +610,15 @@
+ break;
+ default:
+ SDL_SetError("Unrecognized sound file type");
+- return(0);
++ if ( freesrc ) {
++ SDL_RWclose(src);
++ }
++ loaded = NULL;
++ break;
+ }
+ if ( !loaded ) {
++ /* The individual loaders have closed src if needed */
+ SDL_free(chunk);
+- if ( freesrc ) {
+- SDL_RWclose(src);
+- }
+ return(NULL);
+ }
+
+
+
+
+
diff --git a/media-libs/sdl-mixer/metadata.xml b/media-libs/sdl-mixer/metadata.xml
new file mode 100644
index 000000000000..f6db1ba16a50
--- /dev/null
+++ b/media-libs/sdl-mixer/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+<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='smpeg'>Use <pkg>media-libs/smpeg</pkg> for MP3 support</flag>
+ <flag name='wav'>support WAVE files</flag>
+</use>
+</pkgmetadata>
diff --git a/media-libs/sdl-mixer/sdl-mixer-1.2.12-r3.ebuild b/media-libs/sdl-mixer/sdl-mixer-1.2.12-r3.ebuild
new file mode 100644
index 000000000000..85e86edc1ac8
--- /dev/null
+++ b/media-libs/sdl-mixer/sdl-mixer-1.2.12-r3.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils
+
+MY_P=${P/sdl-/SDL_}
+DESCRIPTION="Simple Direct Media Layer Mixer Library"
+HOMEPAGE="http://www.libsdl.org/projects/SDL_mixer/"
+SRC_URI="http://www.libsdl.org/projects/SDL_mixer/release/${MY_P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x86-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 )
+ "
+
+DEPEND=">=media-libs/libsdl-1.2.10
+ flac? ( media-libs/flac )
+ midi? (
+ fluidsynth? ( media-sound/fluidsynth )
+ timidity? ( media-sound/timidity++ )
+ )
+ mp3? (
+ mad? ( media-libs/libmad )
+ smpeg? ( >=media-libs/smpeg-0.4.4-r1 )
+ )
+ mod? (
+ modplug? ( media-libs/libmodplug )
+ mikmod? ( >=media-libs/libmikmod-3.1.10 )
+ )
+ vorbis? ( >=media-libs/libvorbis-1.0_beta4 media-libs/libogg )"
+RDEPEND="${DEPEND}
+ playtools? ( !media-libs/sdl2-mixer[playtools] )"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch \
+ "${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 #445980
+ sed -i \
+ -e '/link.*play/s/-o/$(LDFLAGS) -o/' \
+ Makefile.in || die
+}
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --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)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ if use playtools; then
+ emake DESTDIR="${D}" install-bin
+ fi
+ dodoc CHANGES README
+ if ! use static-libs ; then
+ find "${D}" -type f -name '*.la' -exec rm {} + || die
+ fi
+}
+
+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
+}
diff --git a/media-libs/sdl-mixer/sdl-mixer-1.2.12-r4.ebuild b/media-libs/sdl-mixer/sdl-mixer-1.2.12-r4.ebuild
new file mode 100644
index 000000000000..bd5266a5af8c
--- /dev/null
+++ b/media-libs/sdl-mixer/sdl-mixer-1.2.12-r4.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils multilib-minimal
+
+MY_P=${P/sdl-/SDL_}
+DESCRIPTION="Simple Direct Media Layer Mixer Library"
+HOMEPAGE="http://www.libsdl.org/projects/SDL_mixer/"
+SRC_URI="http://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 sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x86-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++ )
+ )
+ mp3? (
+ mad? ( >=media-libs/libmad-0.15.1b-r8[${MULTILIB_USEDEP}] )
+ smpeg? ( >=media-libs/smpeg-0.4.4-r10[${MULTILIB_USEDEP}] )
+ )
+ mod? (
+ modplug? ( >=media-libs/libmodplug-0.8.8.4-r1[${MULTILIB_USEDEP}] )
+ mikmod? ( >=media-libs/libmikmod-3.3.6-r1[${MULTILIB_USEDEP}] )
+ )
+ vorbis? (
+ >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}]
+ >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] )
+ abi_x86_32? (
+ !<=app-emulation/emul-linux-x86-sdl-20140406-r1
+ !app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
+ )"
+DEPEND=${RDEPEND}
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch \
+ "${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 #445980
+ sed -i \
+ -e '/link.*play/s/-o/$(LDFLAGS) -o/' \
+ Makefile.in || die
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE=${S} \
+ econf \
+ --disable-dependency-tracking \
+ --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
+}
+
+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
+ prune_libtool_files
+}
+
+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
+}