Hans Fugal wrote:
> On Wed, 3 May 2006 at 19:12 +0900, Romain Lenglet wrote:
> > Package: csound
> > Version: 1:4.23f13-1
> > Severity: normal
> >
> > Please package upstream release 5.01, which supports JACK,
> > OSC, etc.
>
> Thanks for your report. My finals are over next week and then
> I plan to get this done.
Thanks, I was afraid that the package was abandonned. :-)
> It will basically require a complete
> repackaging since the build system has changed (for the
> better).
I have compiled it with success on Debian, with almost all
options activated.
For the most basic build, I used the following packages:
gcc-4.0 python2.4 swig scons libsndfile1-dev
Please note that I installed python2.4, because apparently the
optional python biding is better done using 2.4 than using 2.3
(what I understand is that it can directly link to python2.4's
library, which is more efficient).
And for all options that we can activate, it depends on:
libasound2-dev libjack0.100.0-dev libportmidi-dev libfltk1.1-dev
libfluidsynth-dev libstk0-dev liblo0-dev tcl8.4-dev tk8.4-dev
libgcj6-dev java-gcj-compat liblua50-dev liblualib50-dev
python2.4-dev
I simply tried to activate all options (displayed with scons -h),
and see what they needed. The only one option that cannot be
compiled, is the Loris plugin (Loris is not packaged in Debian),
and the Portaudio plugin. Portaudio is packaged in Debian
(packages libportaudio-dev and libportaudio0), but only version
18, whereas Csound requires version 19. Version 19 is not yet
officially stable upstream, so we will have to wait for it to
stabilize, and then to be packaged in Debian.
I have also problems with the STK integration: the library is
there, but seems not to be correctly detected. Could you look
into this?
It also requires a small patch, so that the Lua library is
correctly detected (attachment to this mail).
Easy to apply using dpatch, for instance...
For all options that can be enabled on GNU/Linux, here is a
working configuration and build command line:
scons prefix=/usr
customCCFLAGS="-I/usr/include/tcl8.4 -I/usr/include/lua50 -I/usr/include/stk"
buildCsoundVST=1 buildLoris=0 useOSC=1 buildPythonOpcodes=1
dynamicCsoundLibrary=1 useCoreAudio=0 buildTclcsound=1
buildInterfaces=1 buildJavaWrapper=1
It could be a good idea to explicitly disable the other options
that don't build or are not relevant for GNU/Linux??
Then, to install, execute something like:
/usr/bin/python2.4 ./install.py --prefix=/usr --instdir=debian/tmp
--vimdir=/usr/share/vim/addons/plugin/
Running explicitly with /usr/bin/python2.4, instead of the
alternatives-determined /usr/bin/python, is necessary, because
if python2.3 is also installed and selected as an alternative,
files get installed in /usr/lib/python2.3 instead
of /usr/lib/python2.4.
Well. That was the easy part. ;-)
You will have to move files around to respect the policy, notably
the .jar into /usr/share/java/, the files installed
in /usr/share/doc/csound/ etc.
And to cut everything into many many small packages, one for
every plugin, one for the Csound library, etc. Not
forgetting -dev packages?!
Also, it is necessary to remove the generated
files /usr/csound5-*.md5sums and /usr/bin/uninstall-csound5.
Good luck!
Regards,
--
Romain LENGLET
--- Csound5.01/SConstruct 2006-03-16 00:22:43.000000000 +0900
+++ Csound5.01-lua50/SConstruct 2006-05-07 17:51:49.798021720 +0900
@@ -930,10 +930,7 @@
'interfaces/lua_interface.i',
SWIGFLAGS = [swigflags, '-lua', '-outdir', '.'])
csoundInterfacesSources.insert(0, csoundLuaInterface)
- if getPlatform() == 'mingw':
- csoundInterfacesEnvironment.Prepend(LIBS = ['lua50'])
- else:
- csoundInterfacesEnvironment.Prepend(LIBS = ['lua'])
+ csoundInterfacesEnvironment.Prepend(LIBS = ['lua50'])
if getPlatform() == 'darwin':
csoundInterfacesBundleEnvironment = csoundInterfacesEnvironment.Copy()
csoundInterfacesBundleEnvironment.Append(LINKFLAGS = ['-Wl'])