blob: 15fc0873441f4dc7df941ccdba81eebc0f318ee9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
# Copyright 1999-2008 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.109.0.ebuild,v 1.1 2008/01/14 20:16:07 flameeyes Exp $
inherit flag-o-matic eutils multilib linux-info autotools multilib
NETJACK=netjack-0.12
DESCRIPTION="A low-latency audio server"
HOMEPAGE="http://www.jackaudio.org"
SRC_URI="mirror://sourceforge/jackit/${P}.tar.gz netjack? ( mirror://sourceforge/netjack/${NETJACK}.tar.bz2 )"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
IUSE="altivec alsa caps coreaudio doc debug mmx oss portaudio sse netjack cpudetection"
RDEPEND=">=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 )
netjack? ( media-libs/libsamplerate )
!media-sound/jack-cvs"
DEPEND="${RDEPEND}
dev-util/pkgconfig
doc? ( app-doc/doxygen )
netjack? ( dev-util/scons )"
pkg_setup() {
if use caps; then
if kernel_is 2 4 ; then
einfo "will build jackstart for 2.4 kernel"
else
einfo "using compatibility symlink for jackstart"
fi
fi
if use netjack; then
einfo "including support for experimental netjack, see http://netjack.sourceforge.net/"
fi
}
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}/${PN}-transport.patch"
epatch "${FILESDIR}/${PN}-0.103.0-riceitdown.patch"
epatch "${FILESDIR}/${PN}-0.103.0-ppc64fix.patch"
eautoreconf
}
src_compile() {
local myconf=""
if [[ ${CHOST} == *-darwin* ]] ; then
append-flags -fno-common
use altivec && append-flags -force_cpusubtype_ALL \
-maltivec -mabi=altivec -mhard-float -mpowerpc-gfxopt
fi
# CPU Detection (dynsimd) uses asm routines which requires 3dnow, mmx and sse.
# Also, without -O2 it will not compile as well.
# we test if it is present before enabling the configure flag.
if use cpudetection ; then
if (! grep 3dnow /proc/cpuinfo >/dev/null) ; then
ewarn "Can't build cpudetection (dynsimd) without cpu 3dnow support. see bug #136565."
elif (! grep sse /proc/cpuinfo >/dev/null) ; then
ewarn "Can't build cpudetection (dynsimd) without cpu sse support. see bug #136565."
elif (! grep mmx /proc/cpuinfo >/dev/null) ; then
ewarn "Can't build cpudetection (dynsimd) without cpu mmx support. see bug #136565."
else
einfo "Enabling cpudetection (dynsimd). Adding -mmmx, -msse, -m3dnow and -O2 to CFLAGS."
myconf="${myconf} --enable-dynsimd"
filter-flags -O*
append-flags -mmmx -msse -m3dnow -O2
fi
fi
use doc || export ac_cv_prog_HAVE_DOXYGEN=false
econf \
$(use_enable altivec) \
$(use_enable alsa) \
$(use_enable caps capabilities) \
$(use_enable coreaudio) \
$(use_enable debug) \
$(use_enable mmx) \
$(use_enable oss) \
$(use_enable portaudio) \
$(use_enable sse) \
--with-html-dir=/usr/share/doc/${PF} \
--disable-dependency-tracking \
${myconf} || die "configure failed"
emake || die "compilation failed"
if use caps && kernel_is 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}" install || die
if use caps; then
if kernel_is 2 4 ; then
cd "${S}/jackd"
dobin jackstart
else
dosym /usr/bin/jackd /usr/bin/jackstart
fi
fi
if use doc; then
insinto /usr/share/doc/${PF}
doins -r "${S}/example-clients"
fi
if use netjack; then
cd "${WORKDIR}/${NETJACK}"
dobin alsa_in
dobin alsa_out
dobin jacknet_client
insinto /usr/$(get_libdir)/jack
doins jack_net.so
fi
}
|