summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-sound/esound/ChangeLog7
-rw-r--r--media-sound/esound/esound-0.2.32-r1.ebuild59
-rw-r--r--media-sound/esound/files/digest-esound-0.2.32-r11
-rw-r--r--media-sound/esound/files/esound-0.2.32-new-alsa.patch77
-rw-r--r--media-sound/esound/files/esound.init.d4
5 files changed, 144 insertions, 4 deletions
diff --git a/media-sound/esound/ChangeLog b/media-sound/esound/ChangeLog
index 5e6e026f36c0..9ad51032baa8 100644
--- a/media-sound/esound/ChangeLog
+++ b/media-sound/esound/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for media-sound/esound
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/esound/ChangeLog,v 1.31 2003/12/12 23:34:37 gmsoft Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/esound/ChangeLog,v 1.32 2004/02/01 20:32:42 vapier Exp $
+
+*esound-0.2.32-r1 (01 Feb 2004)
+
+ 01 Feb 2004; Mike Frysinger <vapier@gentoo.org> :
+ Version bumped to fix segfaults with new alsa #36417.
14 Nov 2003; Aron Griffis <agriffis@gentoo.org> esound-0.2.32.ebuild:
Stable on ia64
diff --git a/media-sound/esound/esound-0.2.32-r1.ebuild b/media-sound/esound/esound-0.2.32-r1.ebuild
new file mode 100644
index 000000000000..762bf3138427
--- /dev/null
+++ b/media-sound/esound/esound-0.2.32-r1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/esound/esound-0.2.32-r1.ebuild,v 1.1 2004/02/01 20:32:42 vapier Exp $
+
+inherit libtool gnome.org eutils
+
+DESCRIPTION="The Enlightened Sound Daemon"
+HOMEPAGE="http://www.tux.org/~ricdude/EsounD.html"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~ppc ~sparc ~alpha ~hppa ~amd64 ~ia64"
+IUSE="tcpd alsa ipv6"
+
+DEPEND=">=media-libs/audiofile-0.1.5
+ alsa? ( >=media-libs/alsa-lib-0.5.10b )
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6-r2 )"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch ${FILESDIR}/${P}-new-alsa.patch
+ autoconf || die "autoconf failed"
+ autoheader || die "autoheader failed"
+}
+
+src_compile() {
+ elibtoolize
+
+ econf \
+ `use_with tcpd libwrap` \
+ `use_enable alsa` \
+ `use_enable ipv6` \
+ --sysconfdir=/etc/esd \
+ ${myconf} || die
+
+ make || die
+}
+
+src_install() {
+ einstall \
+ sysconfdir=${D}/etc/esd \
+ || die
+
+ dodoc AUTHORS COPYING* ChangeLog README TODO NEWS TIPS
+ dodoc docs/esound.ps
+
+ dohtml -r docs/html
+
+ insinto /etc/conf.d
+ newins ${FILESDIR}/esound.conf.d esound
+
+ exeinto /etc/init.d
+ extradepend=""
+ use tcpd && extradepend=" portmap"
+ use alsa && extradepend="$extradepend alsasound"
+ sed "s/@extradepend@/$extradepend/" <${FILESDIR}/esound.init.d >${T}/esound
+ doexe ${T}/esound
+}
diff --git a/media-sound/esound/files/digest-esound-0.2.32-r1 b/media-sound/esound/files/digest-esound-0.2.32-r1
new file mode 100644
index 000000000000..154179bdf316
--- /dev/null
+++ b/media-sound/esound/files/digest-esound-0.2.32-r1
@@ -0,0 +1 @@
+MD5 b2a5e71ec8220fea1c22cc042f5f6e63 esound-0.2.32.tar.bz2 358563
diff --git a/media-sound/esound/files/esound-0.2.32-new-alsa.patch b/media-sound/esound/files/esound-0.2.32-new-alsa.patch
new file mode 100644
index 000000000000..66d50ee1fb4c
--- /dev/null
+++ b/media-sound/esound/files/esound-0.2.32-new-alsa.patch
@@ -0,0 +1,77 @@
+--- acconfig.h-dist 2003-08-01 06:56:21.000000000 -0700
++++ acconfig.h 2004-01-09 23:01:42.620951280 -0800
+@@ -8,6 +8,7 @@
+ #undef DRIVER_ALSA
+ #undef DRIVER_NEWALSA
+ #undef DRIVER_ALSA_09
++#undef DRIVER_ALSA_09_AFTER_RC4
+ #undef DRIVER_DART
+ #undef DRIVER_COREAUDIO
+ #undef DRIVER_NONE
+--- audio_alsa09.c-dist 2003-03-20 00:34:19.000000000 -0800
++++ audio_alsa09.c 2004-01-09 23:08:55.405986649 -0800
+@@ -136,15 +136,24 @@
+ alsaerr = -1;
+ return handle;
+ }
+-
++#ifndef DRIVER_ALSA_09_AFTER_RC4
+ err = snd_pcm_hw_params_set_rate_near(handle, hwparams, speed, 0);
++#else
++ int t_dir=0;
++ int t_speed=speed;
++ err = snd_pcm_hw_params_set_rate_near(handle, hwparams, &t_speed, &t_dir);
++#endif
+ if (err < 0) {
+ if (alsadbg)
+ fprintf(stderr, "%s\n", snd_strerror(err));
+ alsaerr = -1;
+ return handle;
+ }
++#ifndef DRIVER_ALSA_09_AFTER_RC4
+ if (err != speed) {
++#else
++ if (t_speed != speed) {
++#endif
+ if (alsadbg)
+ fprintf(stderr, "Rate not avaliable %i != %i\n", speed, err);
+ alsaerr = -1;
+@@ -176,8 +185,12 @@
+ alsaerr = -1;
+ return handle;
+ }
+-
++#ifndef DRIVER_ALSA_09_AFTER_RC4
+ err = snd_pcm_hw_params_set_buffer_size_near(handle, hwparams, BUFFERSIZE);
++#else
++ snd_pcm_uframes_t t_bufsize=BUFFERSIZE;
++ err = snd_pcm_hw_params_set_buffer_size_near(handle, hwparams, &t_bufsize);
++#endif
+ if (err < 0) {
+ if (alsadbg)
+ fprintf(stderr, "Buffersize:%s\n", snd_strerror(err));
+--- configure.in-dist 2003-09-03 09:23:23.000000000 -0700
++++ configure.in 2004-01-09 23:50:32.092247517 -0800
+@@ -269,6 +269,22 @@
+ AC_CHECK_FUNC(snd_cards,,[AC_CHECK_LIB(sound,snd_cards)])
+ AC_CHECK_FUNC(snd_cards,,[AC_CHECK_LIB(asound,snd_cards)])
+ AC_CHECK_FUNC(snd_pcm_pause,,[AC_CHECK_LIB(asound,snd_pcm_pause)])
++
++ dnl Check if ALSA uses new API
++ CFLAGS="${CFLAGS} -Werror"
++ AC_TRY_LINK([
++ #include <alsa/asoundlib.h>
++ ], [
++ snd_pcm_t *pcm;
++ snd_pcm_hw_params_t *params;
++ unsigned int val;
++ int dir;
++ /* intentionally uses non-pointers, trying to replicate bug 129709 */
++ snd_pcm_hw_params_set_rate_near(pcm, params, val, dir);
++ ], , [
++ AC_DEFINE(DRIVER_ALSA_09_AFTER_RC4)
++ ])
++
+ fi
+ else
+ AC_DEFINE(DRIVER_NONE)
diff --git a/media-sound/esound/files/esound.init.d b/media-sound/esound/files/esound.init.d
index 5436b88989ef..d09c0961b397 100644
--- a/media-sound/esound/files/esound.init.d
+++ b/media-sound/esound/files/esound.init.d
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
-# $Header: /var/cvsroot/gentoo-x86/media-sound/esound/files/esound.init.d,v 1.2 2003/05/30 22:55:56 utx Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/esound/files/esound.init.d,v 1.3 2004/02/01 20:32:42 vapier Exp $
# Note: You need to start esound on boot, only if you want to use it over network.
@@ -10,8 +10,6 @@
# "Enable sound server startup" in gnome-sound-properties for all users
# and optionally handle authentization.
-. /etc/conf.d/esound
-
depend() {
use net@extradepend@
}