Pham Ngoc Hai personal web site

Syndicate

jack-audio-connection-kit-9999.ebuild
 
Written by Pham Ngoc Hai, on 26-04-2008 06:38
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit flag-o-matic eutils multilib subversion autotools

#NETJACK="netjack-0.12"
JACKDBUS="jackpatches-0.11"

RESTRICT="nostrip nomirror"
DESCRIPTION="A low-latency audio server"
HOMEPAGE="http://www.jackaudio.org"
#SRC_URI="netjack? ( mirror://sourceforge/netjack/${NETJACK}.tar.bz2 )
SRC_URI="dbus? ( http://dl.sharesource.org/jack/${JACKDBUS}.tar.bz2 )"

ESVN_REPO_URI="http://subversion.jackaudio.org/jack/trunk/jack"

LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
KEYWORDS=""
IUSE="3dnow altivec alsa caps coreaudio doc debug jack-tmpfs mmx oss sndfile sse
jackmidi freebob dbus"

RDEPEND="dev-util/pkgconfig
        netjack? ( !media-sound/netjack )
        sndfile? ( >=media-libs/libsndfile-1.0.0 )
        sys-libs/ncurses
        caps? ( sys-libs/libcap )
        alsa? ( >=media-libs/alsa-lib-0.9.1 )
        jackmidi? ( media-libs/alsa-lib )
        freebob? ( sys-libs/libfreebob )
        !media-sound/jack-audio-connection-kit-svn"
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() {
        subversion_src_unpack
#       use netjack && cd ${WORKDIR} && unpack ${NETJACK}.tar.bz2
        use dbus && cd ${WORKDIR} && unpack ${JACKDBUS}.tar.bz2
        cd ${S}

#       epatch ${FILESDIR}/${PN}-transport.patch

        # jack transport patch from Torben Hohn
        epatch "${FILESDIR}/jack-transport-start-at-zero-fix.diff"

        # dbus patches from Nedko Arnaudov
        if use dbus; then
                #epatch "../${JACKDBUS}/dbus.patch"
                epatch "../${JACKDBUS}/watchdog-fix-on-driver-load-fail.patch"
        fi
        sed -i -e "s:include/nptl/:include/:g" configure.ac || die
        eautoreconf
        sed -i "s/^CFLAGS=\$JACK_CFLAGS/CFLAGS=\"\$JACK_CFLAGS $(get-flag -march)\"/" configure || die
}

src_compile() {
        local myconf

        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 dbus; then
                myconf="${myconf} --enable-dbus --enable-pkg-config-dbus-service-dir"
        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 sse)  \
                $(use_enable 3dnow dynsimd) \
                $(use_enable jackmidi) \
                --disable-portaudio \
                ${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

}

Last update: 26-04-2008 06:38

Published in : Computer stuff, Gentoo
Keywords : jack-audio-connection-kit-9999.ebuild
Quote this article in website Favoured Print Send to friend Related articles Save this to del.icio.us

Users' Comments (0) RSS feed comment

No comment posted

Add your comment



mXcomment 1.0.9 © 2007-2012 - visualclinic.fr
License Creative Commons - Some rights reserved
< Prev   Next >


Search

Calendar

 Jan   February 2012   Mar

SMTWTFS
   1  2  3  4
  5  6  7  8  91011
12131415161718
19202122232425
26272829 
SVTechie Technology

Random Photos






Donate

Enter Amount:

Sponsored Links

Copyright © 2007 Joomla Templates By Joomladesigns.  Modified By Pham Ngoc Hai