# Copyright 1999-2009 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-1.9.2.ebuild,v 1.1 2009/04/01 17:41:18 gibboris Exp $ inherit eutils DESCRIPTION="A SMP low-latency audio server" HOMEPAGE="http://www.grame.fr/~letz/jackdmp.html" SRC_URI="http://www.grame.fr/~letz/jack-${PV}.tar.bz2" #todo : which licence ? LICENSE="GPL-2 LGPL-2.1" SLOT="2" KEYWORDS="~amd64" #legacy jack dependencies #IUSE="3dnow altivec alsa coreaudio doc debug examples mmx oss sse cpudetection" IUSE="dbus doc" #should depend upon waf if comes an ebuild in the tree RDEPEND=">=media-libs/libsndfile-1.0.0 media-libs/libsamplerate sys-libs/ncurses dev-libs/expat >=media-libs/alsa-lib-1.0.0 dbus? ( sys-apps/dbus )" #todo : #libfreebob #libffado DEPEND="${RDEPEND} dev-util/pkgconfig doc? ( app-doc/doxygen )" src_compile() { cd "${WORKDIR}/jack-${PV}" local myconf use doc && myconf=--doxygen && sed -i '/share_dir.*=/s;kit;kit-2;' wscript if use dbus; then myconf="${myconf} --dbus" sed -i -e '/^Exec/s;@BINDIR@;/usr/bin;' \ -e '/^Exec/s;jackdbus;jackdbus2;' dbus/org.jackaudio.service.in sed -i '/obj.target.*jackdbus/s/dbus/dbus2/' dbus/wscript fi #### dirty slotting start # /usr/include/jack -> /usr/include/jack2 and internal jackd linking sed -i -e "/conf\.define.*ADDON_DIR/s; os\..*; '/usr/lib/jack2');" \ -e "/conf\.define.*JACK_LOCATION/s; os\..*; '/usr/bin');" \ wscript # but we still want to install it in the gentoo image directory ! so, # as blddir is not trustable : sed -i "/\${ADDON_DIR}/s;\${ADDON_DIR};\${${T}}\${ADDON_DIR};" example-clients/wscript linux/wscript sed -i '/ADDON_DIR/s;jack;jack2;' common/JackConstants.h # /usr/include/libjack[server].so -> /usr/include/libjack[server]2.so sed -i -e '/serverlib\.target.*=/s/jackserver/jackserver2/' \ -e '/clientlib\.target/s/jack/jack2/' \ -e '/obj\.target/s/jack/jack2/' common/wscript # the 3rd one is NOT taken into accout : the .pc file ! # headers sed -i '/bld.install_files/s;/jack;/jack2;' common/wscript # the pkg-config file also sed -i 's;jack;jack2;' jack.pc.in # all the binaries sed -i 's/jack_/jack2_/g' example-clients/wscript tests/wscript # and the name the binary think they are sed -i '49,52s/jack_/jack2_/' example-clients/connect.c # and of course the daemon binary sed -i "/jackd.target/s/'jackd'/'jackd2'/" linux/wscript # and finally the example script mv example-clients/jack_control example-clients/jack2_control # are we done ? # --destdir doesn't work # --blddir also ? ./waf configure --prefix=/usr --blddir=${T} --libdir=/usr/lib ${myconf} || die "compilation failed" # can't slot if --enable-pkg-config-dbus-service-dir is used ./waf build || die "build failed" # not yet : sed -i "s;${D%*/};;g" ${T}build/default/jack.pc } src_install() { cd "${WORKDIR}/jack-${PV}" ./waf install || die "install failed" # because obj.target for pkgconfig .pc file build sux : mv "${D}usr/lib/pkgconfig/jack.pc" "${D}usr/lib/pkgconfig/jack2.pc" dodoc TODO README ChangeLog README_NETJACK2 }