I am compiling under gentoo and am using Quodlibet (and Audacious).
Here are the patches (note for the ebuild, the two patches are combined
in a single file called "song.patch").
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- immscore/song.cc.original 2008-10-11 11:36:53.117365244 -0600
+++ immscore/song.cc 2008-10-11 11:32:16.640733730 -0600
@@ -3,6 +3,7 @@
#include <unistd.h>
#include <math.h>
#include <ctype.h>
+#include <stdlib.h>
#include <iostream>
--- clients/bmp/bmpinterface.c.orig 2008-10-11 12:17:56.420458823 -0600
+++ clients/bmp/bmpinterface.c 2008-10-11 12:18:22.883778301 -0600
@@ -28,10 +28,10 @@ void read_config(void)
{
ConfigDb *cfgfile;
- if ((cfgfile = bmp_cfg_db_open()) != NULL)
+ if ((cfgfile = aud_cfg_db_open()) != NULL)
{
- bmp_cfg_db_get_int(cfgfile, "imms", "xidle", &use_xidle);
- bmp_cfg_db_close(cfgfile);
+ aud_cfg_db_get_int(cfgfile, "imms", "xidle", &use_xidle);
+ aud_cfg_db_close(cfgfile);
}
}
@@ -55,12 +55,12 @@ void cleanup(void)
void configure_ok_cb(gpointer data)
{
- ConfigDb *cfgfile = bmp_cfg_db_open();
+ ConfigDb *cfgfile = aud_cfg_db_open();
use_xidle = !!GTK_TOGGLE_BUTTON(xidle_button)->active;
- bmp_cfg_db_set_int(cfgfile, "imms", "xidle", use_xidle);
- bmp_cfg_db_close(cfgfile);
+ aud_cfg_db_set_int(cfgfile, "imms", "xidle", use_xidle);
+ aud_cfg_db_close(cfgfile);
imms_setup(use_xidle);
gtk_widget_destroy(configure_win);
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
And here is a hacked gentoo ebuild for building imms 3.1.0-rc6
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
inherit eutils
DESCRIPTION="An adaptive playlist framework that tracks your listening
patterns and dynamically adapts to your taste."
HOMEPAGE="http://www.luminal.org/wiki/index.php/IMMS/IMMS"
MY_PV="3.1.0-rc6"
MY_P="${PN}-${MY_PV}"
SRC_URI="http://www.luminal.org/files/imms/${MY_P}.tar.bz2"
LICENSE="GPL-2"
RESTRICT="nomirror"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"
IUSE="analyzer audacious bmpx vorbis remote"
DEPEND=">=dev-db/sqlite-3
>=dev-libs/glib-2
dev-libs/libpcre
|| ( media-libs/id3lib media-libs/taglib )
analyzer? ( >=sci-libs/fftw-3.0 sci-libs/torch media-sound/sox )
remote? ( >=gnome-base/libglade-2.0 >=x11-libs/gtk+-2 )
vorbis? ( media-libs/libvorbis )
audacious? ( media-sound/audacious )
bmpx? ( media-sound/bmpx )"
RDEPEND="${DEPEND}"
S="${WORKDIR}/${MY_P}"
src_unpack() {
if [ "${A}" != "" ]; then
unpack ${A}
cd "${S}"
epatch "${FILESDIR}/song.patch"
fi
}
src_compile() {
econf \
$(use_enable analyzer ) \
$(use_enable remote immsremote ) \
$(use_with vorbis ) \
|| die "Configure failed!"
emake || die "Make failed!"
}
src_install() {
dobin build/immsd || die
dobin build/immstool || die
if use analyzer
then
dobin build/analyzer || die
fi
if use remote
then
dobin build/immsremote || die
insinto /usr/share/${PN}
doins immsremote/immsremote.glade
fi
# install bmp plugin
if use bmpx
then
exeinto "/usr/lib/bmpx/plugins/imms"
doexe build/libbmpimms*.so || die
fi
if use audacious
then
exeinto "/usr/lib/audacious/General"
doexe build/libaudaciousimms*.so || die
fi
dodoc README AUTHORS
}
The audacious thing also needs to be fixed, but preferably by
detecting which function is available via the configure script to
avoid breaking compatibility with the old versions. I guess I'll get
around to it whenever I upgrade my audacious version.
Have fun,
Michael.