I have only experience with ArchLinux and Mac, and have never used Ubuntu.
But, if you are willing to download boost 1.50 and use a little patch, it can work out for you.
The script is pretty simple:
pkgname=fomus
pkgver=0.1.18_alpha
pkgrel=2
pkgdesc="Automatic music notation application for musicians and composers."
arch=(i686 x86_64)
url="" href="http://fomus.sourceforge.net/">http://fomus.sourceforge.net/"
license=('GPL3')
depends=('boost-libs' 'libltdl')
makedepends=('graphviz' 'imagemagick' 'libxml2' 'swig' 'libtool' 'pd')
optdepends=('lilypond: lilypond support'
'emacs: emacs support'
'pd: pd support'
'cm: common music and grace support')
options=('!libtool')
source=("
http://downloads.sourceforge.net/project/$pkgname/$pkgname-${pkgver//_/-}.tar.gz"
"$pkgname-boost-1.50.0.patch")
md5sums=('b26a2f55d393385a5db9681bc27d3cfc'
'dbc0c71bc1f314c3a780cf78fb058c9c')
build() {
cd "$srcdir/$pkgname-${pkgver//_/-}"
# boost 1.50.0 patch
patch -p1 -i ../${source[1]}
./configure --prefix=/usr \
--enable-static=no \
--with-puredata
make
}
package() {
cd "$srcdir/$pkgname-${pkgver//_/-}"
make DESTDIR="$pkgdir/" install
# install pd extension in the right path
install -d "$pkgdir/usr/lib/pd/extra"
mv "$pkgdir/usr/share/$pkgname/$pkgname.pd_linux" "$pkgdir/usr/lib/pd/extra"
}
diff -aur fomus-0.1.18-alpha/src/lib/mods.h fomus-0.1.18-alpha.patched/src/lib/mods.h
--- fomus-0.1.18-alpha/src/lib/mods.h 2011-06-25 05:20:31.000000000 +0200
+++ fomus-0.1.18-alpha.patched/src/lib/mods.h 2012-09-26 00:02:55.137864114 +0200
@@ -214,7 +214,7 @@
class dlmodt2:public dlmodt1<T> {
public:
dlmodt2(const T& st):dlmodt1<T>(st) {}
- void* getdata(FOMUS f) const {return initerrwrap(T::newdata(f));}
+ void* getdata(FOMUS f) const {return this->initerrwrap(T::newdata(f));}
void freedata(void* data) const {T::freedata(data); T::initerrcheck();}
};
typedef dlmodt1<dlmodstuffinit> dlmodinit; // auxiliary modules
diff -aur fomus-0.1.18-alpha/src/lib/vars.cc fomus-0.1.18-alpha.patched/src/lib/vars.cc
--- fomus-0.1.18-alpha/src/lib/vars.cc 2011-03-30 05:56:30.000000000 +0200
+++ fomus-0.1.18-alpha.patched/src/lib/vars.cc 2012-09-26 01:19:23.745492381 +0200
@@ -450,11 +450,11 @@
const boostspirit::symbols<numb>& ip(fd ? fd->getmicpa() : mic_parse);
const boostspirit::symbols<numb>& op(fd ? fd->getoctpa() : oct_parse);
if (lst.type != module_list) return false;
- for (const module_value* i = lst.val.l.vals, *ie = lst.val.l.vals + lst.val.l.n; i < ie; ++i) {
- if (i->type != module_string) return false;
+ for (const module_value* j = lst.val.l.vals, *ie = lst.val.l.vals + lst.val.l.n; j < ie; ++j) {
+ if (j->type != module_string) return false;
numb nov(module_none), acv(module_none), miv(module_none), ocv(module_none);
parserule rl(notematchhasoct(mp, ap, ip, op, nov, acv, miv, ocv));
- parse_it p(i->val.s, endof(i->val.s));
+ parse_it p(j->val.s, endof(j->val.s));
parse(p, parse_it(), rl);
rat m(nov.isnull() ? std::numeric_limits<fint>::min() + 1 : numtorat(nov));
rat a(acv.isnull() ? std::numeric_limits<fint>::min() + 1 : numtorat(acv));