summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank van de Pol <fvdpol@gentoo.org>2006-04-23 18:54:44 +0000
committerFrank van de Pol <fvdpol@gentoo.org>2006-04-23 18:54:44 +0000
commit15a7e931abeb3946f1e04996aa2a7dcef0a81fc7 (patch)
tree69864b922526513f07c42f8fa6ce3e4e60d138e7 /media-sound
parentMarked stable on amd64 (diff)
downloadgentoo-2-15a7e931abeb3946f1e04996aa2a7dcef0a81fc7.tar.gz
gentoo-2-15a7e931abeb3946f1e04996aa2a7dcef0a81fc7.tar.bz2
gentoo-2-15a7e931abeb3946f1e04996aa2a7dcef0a81fc7.zip
Added support for MMAP_COMPLEX.
(Portage version: 2.1_pre9-r4)
Diffstat (limited to 'media-sound')
-rw-r--r--media-sound/jack-audio-connection-kit/ChangeLog9
-rw-r--r--media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.02
-rw-r--r--media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.0-r12
-rw-r--r--media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.72
-rw-r--r--media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.7-r26
-rw-r--r--media-sound/jack-audio-connection-kit/files/jack-audio-connection-kit-mmap_complex.patch196
-rw-r--r--media-sound/jack-audio-connection-kit/jack-audio-connection-kit-0.100.7-r2.ebuild151
7 files changed, 367 insertions, 1 deletions
diff --git a/media-sound/jack-audio-connection-kit/ChangeLog b/media-sound/jack-audio-connection-kit/ChangeLog
index 29256f7c64e6..891053e65eab 100644
--- a/media-sound/jack-audio-connection-kit/ChangeLog
+++ b/media-sound/jack-audio-connection-kit/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-sound/jack-audio-connection-kit
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/jack-audio-connection-kit/ChangeLog,v 1.67 2006/04/01 17:26:15 fvdpol Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/jack-audio-connection-kit/ChangeLog,v 1.68 2006/04/23 18:54:43 fvdpol Exp $
+
+*jack-audio-connection-kit-0.100.7-r2 (23 Apr 2006)
+
+ 23 Apr 2006; Frank van de Pol <fvdpol@gentoo.org>
+ +files/jack-audio-connection-kit-mmap_complex.patch,
+ +jack-audio-connection-kit-0.100.7-r2.ebuild:
+ Added support for MMAP_COMPLEX.
*jack-audio-connection-kit-0.100.7-r1 (01 Apr 2006)
diff --git a/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.0 b/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.0
index 0c2a3c52a9f0..f7b300b12e06 100644
--- a/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.0
+++ b/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.0
@@ -1 +1,3 @@
MD5 dc28b3e8a663c090227e83be6fc1f2d4 jack-audio-connection-kit-0.100.0.tar.gz 682799
+RMD160 31548d58e545cb117428ca72e256a395363ff9b6 jack-audio-connection-kit-0.100.0.tar.gz 682799
+SHA256 2b858acc76d2d6e6a4b9d40c377c7040fcc41aa7d444b068caa69e80e1dc0295 jack-audio-connection-kit-0.100.0.tar.gz 682799
diff --git a/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.0-r1 b/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.0-r1
index 0c2a3c52a9f0..f7b300b12e06 100644
--- a/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.0-r1
+++ b/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.0-r1
@@ -1 +1,3 @@
MD5 dc28b3e8a663c090227e83be6fc1f2d4 jack-audio-connection-kit-0.100.0.tar.gz 682799
+RMD160 31548d58e545cb117428ca72e256a395363ff9b6 jack-audio-connection-kit-0.100.0.tar.gz 682799
+SHA256 2b858acc76d2d6e6a4b9d40c377c7040fcc41aa7d444b068caa69e80e1dc0295 jack-audio-connection-kit-0.100.0.tar.gz 682799
diff --git a/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.7 b/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.7
index 12b208bafef3..e3e4d68d31c9 100644
--- a/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.7
+++ b/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.7
@@ -1 +1,3 @@
MD5 7a53b0af6a4005810e331bb3b0d84880 jack-audio-connection-kit-0.100.7.tar.gz 2119224
+RMD160 f445d8c40fa88e21500082ad2b5c60aafb925bd6 jack-audio-connection-kit-0.100.7.tar.gz 2119224
+SHA256 fd8e5ce630002a08200fdb0e7ca098c4a25b9052b4ed8219845b22091db50fa8 jack-audio-connection-kit-0.100.7.tar.gz 2119224
diff --git a/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.7-r2 b/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.7-r2
new file mode 100644
index 000000000000..8e9478bc27d2
--- /dev/null
+++ b/media-sound/jack-audio-connection-kit/files/digest-jack-audio-connection-kit-0.100.7-r2
@@ -0,0 +1,6 @@
+MD5 7a53b0af6a4005810e331bb3b0d84880 jack-audio-connection-kit-0.100.7.tar.gz 2119224
+RMD160 f445d8c40fa88e21500082ad2b5c60aafb925bd6 jack-audio-connection-kit-0.100.7.tar.gz 2119224
+SHA256 fd8e5ce630002a08200fdb0e7ca098c4a25b9052b4ed8219845b22091db50fa8 jack-audio-connection-kit-0.100.7.tar.gz 2119224
+MD5 b7a09c2299cea9876d4022c371c79dbd netjack-0.11rc2.tar.bz2 23207
+RMD160 8f29b9e9923dde990e3d9b950376ea0298329ed5 netjack-0.11rc2.tar.bz2 23207
+SHA256 c934521cfb1c85c83411e05ed453d81fc26f690527627c5a7d7a576bcc90fa3c netjack-0.11rc2.tar.bz2 23207
diff --git a/media-sound/jack-audio-connection-kit/files/jack-audio-connection-kit-mmap_complex.patch b/media-sound/jack-audio-connection-kit/files/jack-audio-connection-kit-mmap_complex.patch
new file mode 100644
index 000000000000..cb2b54c75cb5
--- /dev/null
+++ b/media-sound/jack-audio-connection-kit/files/jack-audio-connection-kit-mmap_complex.patch
@@ -0,0 +1,196 @@
+diff -ru jack-audio-connection-kit-0.100.0.orig/drivers/alsa/alsa_driver.c jack-audio-connection-kit-0.100.0/drivers/alsa/alsa_driver.c
+--- jack-audio-connection-kit-0.100.0.orig/drivers/alsa/alsa_driver.c 2005-09-23 19:33:25.000000000 +0200
++++ jack-audio-connection-kit-0.100.0/drivers/alsa/alsa_driver.c 2005-09-23 19:34:11.000000000 +0200
+@@ -70,6 +70,16 @@
+ driver->capture_addr = 0;
+ }
+
++ if (driver->playback_interleave_skip) {
++ free (driver->playback_interleave_skip);
++ driver->playback_interleave_skip = NULL;
++ }
++
++ if (driver->capture_interleave_skip) {
++ free (driver->capture_interleave_skip);
++ driver->capture_interleave_skip = NULL;
++ }
++
+ if (driver->silent) {
+ free (driver->silent);
+ driver->silent = 0;
+@@ -377,6 +387,9 @@
+ if ((err = snd_pcm_hw_params_set_access (
+ handle, hw_params,
+ SND_PCM_ACCESS_MMAP_INTERLEAVED)) < 0) {
++ if ((err = snd_pcm_hw_params_set_access (
++ handle, hw_params,
++ SND_PCM_ACCESS_MMAP_COMPLEX)) < 0) {
+ jack_error ("ALSA: mmap-based access is not possible"
+ " for the %s "
+ "stream of this audio interface",
+@@ -384,6 +397,7 @@
+ return -1;
+ }
+ }
++ }
+
+ format = sample_width == 4 ? 0 : NOFORMATS - 1;
+ while (1) {
+@@ -683,7 +697,8 @@
+ err = snd_pcm_hw_params_get_access (driver->playback_hw_params,
+ &access);
+ driver->playback_interleaved =
+- (access == SND_PCM_ACCESS_MMAP_INTERLEAVED);
++ (access == SND_PCM_ACCESS_MMAP_INTERLEAVED)
++ || (access == SND_PCM_ACCESS_MMAP_COMPLEX);
+
+ if (p_period_size != driver->frames_per_cycle) {
+ jack_error ("alsa_pcm: requested an interrupt every %"
+@@ -705,8 +720,8 @@
+ err = snd_pcm_hw_params_get_access (driver->capture_hw_params,
+ &access);
+ driver->capture_interleaved =
+- (access == SND_PCM_ACCESS_MMAP_INTERLEAVED);
+-
++ (access == SND_PCM_ACCESS_MMAP_INTERLEAVED)
++ || (access == SND_PCM_ACCESS_MMAP_COMPLEX);
+
+ if (c_period_size != driver->frames_per_cycle) {
+ jack_error ("alsa_pcm: requested an interrupt every %"
+@@ -765,15 +780,11 @@
+ driver->alsa_name_playback);
+ return -1;
+ }
+- driver->playback_interleave_skip = my_areas[0].step / 8;
+ driver->interleave_unit =
+ snd_pcm_format_physical_width (
+ driver->playback_sample_format) / 8;
+ } else {
+ driver->interleave_unit = 0; /* NOT USED */
+- driver->playback_interleave_skip =
+- snd_pcm_format_physical_width (
+- driver->playback_sample_format) / 8;
+ }
+
+ if (driver->capture_interleaved) {
+@@ -785,11 +796,6 @@
+ driver->alsa_name_capture);
+ return -1;
+ }
+- driver->capture_interleave_skip = my_areas[0].step / 8;
+- } else {
+- driver->capture_interleave_skip =
+- snd_pcm_format_physical_width (
+- driver->capture_sample_format) / 8;
+ }
+
+ if (driver->playback_nchannels > driver->capture_nchannels) {
+@@ -819,6 +825,10 @@
+ malloc (sizeof (char *) * driver->playback_nchannels);
+ memset (driver->playback_addr, 0,
+ sizeof (char *) * driver->playback_nchannels);
++ driver->playback_interleave_skip = (unsigned long *)
++ malloc (sizeof (unsigned long *) * driver->playback_nchannels);
++ memset (driver->playback_interleave_skip, 0,
++ sizeof (unsigned long *) * driver->playback_nchannels);
+ driver->silent = (unsigned long *)
+ malloc (sizeof (unsigned long)
+ * driver->playback_nchannels);
+@@ -841,6 +851,10 @@
+ malloc (sizeof (char *) * driver->capture_nchannels);
+ memset (driver->capture_addr, 0,
+ sizeof (char *) * driver->capture_nchannels);
++ driver->capture_interleave_skip = (unsigned long *)
++ malloc (sizeof (unsigned long *) * driver->capture_nchannels);
++ memset (driver->capture_interleave_skip, 0,
++ sizeof (unsigned long *) * driver->capture_nchannels);
+ }
+
+ driver->clock_sync_data = (ClockSyncStatus *)
+@@ -897,6 +911,7 @@
+ &driver->capture_areas[chn];
+ driver->capture_addr[chn] = (char *) a->addr
+ + ((a->first + a->step * *capture_offset) / 8);
++ driver->capture_interleave_skip[chn] = (unsigned long ) (a->step / 8);
+ }
+ }
+
+@@ -915,6 +930,7 @@
+ &driver->playback_areas[chn];
+ driver->playback_addr[chn] = (char *) a->addr
+ + ((a->first + a->step * *playback_offset) / 8);
++ driver->playback_interleave_skip[chn] = (unsigned long ) (a->step / 8);
+ }
+ }
+
+@@ -1991,6 +2007,8 @@
+
+ driver->playback_addr = 0;
+ driver->capture_addr = 0;
++ driver->playback_interleave_skip = NULL;
++ driver->capture_interleave_skip = NULL;
+
+
+ driver->silent = 0;
+Only in jack-audio-connection-kit-0.100.0/drivers/alsa: alsa_driver.c.orig
+diff -ru jack-audio-connection-kit-0.100.0.orig/drivers/alsa/alsa_driver.h jack-audio-connection-kit-0.100.0/drivers/alsa/alsa_driver.h
+--- jack-audio-connection-kit-0.100.0.orig/drivers/alsa/alsa_driver.h 2005-09-23 19:33:25.000000000 +0200
++++ jack-audio-connection-kit-0.100.0/drivers/alsa/alsa_driver.h 2005-09-23 19:34:11.000000000 +0200
+@@ -65,8 +65,8 @@
+ unsigned int playback_nfds;
+ unsigned int capture_nfds;
+ unsigned long interleave_unit;
+- unsigned long capture_interleave_skip;
+- unsigned long playback_interleave_skip;
++ unsigned long *capture_interleave_skip;
++ unsigned long *playback_interleave_skip;
+ channel_t max_nchannels;
+ channel_t user_nchannels;
+ channel_t playback_nchannels;
+@@ -155,7 +155,7 @@
+ (driver->playback_addr[chn],
+ 0, nframes * driver->playback_sample_bytes,
+ driver->interleave_unit,
+- driver->playback_interleave_skip);
++ driver->playback_interleave_skip[chn]);
+ } else {
+ memset (driver->playback_addr[chn], 0,
+ nframes * driver->playback_sample_bytes);
+@@ -171,7 +171,7 @@
+ (driver->playback_addr[chn],
+ 0, nframes * driver->playback_sample_bytes,
+ driver->interleave_unit,
+- driver->playback_interleave_skip);
++ driver->playback_interleave_skip[chn]);
+ } else {
+ memset (driver->playback_addr[chn], 0,
+ nframes * driver->playback_sample_bytes);
+@@ -187,7 +187,7 @@
+ driver->read_via_copy (buf,
+ driver->capture_addr[channel],
+ nsamples,
+- driver->capture_interleave_skip);
++ driver->capture_interleave_skip[channel]);
+ }
+
+ static inline void
+@@ -199,7 +199,7 @@
+ driver->write_via_copy (driver->playback_addr[channel],
+ buf,
+ nsamples,
+- driver->playback_interleave_skip,
++ driver->playback_interleave_skip[channel],
+ driver->dither_state+channel);
+ alsa_driver_mark_channel_done (driver, channel);
+ }
+@@ -213,8 +213,8 @@
+ driver->channel_copy (driver->playback_addr[output_channel],
+ driver->capture_addr[input_channel],
+ nsamples * driver->playback_sample_bytes,
+- driver->playback_interleave_skip,
+- driver->capture_interleave_skip);
++ driver->playback_interleave_skip[output_channel],
++ driver->capture_interleave_skip[input_channel]);
+ alsa_driver_mark_channel_done (driver, output_channel);
+ }
+
diff --git a/media-sound/jack-audio-connection-kit/jack-audio-connection-kit-0.100.7-r2.ebuild b/media-sound/jack-audio-connection-kit/jack-audio-connection-kit-0.100.7-r2.ebuild
new file mode 100644
index 000000000000..7676ee11d857
--- /dev/null
+++ b/media-sound/jack-audio-connection-kit/jack-audio-connection-kit-0.100.7-r2.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/jack-audio-connection-kit/jack-audio-connection-kit-0.100.7-r2.ebuild,v 1.1 2006/04/23 18:54:43 fvdpol Exp $
+
+inherit flag-o-matic eutils multilib
+
+NETJACK=netjack-0.11rc2
+
+DESCRIPTION="A low-latency audio server"
+HOMEPAGE="http://www.jackaudio.org"
+SRC_URI="mirror://sourceforge/jackit/${P}.tar.gz http://netjack.sourceforge.net/${NETJACK}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="-alpha ~amd64 ~arm -hppa -ia64 -mips ~ppc ~ppc-macos -ppc64 ~sh -sparc ~x86"
+IUSE="altivec alsa caps coreaudio doc debug jack-tmpfs mmx oss portaudio sndfile sse netjack"
+
+RDEPEND="dev-util/pkgconfig
+ sndfile? ( >=media-libs/libsndfile-1.0.0 )
+ sys-libs/ncurses
+ caps? ( sys-libs/libcap )
+ portaudio? ( =media-libs/portaudio-18* )
+ alsa? ( >=media-libs/alsa-lib-0.9.1 )
+ !media-sound/jack-cvs"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+pkg_setup() {
+ if ! use sndfile ; then
+ ewarn "sndfile not in USE flags. jack_rec will not be installed!"
+ fi
+
+ if use caps; then
+ if [[ "${KV:0:3}" == "2.4" ]]; then
+ einfo "will build jackstart for 2.4 kernel"
+ else
+ einfo "using compatibility symlink for jackstart"
+ fi
+ fi
+
+}
+
+src_unpack() {
+ unpack ${A}
+ use netjack && unpack ${NETJACK}.tar.bz2
+ cd ${S}
+
+ # the docs option is in upstream, I'll leave the pentium2 foobage
+ # for the x86 folks...... kito@gentoo.org
+
+ # Add doc option and fix --march=pentium2 in caps test
+ #epatch ${FILESDIR}/${PN}-doc-option.patch
+
+ # compile and install jackstart, see #92895, #94887
+ #if use caps ; then
+ # epatch ${FILESDIR}/${PN}-0.99.0-jackstart.patch
+ #fi
+
+ epatch ${FILESDIR}/${PN}-transport.patch
+ epatch ${FILESDIR}/${PN}-mmap_complex.patch
+}
+
+src_compile() {
+ local myconf
+
+ sed -i "s/^CFLAGS=\$JACK_CFLAGS/CFLAGS=\"\$JACK_CFLAGS $(get-flag -march)\"/" configure
+
+ use doc && myconf="--with-html-dir=/usr/share/doc/${PF}"
+
+ if use jack-tmpfs; then
+ myconf="${myconf} --with-default-tmpdir=/dev/shm"
+ else
+ myconf="${myconf} --with-default-tmpdir=/var/run/jack"
+ fi
+
+ if use userland_Darwin ; then
+ append-flags -fno-common
+ use altivec && append-flags -force_cpusubtype_ALL \
+ -maltivec -mabi=altivec -mhard-float -mpowerpc-gfxopt
+ fi
+
+ use sndfile && \
+ export SNDFILE_CFLAGS="-I/usr/include" \
+ export SNDFILE_LIBS="-L/usr/$(get_libdir) -lsndfile"
+
+ econf \
+ $(use_enable altivec) \
+ $(use_enable alsa) \
+ $(use_enable caps capabilities) $(use_enable caps stripped-jackd) \
+ $(use_enable coreaudio) \
+ $(use_enable debug) \
+ $(use_enable doc html-docs) \
+ $(use_enable mmx) \
+ $(use_enable oss) \
+ $(use_enable portaudio) \
+ $(use_enable sse) $(use_enable sse dynsimd) \
+ --with-pic \
+ ${myconf} || die "configure failed"
+ emake || die "compilation failed"
+
+ if use caps && [[ "${KV:0:3}" == "2.4" ]]; then
+ einfo "Building jackstart for 2.4 kernel"
+ cd ${S}/jackd
+ emake jackstart || die "jackstart build failed."
+ fi
+
+ if use netjack; then
+ cd ${WORKDIR}/${NETJACK}
+ scons jack_source_dir=${S}
+ fi
+
+}
+
+src_install() {
+ make DESTDIR=${D} datadir=/usr/share/doc install || die
+
+ if use caps; then
+ if [[ "${KV:0:3}" == "2.4" ]]; then
+ cd ${S}/jackd
+ dobin jackstart
+ else
+ dosym /usr/bin/jackd /usr/bin/jackstart
+ fi
+ fi
+
+ if ! use jack-tmpfs; then
+ keepdir /var/run/jack
+ chmod 4777 ${D}/var/run/jack
+ fi
+
+ if use doc; then
+ mv ${D}/usr/share/doc/${PF}/reference/html \
+ ${D}/usr/share/doc/${PF}/
+
+ insinto /usr/share/doc/${PF}
+ doins -r ${S}/example-clients
+ else
+ rm -rf ${D}/usr/share/doc
+ fi
+
+ rm -rf ${D}/usr/share/doc/${PF}/reference
+
+ if use netjack; then
+ cd ${WORKDIR}/${NETJACK}
+ dobin alsa_in
+ dobin alsa_out
+ dobin jacknet_client
+ insinto /usr/lib/jack
+ doins jack_net.so
+ fi
+}