Compile errors in imms rc6

0 views
Skip to first unread message

Cheyenne Wills

unread,
Nov 2, 2008, 4:31:42 PM11/2/08
to imms-...@googlegroups.com
I ran into two compile errors in IMMS R6. The first error is just a
missing include, the second error is because the current Audacious code
has changed the name of their interface.

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
}

Michael Grigoriev

unread,
Nov 9, 2008, 5:06:18 PM11/9/08
to imms-...@googlegroups.com
Thanks for noticing the missing include.

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.

Reply all
Reply to author
Forward
0 new messages