blob: 0d8d6b28bf11d4ecc968cce1f2020f7bd81ccfb1 (
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
140
141
142
143
144
145
146
147
148
|
# Copyright 1999-2007 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.103.0.ebuild,v 1.1 2007/06/29 14:09:57 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="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86"
IUSE="altivec alsa caps coreaudio doc debug jack-tmpfs mmx oss portaudio sse netjack cpudetection userland_Darwin"
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 )
!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
elog "will build jackstart for 2.4 kernel"
else
elog "using compatibility symlink for jackstart"
fi
fi
if use netjack; then
elog "including support for experimental netjack, see http://netjack.sourceforge.net/"
fi
}
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}/${PN}-transport.patch"
epatch "${FILESDIR}/${P}-riceitdown.patch"
eautoreconf
}
src_compile() {
local myconf=""
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
# 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
elog "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
elog "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 jack-tmpfs; then
keepdir /var/run/jack
chmod 4777 "${D}/var/run/jack"
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
}
|