--- Csound5.16.6/install.py +++ Csound5.16.6/install.py @@ -29,8 +29,6 @@ exeFiles2 = ['brkpt', 'linseg', 'tabdes'] -docFiles = ['COPYING', 'ChangeLog', 'INSTALL', 'readme-csound5.txt'] - # ----------------------------------------------------------------------------- print 'Csound5 Linux installer by Istvan Varga' @@ -115,6 +113,8 @@ javaDir = concatPath([libDir, '/csound/java']) # LISP interface lispDir = concatPath([libDir, '/csound/lisp']) +# luaCsnd.so +luaDir = concatPath([libDir, '/csound/lua']) # STK raw wave files rawWaveDir = concatPath([prefix, '/share/csound/rawwaves']) @@ -214,37 +214,12 @@ if findFiles('.', 'libcsound64\\.so\\..+').__len__() > 0: useDouble = 1 -# check for an already existing installation - -makeDir(concatPath([binDir])) -installedBinaries = findFiles(concatPath([instDir, binDir]), '.+') -if ('csound' in installedBinaries) or ('csound64' in installedBinaries): - if 'uninstall-csound5' in installedBinaries: - print ' *** WARNING: found an already existing installation of Csound' - tmp = '' - while (tmp != 'yes\n') and (tmp != 'no\n'): - sys.__stderr__.write( - ' *** Uninstall it ? Type \'yes\', or \'no\' to quit: ') - tmp = sys.__stdin__.readline() - if tmp != 'yes\n': - print ' *** Csound installation has been aborted' - print '' - raise SystemExit(1) - print ' --- Removing old Csound installation...' - runCmd([concatPath([instDir, binDir, 'uninstall-csound5'])]) - print '' - else: - print ' *** Error: an already existing installation of Csound was found' - print ' *** Try removing it first, and then run this script again' - print '' - raise SystemExit(1) - # copy binaries print ' === Installing executables ===' for i in exeFiles1: if findFiles('.', i).__len__() > 0: - err = installXFile('--strip-unneeded', i, binDir) + err = installXFile('', i, binDir) installErrors = installErrors or err for i in exeFiles2: if findFiles('.', i).__len__() > 0: @@ -265,7 +240,7 @@ if i[-2:] == '.a': err = installFile(i, libDir) else: - err = installXFile('--strip-debug', i, libDir) + err = installXFile('', i, libDir) if err == 0: if i[:13] == 'libcsound.so.': err = installLink(i, concatPath([libDir, 'libcsound.so'])) @@ -292,11 +267,26 @@ if i in pluginList: pluginList.remove(i) for i in pluginList: - err = installXFile('--strip-unneeded', i, pluginDir) + err = installXFile('', i, pluginDir) installErrors = installErrors or err # copy header files +# Add forgotten header dependencies +headerdeps = [] +for header in headerFiles: + f = open(header) + for line in f: + m = re.findall('^#include "\w+.\w+"', line) + if m: + n = re.match('^#include "(.+)"', "".join(m)) + if os.path.isfile("H/" + n.group(1)): + headerdeps.append("H/" + n.group(1)) + else: + headerdeps.append("interfaces/" + n.group(1)) + f.close() +headerFiles = list(set(headerdeps + headerFiles)) + print ' === Installing header files ===' err = installFiles(headerFiles, includeDir) installErrors = installErrors or err @@ -313,6 +303,7 @@ ['_loris\\.so', '1', pythonDir2], ['_scoregen\\.so', '1', pythonDir2], ['_CsoundAC\\.so ', '1', pythonDir2], + ['luaCsnd\\.so', '1', luaDir], ['csnd\\.jar', '0', javaDir], ['interfaces/csound5\\.lisp', '0', lispDir]] for i in wrapperList: @@ -322,48 +313,21 @@ if i[1] == '0': err = installFile(fName, i[2]) else: - err = installXFile('--strip-debug', fName, i[2]) + err = installXFile('', fName, i[2]) installErrors = installErrors or err -# copy XMG files - -print ' === Installing Localisation files ===' -xmgList = findFiles('.', '.+\\.xmg') -if xmgList.__len__() > 0: - err = installFiles(xmgList, xmgDir) - installErrors = installErrors or err -else: - xmgList = ['de', 'en_GB','en_US', 'es_CO', 'fr', 'it','ro'] - for i in xmgList: - makeDir(concatPath([xmgDir, i, 'LC_MESSAGES'])) - src = 'po/' + i + '/LC_MESSAGES/csound5.mo' - fileName = concatPath([instDir, xmgDir, i, 'LC_MESSAGES/csound5.mo']) - err = runCmd(['install', '-p', '-m', '0644', src, fileName]) - if err == 0: - addMD5(fileName, fileName) - print ' %s' % fileName - else: - print ' *** error copying %s' % fileName - installErrors = installErrors or err - -# Copy documentation - -print ' === Installing documentation ===' -err = installFiles(docFiles, docDir) -installErrors = installErrors or err - # copy Tcl/Tk files print ' === Installing Tcl/Tk modules and scripts ===' if findFiles('.', 'tclcsound\\.so').__len__() > 0: - err = installXFile('--strip-unneeded', 'tclcsound.so', tclDir) + err = installXFile('', 'tclcsound.so', tclDir) installErrors = installErrors or err err = installFile('frontends/tclcsound/command_summary.txt', tclDir) installErrors = installErrors or err -err = installFile('nsliders.tk', tclDir) -installErrors = installErrors or err -err = installXFile('', 'matrix.tk', binDir) -installErrors = installErrors or err + err = installFile('nsliders.tk', tclDir) + installErrors = installErrors or err + err = installXFile('', 'matrix.tk', binDir) + installErrors = installErrors or err # copy STK raw wave files @@ -398,7 +362,7 @@ pdDir = '' if pdDir != '': print ' === Installing csoundapi~ PD object ===' - err = installXFile('--strip-unneeded', 'csoundapi~.pd_linux', pdDir) + err = installXFile('', 'csoundapi~.pd_linux', pdDir) if err == 0: try: os.chmod(concatPath([instDir, pdDir, 'csoundapi~.pd_linux']), 0644) @@ -420,42 +384,6 @@ '%s/%s' % (vimDir, 'syntax')) installErrors = installErrors or err -# create uninstall script - -print ' === Installing uninstall script ===' -fileList += [concatPath([prefix, md5Name])] -fileList += [concatPath([binDir, 'uninstall-csound5'])] -try: - f = open(concatPath([instDir, binDir, 'uninstall-csound5']), 'w') - print >> f, '#!/bin/sh' - print >> f, '' - for i in fileList: - print >> f, 'rm -f "%s"' % i - print >> f, '' - print >> f, '/sbin/ldconfig > /dev/null 2> /dev/null' - print >> f, '' - f.close() - os.chmod(concatPath([instDir, binDir, 'uninstall-csound5']), 0755) - addMD5(concatPath([instDir, binDir, 'uninstall-csound5']), - concatPath([binDir, 'uninstall-csound5'])) - print ' %s' % concatPath([binDir, 'uninstall-csound5']) -except: - print ' *** Error creating uninstall script' - installErrors = 1 - -# save MD5 checksums - -print ' === Installing MD5 checksums ===' -try: - f = open(concatPath([instDir, prefix, md5Name]), 'w') - print >> f, md5List, - f.close() - os.chmod(concatPath([instDir, prefix, md5Name]), 0644) - print ' %s' % concatPath([prefix, md5Name]) -except: - print ' *** Error installing MD5 checksums' - installErrors = 1 - # ----------------------------------------------------------------------------- @@ -481,10 +409,6 @@ print ' CSSTRNGS=%s' % xmgDir if '%s/libstk.so' % pluginDir in fileList: print ' RAWWAVE_PATH=%s' % rawWaveDir - print 'Csound can be uninstalled by running %s/uninstall-csound5' % binDir - -if os.getuid() == 0: - runCmd(['/sbin/ldconfig']) print ''