Re: [proaudio] libffado-9999 debug bug

[ Thread Index | Date Index | More lists.tuxfamily.org/proaudio Archives ]


On 20/09/12 17:50, Gavin Pryke wrote:
On Sunday 16 September 2012 14:11:56 Sebastian Rose wrote:
Hello,

the current libffado-9999.ebuild doesn't work properly. It builts ffado
with DEBUG=True and ENABLE_OPTIMIZATIONS=False regardless if the USE
flag "debug" is set or not. In my case this lead to ffado constantly
producing xruns, so it would be good to change this. Since FFADO uses
scons as build system, I was following these guidelines:
http://devmanual.gentoo.org/eclass-reference/scons-utils.eclass/index.html
To produce the attached ebuild.
Notes:
- "die" calls removed, since escons dies on failure in EAPI 4
- changed src_configure to use the Gentoo provided "myesconsargs"
mechanism, to properly respect the debug USE flag
- ENABLE_OPTIMIZATIONS: meanings of TRUE and FALSE are inverted here to
enable this when the debug USE flag is not set and to disable it, if it
is. Ugly, but I'm not sure how to achieve this otherwise.

kind regards,
semkath

Hi
Thanks for your email. I have had these and some other changes in local
overlay since the discussion on list regarding this package. Do you still get
xruns with ENABLE_OPTIMIZATIONS=False and DEBUG=False? Setting
ENABLE_OPTIMIZATIONS adds some aggressive compiler flags and cpu detection
that break when doing a cross compile under portage.
I have no firewire devices so cannot test changes I make to this package.

Cheers
Gavin

I removed the line with ENABLE_OPTIMIZATIONS from my local ebuild and it seems to be working fine. I guess you can remove it since it's not strictly needed and if DEBUG=False libffado is built with -O2 anyway. Some additional changes: libffado depends (at least for the GUI mixer part) on python:2, python:3 will not work. I added python to the inherit line and added the following variables to account for this, as described in http://www.gentoo.org/proj/en/Python/developersguide.xml

PYTHON_DEPEND="2"
RESTRICT_PYTHON_ABIS="3.*"

Also, I added the following to get the ebuild to work even if python:3 is set as default:

pkg_setup() {
    python_set_active_version 2
    python_pkg_setup
}

And finally, to convert the shebangs in various python files installed by libffado:

src_prepare() {
    python_convert_shebangs -r 2 .
}

best,
semkath
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=4
PYTHON_DEPEND="2"
RESTRICT_PYTHON_ABIS="3.*"

inherit eutils multilib python scons-utils subversion

DESCRIPTION="Successor for freebob: Library for accessing BeBoB IEEE1394 devices"
HOMEPAGE="http://www.ffado.org";

ESVN_REPO_URI="http://subversion.ffado.org/ffado/trunk/libffado";

LICENSE="GPL-2"
KEYWORDS=""
SLOT="0"
IUSE="debug qt4 dbus-server"

RDEPEND=">=media-libs/alsa-lib-1.0.0
	>=dev-cpp/libxmlpp-2.13.0
	>=sys-libs/libraw1394-1.3.0
	>=media-libs/libiec61883-1.1.0
	>=sys-libs/libavc1394-0.5.3
	>=sys-apps/dbus-1.0
	dbus-server? ( dev-libs/dbus-c++ )
	dev-libs/libconfig
	qt4? (
		|| ( ( x11-libs/qt-core x11-libs/qt-gui )
				>=x11-libs/qt-4.0:4 )
		dev-python/PyQt4
		>=dev-python/dbus-python-0.83.0 )"

DEPEND="${RDEPEND}
	dev-util/scons"

pkg_setup() {
    python_set_active_version 2
	python_pkg_setup
}

src_prepare() {
    python_convert_shebangs -r 2 .
}

src_configure () {
	myesconsargs=(
		$(use_scons debug DEBUG)
	)
}

src_compile () {
	addpredict /dev/snd # workaround because jackd --version is called after
						# compilation, that tries to use /dev/snd/control*
	escons \
		PREFIX=/usr \
		LIBDIR=/usr/$(get_libdir)
}

src_install () {
	escons DESTDIR="${D}" WILL_DEAL_WITH_XDG_MYSELF="True" install
	dodoc AUTHORS ChangeLog NEWS README TODO

	if use qt4; then
		newicon "support/xdg/hi64-apps-ffado.png" "ffado.png"
		newmenu "support/xdg/ffado.org-ffadomixer.desktop" "ffado-mixer.desktop"
	fi
}


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/