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'])

Reply via email to