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
}