pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/audio/csound5



Module Name:    pkgsrc
Committed By:   tnn
Date:           Wed Jan  2 18:29:14 UTC 2019

Modified Files:
        pkgsrc/audio/csound5: Makefile distinfo
        pkgsrc/audio/csound5/patches: patch-ac patch-install.py

Log Message:
csound5: catch up with scons update; support building with python 3


To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 pkgsrc/audio/csound5/Makefile
cvs rdiff -u -r1.13 -r1.14 pkgsrc/audio/csound5/distinfo
cvs rdiff -u -r1.9 -r1.10 pkgsrc/audio/csound5/patches/patch-ac
cvs rdiff -u -r1.2 -r1.3 pkgsrc/audio/csound5/patches/patch-install.py

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/audio/csound5/Makefile
diff -u pkgsrc/audio/csound5/Makefile:1.41 pkgsrc/audio/csound5/Makefile:1.42
--- pkgsrc/audio/csound5/Makefile:1.41  Tue Jul  3 05:03:01 2018
+++ pkgsrc/audio/csound5/Makefile       Wed Jan  2 18:29:14 2019
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.41 2018/07/03 05:03:01 adam Exp $
+# $NetBSD: Makefile,v 1.42 2019/01/02 18:29:14 tnn Exp $
 
 DISTNAME=              Csound${CSOUND_VERSION}
 PKGNAME=               csound5-${CSOUND_VERSION}
@@ -16,8 +16,6 @@ CSOUND_VERSION=               5.19.01
 USE_LANGUAGES=         c c++
 USE_TOOLS+=            bison
 CFLAGS+=               -D__PKGSRC_PREFIX__=${PREFIX}/ -DBETA
-BUILD_DEPENDS+=                scons>=0.96:../../devel/scons
-SCONS=                 ${PREFIX}/bin/scons
 SCONS_ARGS=            -C ${WRKSRC} prefix=${PREFIX}
 SCONS_ARGS+=           buildDSSI=0 buildLoris=0 buildRelease=1
 SCONS_ARGS+=           useALSA=0 useJack=0 useOSC=0 usePortMIDI=0
@@ -27,8 +25,6 @@ SCONS_ARGS+=          buildInterfaces=0
 # Has long files our tar doesn't understand.
 EXTRACT_USING=         gtar
 
-PYTHON_VERSIONS_INCOMPATIBLE=  34 35 36 37 # not yet ported as of 5.01
-
 INSTALLATION_DIRS=     bin
 
 CHECK_PORTABILITY_SKIP+=       installer/misc/makedeb.sh
@@ -41,7 +37,7 @@ SUBST_SED.strip=      -e 's/--strip-unneeded/
 do-build:
        cd ${WRKSRC} && ${TOOLS_PATH.bison} -d -o frontends/beats/beats.tab.c frontends/beats/beats.y
        cd ${WRKSRC} && if [ ! -f custom.py ]; then cp custom.py.mkg custom.py; fi
-       cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SCONS} ${SCONS_ARGS}
+       cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${SCONSBIN} ${SCONS_ARGS}
 
 do-install:
        cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${INSTALL_ENV} ${PYTHONBIN} \
@@ -50,9 +46,10 @@ do-install:
 
 .include "../../audio/fluidsynth/buildlink3.mk"
 .include "../../audio/libsndfile/buildlink3.mk"
+PYTHON_FOR_BUILD_ONLY= yes
+.include "../../devel/scons/buildlink3.mk"
 .include "../../mk/jpeg.buildlink3.mk"
 .include "../../graphics/png/buildlink3.mk"
-PYTHON_FOR_BUILD_ONLY= yes
 .include "../../lang/python/application.mk"
 .include "../../x11/fltk/buildlink3.mk"
 .include "../../mk/pthread.buildlink3.mk"

Index: pkgsrc/audio/csound5/distinfo
diff -u pkgsrc/audio/csound5/distinfo:1.13 pkgsrc/audio/csound5/distinfo:1.14
--- pkgsrc/audio/csound5/distinfo:1.13  Tue Nov  3 01:12:27 2015
+++ pkgsrc/audio/csound5/distinfo       Wed Jan  2 18:29:14 2019
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.13 2015/11/03 01:12:27 agc Exp $
+$NetBSD: distinfo,v 1.14 2019/01/02 18:29:14 tnn Exp $
 
 SHA1 (Csound5.19.01.tar.gz) = eeeb3591745c5b352b9040a2dfa3805f22f5fbda
 RMD160 (Csound5.19.01.tar.gz) = ceb9952d562c57b09143a47a4d51081753f1b694
@@ -10,7 +10,7 @@ SHA1 (patch-H_cs__par__base.h) = 198ceed
 SHA1 (patch-H_cs__par__dispatch.h) = d4c2be5958f533c8383d85efb97ecda0a33ef43d
 SHA1 (patch-Opcodes_cpumeter.c) = 45cf1eafa0fbf7d430c5f4a39a193c63e0259d5a
 SHA1 (patch-Opcodes_wavegde.h) = e1a6d742b28dd9b6b129a993102baf7218efa57c
-SHA1 (patch-ac) = 6420eba18a5c06c84a592b96d3725d6f96d238a4
+SHA1 (patch-ac) = ac09a9ee3f8be72f63aef9bc2ac977ab914428fe
 SHA1 (patch-ad) = 30aa452d35dbcd6ba4fe2c9a7680fe028368aae4
 SHA1 (patch-ae) = cba2fb017f4b940debbf7f8fd482c73c3fe19587
 SHA1 (patch-ah) = 229fc00e122288ea16ebf07f081869965cab9365
@@ -23,4 +23,4 @@ SHA1 (patch-an) = edaddf39179bf686e46591
 SHA1 (patch-ao) = 83a028f92ef743072728376cf4ddc79ef3d46381
 SHA1 (patch-custom.py.mkg) = ef45464105e7d7bc8ad2401d1b19f521e12333ca
 SHA1 (patch-frontends_beats_main.c) = 5de77ee83be93120a93b86b755d767c46c58fcdf
-SHA1 (patch-install.py) = 8a02d553440bf921761a189af7b96fdd9657e870
+SHA1 (patch-install.py) = 98397ed54f1afb1551a4d82492e020842ee4dee1

Index: pkgsrc/audio/csound5/patches/patch-ac
diff -u pkgsrc/audio/csound5/patches/patch-ac:1.9 pkgsrc/audio/csound5/patches/patch-ac:1.10
--- pkgsrc/audio/csound5/patches/patch-ac:1.9   Mon Feb 24 16:19:39 2014
+++ pkgsrc/audio/csound5/patches/patch-ac       Wed Jan  2 18:29:14 2019
@@ -1,7 +1,25 @@
-$NetBSD: patch-ac,v 1.9 2014/02/24 16:19:39 joerg Exp $
+$NetBSD: patch-ac,v 1.10 2019/01/02 18:29:14 tnn Exp $
+
+fix python3.x support and paths
 
 --- SConstruct.orig    2013-01-07 12:49:34.000000000 +0000
 +++ SConstruct
+@@ -1,5 +1,5 @@
+ #J vim:syntax=python
+-print '''
++print('''
+       C S O U N D 5
+ 
+ SCons build file for Csound 5:
+@@ -16,7 +16,7 @@ For MinGW, run in the MSys shell
+     and use www.python.org WIN32 Python to run scons.
+ For Microsoft Visual C++, run in the Platform SDK
+     command shell, and use www.python.org WIN32 Python to run scons.
+-'''
++''')
+ 
+ import time
+ import glob
 @@ -60,6 +60,10 @@ def getPlatform():
          return 'darwin'
      elif sys.platform[:5] == 'sunos':
@@ -13,15 +31,125 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
      else:
          return 'unsupported'
  
-@@ -408,6 +412,8 @@ if commonEnvironment['useGettext'] == '1
+@@ -69,7 +73,7 @@ def getPlatform():
+ #
+ #############################################################################
+ 
+-print "System platform is '" + getPlatform() + "'."
++print("System platform is '" + getPlatform() + "'.")
+ 
+ 
+ # Create options that can be set from the command line.
+@@ -317,24 +321,24 @@ def compilerGNU():
+ optionsFilename = 'custom.py'
+ 
+ if compilerIntel():
+-      Tool('icl')(commonEnvironment)
+-      optionsFilename = 'custom-msvc.py'
++        Tool('icl')(commonEnvironment)
++        optionsFilename = 'custom-msvc.py'
+ elif compilerMicrosoft():
+-      optionsFilename = 'custom-msvc.py'
++        optionsFilename = 'custom-msvc.py'
+ elif getPlatform() == 'win32':
+-      # On Windows, to exclude MSVC tools,
+-      # we have to force MinGW tools and then re-create
+-      # the environment from scratch.
+-      commonEnvironment = Environment(ENV = os.environ, tools = ['mingw', 'swig', 'javac', 'jar'])
+-      commandOptions.Update(commonEnvironment)
+-      #Tool('mingw')(commonEnvironment)
+-      optionsFilename = 'custom-mingw.py'
++        # On Windows, to exclude MSVC tools,
++        # we have to force MinGW tools and then re-create
++        # the environment from scratch.
++        commonEnvironment = Environment(ENV = os.environ, tools = ['mingw', 'swig', 'javac', 'jar'])
++        commandOptions.Update(commonEnvironment)
++        #Tool('mingw')(commonEnvironment)
++        optionsFilename = 'custom-mingw.py'
+ 
+ if(not FindFile(optionsFilename, '.')):
+-    print "\n\n*************************************************"  
+-    print "%s NOT FOUND, please copy one of the custom-***.py" % optionsFilename
+-    print "as %s and modify it to suit your system, if necessary" % optionsFilename
+-    print "*************************************************"  
++    print("\n\n*************************************************"  )
++    print("%s NOT FOUND, please copy one of the custom-***.py" % optionsFilename)
++    print("as %s and modify it to suit your system, if necessary" % optionsFilename)
++    print("*************************************************"  )
+     Exit(-1)
+ 
+ 
+@@ -346,7 +350,7 @@ if commonEnvironment['custom']:
+ Requires(optionsFilename, commonEnvironment)
+    
+ 
+-print "Using options from '%s.'" % optionsFilename
++print("Using options from '%s.'" % optionsFilename)
+ 
+ fileOptions = Variables(optionsFilename)
+ fileOptions.Add('customCPPPATH', 'List of custom CPPPATH variables')
+@@ -375,21 +379,21 @@ commonEnvironment.Prepend(SWIGFLAGS = cu
+ 
+ # Define options for different platforms.
+ if getPlatform() != 'win32' and getPlatform() != 'sunos':
+-    print "Build platform is '" + getPlatform() + "'."
++    print("Build platform is '" + getPlatform() + "'.")
+ elif getPlatform() == 'sunos':
+     if compilerSun():
+-        print "Build platform is Sun Studio."
++        print("Build platform is Sun Studio.")
+     elif compilerGNU():
+-        print "Build platform is '" + getPlatform() + "'."
++        print("Build platform is '" + getPlatform() + "'.")
+ else:
+     if compilerMicrosoft():
+-        print "Build platform is Microsoft Visual C++ (MSVC)."
++        print("Build platform is Microsoft Visual C++ (MSVC).")
+     elif compilerIntel():
+-        print "Build platform is the Intel C++ Compiler (ICL)."
++        print("Build platform is the Intel C++ Compiler (ICL).")
+     elif compilerGNU():
+-        print "Build platform is MinGW/MSYS"
++        print("Build platform is MinGW/MSYS")
+ 
+-print "SCons tools on this platform: ", commonEnvironment['TOOLS']
++print("SCons tools on this platform: ", commonEnvironment['TOOLS'])
+ 
+ commonEnvironment.Prepend(CPPPATH = ['.', './H'])
+ if commonEnvironment['useLrint'] != '0':
+@@ -398,7 +402,7 @@ if commonEnvironment['useLrint'] != '0':
+ cf = Configure(commonEnvironment)
+ if commonEnvironment['useGettext'] == '1':
+   if cf.CheckHeader("libintl.h"):
+-    print "CONFIGURATION DECISION: Using GNU gettext scheme"
++    print("CONFIGURATION DECISION: Using GNU gettext scheme")
+     commonEnvironment.Prepend(CCFLAGS = ['-DGNU_GETTEXT'])
+     if getPlatform() == "win32":
+         commonEnvironment.Append(LIBS=['intl'])
+@@ -408,8 +412,10 @@ if commonEnvironment['useGettext'] == '1
          commonEnvironment.Append(LIBS=['intl'])
      if getPlatform() == 'haiku':
          commonEnvironment.Append(LIBS=['intl'])
 +    if getPlatform() == 'netbsd':
 +        commonEnvironment.Append(LIBS=['intl'])
  else:
-     print "CONFIGURATION DECISION: No localisation"
+-    print "CONFIGURATION DECISION: No localisation"
++    print("CONFIGURATION DECISION: No localisation")
+ 
+ if getPlatform() == 'haiku':
+     commonEnvironment.Append(LIBS=['network'])
+@@ -495,9 +501,9 @@ if commonEnvironment['Word64'] == '1':
+         commonEnvironment.Append(CCFLAGS = ['-fPIC'])
  
+ if commonEnvironment['useDouble'] == '0':
+-    print 'CONFIGURATION DECISION: Using single-precision floating point for audio samples.'
++    print('CONFIGURATION DECISION: Using single-precision floating point for audio samples.')
+ else:
+-    print 'CONFIGURATION DECISION: Using double-precision floating point for audio samples.'
++    print('CONFIGURATION DECISION: Using double-precision floating point for audio samples.')
+     commonEnvironment.Append(CPPFLAGS = ['-DUSE_DOUBLE'])
+     
+ # Define different build environments for different types of targets.
 @@ -505,17 +511,17 @@ else:
  if getPlatform() == 'linux':
      commonEnvironment.Append(CCFLAGS = ["-DLINUX"])
@@ -46,9 +174,21 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
      if compilerGNU():
          commonEnvironment.Append(CCFLAGS = "-DPIPES")
          commonEnvironment.Append(LINKFLAGS = ['-Wl,-Bdynamic'])
-@@ -570,6 +576,11 @@ elif getPlatform() == 'win32':
+@@ -524,7 +530,7 @@ elif getPlatform() == 'darwin':
+     commonEnvironment.Append(CPPPATH = '/usr/local/include')
+     commonEnvironment.Append(CCFLAGS = "-DPIPES")
+     if commonEnvironment['useAltivec'] == '1':
+-        print 'CONFIGURATION DECISION: Using Altivec optimisation'
++        print('CONFIGURATION DECISION: Using Altivec optimisation')
+         commonEnvironment.Append(CCFLAGS = "-faltivec")
+ elif getPlatform() == 'haiku':
+     commonEnvironment.Append(CPPPATH = '/boot/common/include')
+@@ -568,8 +574,13 @@ elif getPlatform() == 'win32':
+     if compilerMicrosoft():
+         commonEnvironment.Append(CCFLAGS =  '/arch:sse')
      if compilerIntel():
-         print 'Generating code optimized for Intel Core 2 Duo and Pentium 4 that will run on other processors also.'
+-        print 'Generating code optimized for Intel Core 2 Duo and Pentium 4 that will run on other processors also.'
++        print('Generating code optimized for Intel Core 2 Duo and Pentium 4 that will run on other processors also.')
          commonEnvironment.Append(CCFLAGS = Split('/O3 /QaxTP'))
 +elif getPlatform() == 'netbsd' or getPlatform() == 'dragonfly' or getPlatform() == 'sunos5':
 +    commonEnvironment.Append(CCFLAGS = Split(os.environ['CFLAGS']))
@@ -58,6 +198,162 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
  
  if getPlatform() == 'linux':
      path1 = '/usr/include/python%s' % commonEnvironment['pythonVersion']
+@@ -603,7 +614,7 @@ elif getPlatform() == 'darwin':
+     kernelstr = fout.readline()
+     fout.close()
+     OSXvers = int(kernelstr[:kernelstr.find('.')]) - 4
+-    print "Mac OS X version 10.%d" % OSXvers
++    print("Mac OS X version 10.%d" % OSXvers)
+     # dictionary mapping OS X version to Apple Python version
+     # ex. 4:3 maps OS X 10.4 to Python 2.3
+     # Note that OS X 10.2 did not ship with a Python framework
+@@ -611,21 +622,21 @@ elif getPlatform() == 'darwin':
+     OSXSystemPythonVersions = { 0:0, 1:0, 2:2, 3:3, 4:3, 5:5, 6:6, 7:7, 8:7 }
+     sysPyVers = OSXSystemPythonVersions[OSXvers]
+     if OSXvers >= 2:
+-        print "Apple Python version is 2.%d" % sysPyVers
++        print("Apple Python version is 2.%d" % sysPyVers)
+     # vers = (int(sys.hexversion) >> 24, (int(sys.hexversion) >> 16) & 255)
+     vers = sys.version_info
+     pvers = "%s.%s" % (vers[0], vers[1])
+     # This logic is not quite right on OS X 10.2 and earlier
+     # or if the MacPython version equals the expected Apple Python version
+     if vers[1] == sysPyVers:
+-        print "Current Python version is %s, using Apple Python Framework" % pvers
++        print("Current Python version is %s, using Apple Python Framework" % pvers)
+         pyBasePath = '/System/Library/Frameworks'
+     else:
+-        print "Current Python version is %s, using MacPython Framework" % pvers
++        print("Current Python version is %s, using MacPython Framework" % pvers)
+         pyBasePath = '/Library/Frameworks'
+     if commonEnvironment['pythonVersion'] != pvers:
+         commonEnvironment['pythonVersion'] = pvers
+-        print "WARNING python version used is " + pvers
++        print("WARNING python version used is " + pvers)
+     pythonIncludePath = ['%s/Python.Framework/Headers' % pyBasePath]
+     pythonLinkFlags = [ '-F' + pyBasePath, '-framework', 'python']
+     path1 = '%s/Python.framework/Versions/Current/lib' % pyBasePath
+@@ -696,44 +707,44 @@ configure = commonEnvironment.Configure(
+ })
+ 
+ if not configure.CheckHeader("stdio.h", language = "C"):
+-    print " *** Failed to compile a simple test program. The compiler is"
+-    print " *** possibly not set up correctly, or is used with invalid flags."
+-    print " *** Check config.log to find out more about the error."
++    print(" *** Failed to compile a simple test program. The compiler is")
++    print(" *** possibly not set up correctly, or is used with invalid flags.")
++    print(" *** Check config.log to find out more about the error.")
+     Exit(-1)
+ if not configure.CheckLibWithHeader("sndfile", "sndfile.h", language = "C"):
+-      print "The sndfile library is required to build Csound 5."
+-      Exit(-1)
++        print("The sndfile library is required to build Csound 5.")
++        Exit(-1)
+ if getPlatform() == 'haiku':
+-      pthreadLib = "root"
++        pthreadLib = "root"
+ else:
+-      pthreadLib = "pthread"
++        pthreadLib = "pthread"
+ if not configure.CheckLibWithHeader(pthreadLib, "pthread.h", language = "C"):
+-      print "The pthread library is required to build Csound 5."
+-      Exit(-1)
++        print("The pthread library is required to build Csound 5.")
++        Exit(-1)
+ 
+ # Support for GEN49 (load MP3 file)
+ 
+ if commonEnvironment['includeWii'] != '0' and configure.CheckHeader("wiiuse.h", language = "C"):
+     wiifound = 1
+     wiiversion = commonEnvironment['includeWii']
+-    print 'CONFIGURATION DECISION: Building with Wiimote support'
++    print('CONFIGURATION DECISION: Building with Wiimote support')
+ else:
+     wiifound = 0
+-    print 'CONFIGURATION DECISION: No Wiimote support'
++    print('CONFIGURATION DECISION: No Wiimote support')
+ 
+ if commonEnvironment['includeP5Glove'] == '1' :
+     p5gfound = 1
+-    print 'CONFIGURATION DECISION: Building with P5 Glove support'
++    print('CONFIGURATION DECISION: Building with P5 Glove support')
+ else:
+     p5gfound = 0
+-    print 'CONFIGURATION DECISION: No P5 Glove support'
++    print('CONFIGURATION DECISION: No P5 Glove support')
+ 
+ if commonEnvironment['includeSerial'] == '1' :
+     serialfound = 1
+-    print 'CONFIGURATION DECISION: Building with Serial code support'
++    print('CONFIGURATION DECISION: Building with Serial code support')
+ else:
+     serialfound = 0
+-    print 'CONFIGURATION DECISION: No Serial code support'
++    print('CONFIGURATION DECISION: No Serial code support')
+ 
+ 
+ #pthreadSpinlockFound = configure.CheckLibWithHeader('pthread', 'pthread.h', 'C', 'pthread_spin_lock(0);')
+@@ -741,13 +752,13 @@ if getPlatform() != 'darwin': # pthreadS
+     commonEnvironment.Append(CPPFLAGS = ['-DHAVE_PTHREAD_SPIN_LOCK'])
+ pthreadBarrierFound = configure.CheckLibWithHeader('pthread', 'pthread.h', 'C', 'pthread_barrier_init(0, NULL, 0);')
+ if pthreadBarrierFound:
+-    print 'CONFIGURATION DECISION: Using HAVE_PTHREAD_BARRIER_INIT'
++    print('CONFIGURATION DECISION: Using HAVE_PTHREAD_BARRIER_INIT')
+     commonEnvironment.Append(CPPFLAGS = ['-DHAVE_PTHREAD_BARRIER_INIT'])
+ else:
+-    print 'CONFIGURATION DECISION: Not using HAVE_PTHREAD_BARRIER_INIT'
++    print('CONFIGURATION DECISION: Not using HAVE_PTHREAD_BARRIER_INIT')
+ openMpFound = configure.CheckLibWithHeader('gomp', 'omp.h', 'C++', 'int n = omp_get_num_threads();')
+ if openMpFound and pthreadBarrierFound and commonEnvironment['useOpenMP'] == '1':
+-    print 'CONFIGURATION DECISION: Using OpenMP.'
++    print('CONFIGURATION DECISION: Using OpenMP.')
+     commonEnvironment.Append(CFLAGS = ['-fopenmp'])
+     commonEnvironment.Append(CXXFLAGS = ['-fopenmp'])
+     commonEnvironment.Append(CPPFLAGS = ['-DUSE_OPENMP'])
+@@ -760,7 +771,7 @@ else:
+    syncLockTestAndSetFound = configure.CheckLibWithHeader('m', 'stdint.h', 'C', '__sync_lock_test_and_set((int32_t *)0, 0);')
+ if syncLockTestAndSetFound:
+    commonEnvironment.Append(CPPFLAGS = ['-DHAVE_SYNC_LOCK_TEST_AND_SET'])
+-   print  'found sync lock'
++   print( 'found sync lock')
+ vstSdkFound = configure.CheckHeader("frontends/CsoundVST/vstsdk2.4/public.sdk/source/vst2.x/audioeffectx.h", language = "C++")
+ portaudioFound = configure.CheckHeader("portaudio.h", language = "C")
+ #portmidiFound = configure.CheckHeader("portmidi.h", language = "C")
+@@ -794,10 +805,10 @@ if not tclhfound:
+ zlibhfound = configure.CheckHeader("zlib.h", language = "C")
+ midiPluginSdkFound = configure.CheckHeader("funknown.h", language = "C++")
+ luaFound = configure.CheckHeader("lua.h", language = "C")
+-#print 'LUA: %s' % (['no', 'yes'][int(luaFound)])
++#print('LUA: %s' % (['no', 'yes'][int(luaFound)]))
+ swigFound = 'swig' in commonEnvironment['TOOLS']
+-print 'Checking for SWIG... %s' % (['no', 'yes'][int(swigFound)])
+-print "Python Version: " + commonEnvironment['pythonVersion']
++print('Checking for SWIG... %s' % (['no', 'yes'][int(swigFound)]))
++print("Python Version: " + commonEnvironment['pythonVersion'])
+ pythonFound = configure.CheckHeader("Python.h", language = "C")
+ if not pythonFound:
+     if getPlatform() == 'darwin':
+@@ -865,7 +876,7 @@ elif configure.CheckHeader("dirent.h", l
+     commonEnvironment.Append(CPPFLAGS = ['-DHAVE_DIRENT_H'])
+ 
+ if not configure.CheckSndFile():
+-    print "The sndfile library >= 1.0.19 is required to build Csound 5."
++    print("The sndfile library >= 1.0.19 is required to build Csound 5.")
+     Exit(-1)
+ 
+ # Package contents.
+@@ -919,9 +930,9 @@ lexBuild = csoundLibraryEnvironment.CFil
+ preBuild = csoundLibraryEnvironment.CFile(target = 'Engine/csound_prelex.c',
+                            source = 'Engine/csound_pre.lex')
+ if commonEnvironment['NewParserDebug'] != '0':
+-    print 'CONFIGURATION DECISION: Building with new parser debugging'
++    print('CONFIGURATION DECISION: Building with new parser debugging')
+     csoundLibraryEnvironment.Append(CPPFLAGS = ['-DPARSER_DEBUG=1'])
+-else: print 'CONFIGURATION DECISION: Not building with new parser debugging'
++else: print('CONFIGURATION DECISION: Not building with new parser debugging')
+ 
+ csoundLibraryEnvironment.Append(CPPFLAGS = ['-D__BUILDING_LIBCSOUND'])
+ if commonEnvironment['buildRelease'] != '0':
 @@ -942,6 +953,13 @@ if commonEnvironment['buildRelease'] != 
              tmp += '64'
          s = '-DCS_DEFAULT_PLUGINDIR=\\"%s\\"' % tmp
@@ -84,7 +380,39 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
  csoundInterfacesEnvironment = csoundDynamicLibraryEnvironment.Clone()
  
  if buildOSXFramework:
-@@ -1289,7 +1312,7 @@ else:
+@@ -1016,7 +1039,7 @@ if buildOSXFramework:
+         tmp += ['%s/Resources/Opcodes64' % OSXFrameworkCurrentVersion]
+     for i in tmp:
+         try:
+-            os.mkdir(i, 0755)
++            os.mkdir(i, 0o755)
+         except:
+             pass
+     # set up symbolic links
+@@ -1045,7 +1068,7 @@ def MacOSX_InstallHeader(headerName):
+ 
+ def MacOSX_InstallPlugin(fileName):
+     if buildOSXFramework:
+-        print "COPYINNG plugin"
++        print("COPYINNG plugin")
+         pluginDir = '%s/Resources/Opcodes' % OSXFrameworkCurrentVersion
+         if commonEnvironment['useDouble'] != '0':
+             pluginDir += '64'
+@@ -1233,7 +1256,7 @@ libCsoundSources += newParserSources
+ 
+ csoundLibraryEnvironment.Append(CCFLAGS='-fPIC')
+ if commonEnvironment['dynamicCsoundLibrary'] == '1':
+-    print 'CONFIGURATION DECISION: Building dynamic Csound library'
++    print('CONFIGURATION DECISION: Building dynamic Csound library')
+     if getPlatform() == 'linux' or getPlatform() == 'sunos':
+         libName = 'lib' + csoundLibraryName + '.so'
+         libName2 = libName + '.' + csoundLibraryVersion
+@@ -1285,11 +1308,11 @@ if commonEnvironment['dynamicCsoundLibra
+         csoundLibrary = csoundDynamicLibraryEnvironment.SharedLibrary(
+             csoundLibraryName, libCsoundSources)
+ else:
+-    print 'CONFIGURATION DECISION: Building static Csound library'
++    print('CONFIGURATION DECISION: Building static Csound library')
      csoundLibraryEnvironment.Append(CCFLAGS='-fPIC')
      csoundLibrary = csoundLibraryEnvironment.Library(
          csoundLibraryName, libCsoundSources)
@@ -93,6 +421,195 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
   # We need the library before sndfile in case we are building a static
   # libcsound and passing -Wl,-as-needed
   libCsoundLibs.insert(0,csoundLibrary)
+@@ -1355,7 +1378,7 @@ def makePythonModule(env, targetName, so
+             pyModule_ = env.SharedLibrary('_%s' % targetName, sources, SHLIBSUFFIX = '.pyd')
+         if getPlatform() == 'win32' and pythonLibs[0] < 'python24':
+             Depends(pyModule_, pythonImportLibrary)
+-        print "PYTHON MODULE %s..." % targetName
++        print("PYTHON MODULE %s..." % targetName)
+     pythonModules.append(pyModule_)
+     pythonModules.append('%s.py' % targetName)
+     return pyModule_
+@@ -1369,15 +1392,15 @@ def makeLuaModule(env, targetName, srcs)
+             luaModule_ = env.SharedLibrary('%s' % targetName, srcs, SHLIBPREFIX="", SHLIBSUFFIX = '.so')
+         else:
+             luaModule_ = env.SharedLibrary('%s' % targetName, srcs, SHLIBSUFFIX = '.dll')
+-        print "LUA MODULE %s..." % targetName
++        print("LUA MODULE %s..." % targetName)
+     return luaModule_
+ 
+ # libcsnd.so is used by all wrapper libraries.
+ 
+ if not (commonEnvironment['buildInterfaces'] == '1'):
+-    print 'CONFIGURATION DECISION: Not building Csound C++ interface library.'
++    print('CONFIGURATION DECISION: Not building Csound C++ interface library.')
+ else:
+-    print 'CONFIGURATION DECISION: Building Csound C++ interface library.'
++    print('CONFIGURATION DECISION: Building Csound C++ interface library.')
+     csoundInterfacesEnvironment.Append(CPPPATH = ['interfaces'])
+     if musicXmlFound:
+         csoundInterfacesEnvironment.Prepend(LIBS = 'musicxml2')
+@@ -1456,36 +1479,36 @@ else:
+         option = '-I' + option
+         csoundWrapperEnvironment.Append(SWIGFLAGS = [option])
+     swigflags = csoundWrapperEnvironment['SWIGFLAGS']
+-    print 'swigflags:', swigflags
++    print('swigflags:', swigflags)
+     luaWrapper = None
+     if not (luaFound and commonEnvironment['buildLuaWrapper'] != '0'):
+-        print 'CONFIGURATION DECISION: Not building Lua wrapper to Csound C++ interface library.'
++        print('CONFIGURATION DECISION: Not building Lua wrapper to Csound C++ interface library.')
+     else:
+-        print 'CONFIGURATION DECISION: Building Lua wrapper to Csound C++ interface library.'
+-      luaWrapperEnvironment = csoundWrapperEnvironment.Clone()
++        print('CONFIGURATION DECISION: Building Lua wrapper to Csound C++ interface library.')
++        luaWrapperEnvironment = csoundWrapperEnvironment.Clone()
+         if getPlatform() != 'win32':
+             csoundWrapperEnvironment.Append(CPPPATH=['/usr/include/lua5.1'])
+         if getPlatform() == 'win32':
+             csoundLuaInterface = luaWrapperEnvironment.SharedObject(
+-                  'interfaces/lua_interface.i',
+-                  SWIGFLAGS = [swigflags, '-lua', '-module', 'luaCsnd', '-outdir', '.'])
+-          luaWrapperEnvironment.Prepend(LIBS = ['csnd','lua51'])
+-      else:
+-          csoundLuaInterface = luaWrapperEnvironment.SharedObject(
+-                      'interfaces/lua_interface.i',
+-                      SWIGFLAGS = [swigflags, '-lua', '-module', 'luaCsnd', '-outdir', '.'])
++                    'interfaces/lua_interface.i',
++                    SWIGFLAGS = [swigflags, '-lua', '-module', 'luaCsnd', '-outdir', '.'])
++            luaWrapperEnvironment.Prepend(LIBS = ['csnd','lua51'])
++        else:
++            csoundLuaInterface = luaWrapperEnvironment.SharedObject(
++                        'interfaces/lua_interface.i',
++                        SWIGFLAGS = [swigflags, '-lua', '-module', 'luaCsnd', '-outdir', '.'])
+             luaWrapperEnvironment.Prepend(LIBS = ['csnd','luajit-5.1'])
+-              luaWrapper = makeLuaModule(luaWrapperEnvironment, 'luaCsnd', [csoundLuaInterface])
+-      Depends(luaWrapper, csoundLuaInterface)
++        luaWrapper = makeLuaModule(luaWrapperEnvironment, 'luaCsnd', [csoundLuaInterface])
++        Depends(luaWrapper, csoundLuaInterface)
+ 
+     if not (javaFound and commonEnvironment['buildJavaWrapper'] != '0'):
+-        print 'CONFIGURATION DECISION: Not building Java wrapper to Csound C++ interface library.'
++        print('CONFIGURATION DECISION: Not building Java wrapper to Csound C++ interface library.')
+     else:
+-        print 'CONFIGURATION DECISION: Building Java wrapper to Csound C++ interface library.'
++        print('CONFIGURATION DECISION: Building Java wrapper to Csound C++ interface library.')
+         javaWrapperEnvironment = csoundWrapperEnvironment.Clone()
+         if  getPlatform() == 'darwin': 
+              javaWrapperEnvironment.Append(LINKFLAGS = ['-L.', '-l_csnd'])
+-      else: javaWrapperEnvironment.Prepend(LIBS = ['csnd'])
++        else: javaWrapperEnvironment.Prepend(LIBS = ['csnd'])
+         if getPlatform() == 'darwin':
+             javaWrapperEnvironment.Append(CPPPATH =
+                 ['/System/Library/Frameworks/JavaVM.framework/Headers'])
+@@ -1525,7 +1548,7 @@ else:
+             target = './interfaces', source = './interfaces',
+             JAVACFLAGS = ['-source', '5', '-target', '5'])
+         try:
+-            os.mkdir('interfaces/csnd', 0755)
++            os.mkdir('interfaces/csnd', 0o755)
+         except:
+             pass
+         jcsndJar = javaWrapperEnvironment.Jar(
+@@ -1535,57 +1558,57 @@ else:
+     # Please do not remove these two variables, needed to get things to build on Windows...
+     pythonWrapper = None
+     if not (pythonFound and commonEnvironment['buildPythonWrapper'] != '0'):
+-        print 'CONFIGURATION DECISION: Not building Python wrapper to Csound C++ interface library.'
++        print('CONFIGURATION DECISION: Not building Python wrapper to Csound C++ interface library.')
+     else:
+-        print 'CONFIGURATION DECISION: Building Python wrapper to Csound C++ interface library.'
++        print('CONFIGURATION DECISION: Building Python wrapper to Csound C++ interface library.')
+         pythonWrapperEnvironment = csoundWrapperEnvironment.Clone()
+         if  getPlatform() == 'darwin': 
+              pythonWrapperEnvironment.Append(LINKFLAGS = ['-L.', '-l_csnd'])
+         else: pythonWrapperEnvironment.Prepend(LIBS = Split('csnd'))
+-      if getPlatform() == 'linux':
+-          os.spawnvp(os.P_WAIT, 'rm', ['rm', '-f', '_csnd.so'])
+-          # os.symlink('lib_csnd.so', '_csnd.so')
+-          pythonWrapperEnvironment.Append(LINKFLAGS = ['-Wl,-rpath-link,.'])
+-      if getPlatform() == 'darwin':
++        if getPlatform() == 'linux':
++            os.spawnvp(os.P_WAIT, 'rm', ['rm', '-f', '_csnd.so'])
++            # os.symlink('lib_csnd.so', '_csnd.so')
++            pythonWrapperEnvironment.Append(LINKFLAGS = ['-Wl,-rpath-link,.'])
++        if getPlatform() == 'darwin':
+             #pythonWrapperEnvironment.Append(LINKFLAGS = pythonLinkFlags)
+-          if commonEnvironment['dynamicCsoundLibrary'] == '1':
+-              #ilibName = "lib_csnd.dylib"
+-              #ilibVersion = csoundLibraryVersion
+-              #pythonWrapperEnvironment.Append(SHLINKFLAGS = Split('''-Xlinker -compatibility_version -Xlinker %s''' % ilibVersion))
+-              #pythonWrapperEnvironment.Append(SHLINKFLAGS = Split('''-Xlinker -current_version -Xlinker %s''' % ilibVersion))
+-              #pythonWrapperEnvironment.Append(SHLINKFLAGS = Split('''-install_name /Library/Frameworks/%s/%s''' % (OSXFrameworkCurrentVersion, ilibName)))
+-              pythonWrapperEnvironment.Append(LINKFLAGS = Split('''-undefined dynamic_lookup'''))
++            if commonEnvironment['dynamicCsoundLibrary'] == '1':
++                #ilibName = "lib_csnd.dylib"
++                #ilibVersion = csoundLibraryVersion
++                #pythonWrapperEnvironment.Append(SHLINKFLAGS = Split('''-Xlinker -compatibility_version -Xlinker %s''' % ilibVersion))
++                #pythonWrapperEnvironment.Append(SHLINKFLAGS = Split('''-Xlinker -current_version -Xlinker %s''' % ilibVersion))
++                #pythonWrapperEnvironment.Append(SHLINKFLAGS = Split('''-install_name /Library/Frameworks/%s/%s''' % (OSXFrameworkCurrentVersion, ilibName)))
++                pythonWrapperEnvironment.Append(LINKFLAGS = Split('''-undefined dynamic_lookup'''))
+                 pythonWrapperEnvironment.Append(CPPPATH = pythonIncludePath)
+-              #pythonWrapper = pythonWrapperEnvironment.SharedLibrary('_csnd', pythonWrapperSources)
+-              pyVersToken = '-DPYTHON_24_or_newer'
+-              csoundPythonInterface = pythonWrapperEnvironment.SharedObject(
+-              'interfaces/python_interface.i',
+-              SWIGFLAGS = [swigflags, '-python', '-outdir', '.', pyVersToken])
+-              pythonWrapperEnvironment.Clean('.', 'interfaces/python_interface_wrap.h')
+-              #try: os.symlink('lib_csnd.dylib', 'libcsnd.dylib')
+-              #except: print "link exists..."
+-      else:
+-          pythonWrapperEnvironment.Append(LINKFLAGS = pythonLinkFlags)
+-          pythonWrapperEnvironment.Prepend(LIBPATH = pythonLibraryPath)       
+-          if getPlatform() == 'win32':
+-              pythonWrapperEnvironment.Prepend(LIBS = pythonLibs)
+-          pythonWrapperEnvironment.Append(CPPPATH = pythonIncludePath)
+-          fixCFlagsForSwig(pythonWrapperEnvironment)
+-          pyVersToken = '-DPYTHON_24_or_newer'
+-          csoundPythonInterface = pythonWrapperEnvironment.SharedObject(
+-              'interfaces/python_interface.i',
+-              SWIGFLAGS = [swigflags, '-python', '-outdir', '.', pyVersToken])
+-          pythonWrapperEnvironment.Clean('.', 'interfaces/python_interface_wrap.h')
+-          if getPlatform() == 'win32' and pythonLibs[0] < 'python24' and compilerGNU():
+-              Depends(csoundPythonInterface, pythonImportLibrary)
+-      pythonWrapper = makePythonModule(pythonWrapperEnvironment, 'csnd', [csoundPythonInterface])
+-      pythonModules.append('csnd.py')
+-      Depends(pythonWrapper, csnd)
++                #pythonWrapper = pythonWrapperEnvironment.SharedLibrary('_csnd', pythonWrapperSources)
++                pyVersToken = '-DPYTHON_24_or_newer'
++                csoundPythonInterface = pythonWrapperEnvironment.SharedObject(
++                'interfaces/python_interface.i',
++                SWIGFLAGS = [swigflags, '-python', '-outdir', '.', pyVersToken])
++                pythonWrapperEnvironment.Clean('.', 'interfaces/python_interface_wrap.h')
++                #try: os.symlink('lib_csnd.dylib', 'libcsnd.dylib')
++                #except: print("link exists...")
++        else:
++            pythonWrapperEnvironment.Append(LINKFLAGS = pythonLinkFlags)
++            pythonWrapperEnvironment.Prepend(LIBPATH = pythonLibraryPath)
++            if getPlatform() == 'win32':
++                pythonWrapperEnvironment.Prepend(LIBS = pythonLibs)
++            pythonWrapperEnvironment.Append(CPPPATH = pythonIncludePath)
++            fixCFlagsForSwig(pythonWrapperEnvironment)
++            pyVersToken = '-DPYTHON_24_or_newer'
++            csoundPythonInterface = pythonWrapperEnvironment.SharedObject(
++                'interfaces/python_interface.i',
++                SWIGFLAGS = [swigflags, '-python', '-outdir', '.', pyVersToken])
++            pythonWrapperEnvironment.Clean('.', 'interfaces/python_interface_wrap.h')
++            if getPlatform() == 'win32' and pythonLibs[0] < 'python24' and compilerGNU():
++                Depends(csoundPythonInterface, pythonImportLibrary)
++        pythonWrapper = makePythonModule(pythonWrapperEnvironment, 'csnd', [csoundPythonInterface])
++        pythonModules.append('csnd.py')
++        Depends(pythonWrapper, csnd)
+ 
+ if commonEnvironment['generatePdf'] == '0':
+-    print 'CONFIGURATION DECISION: Not generating Csound API PDF documentation.'
++    print('CONFIGURATION DECISION: Not generating Csound API PDF documentation.')
+ else:
+-    print 'CONFIGURATION DECISION: Generating Csound API PDF documentation.'
++    print('CONFIGURATION DECISION: Generating Csound API PDF documentation.')
+     refmanTex = commonEnvironment.Command('doc/latex/refman.tex', 'Doxyfile', ['doxygen $SOURCE'])
+     Depends(refmanTex, csoundLibrary)
+     csoundPdf = commonEnvironment.Command('refman.pdf', 'doc/latex/refman.tex', ['pdflatex --include-directory=doc/latex --interaction=nonstopmode --job-name=CsoundAPI $SOURCE'])
 @@ -1691,7 +1714,7 @@ makePlugin(pluginEnvironment, 'signalflo
  makePlugin(pluginEnvironment, 'fractalnoise', ['Opcodes/tl/fractalnoise.cpp'])
  
@@ -102,8 +619,27 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
      makePlugin(pluginEnvironment, 'control', ['Opcodes/control.c'])
  #   makePlugin(pluginEnvironment, 'cpumeter', ['Opcodes/cpumeter.c'])
  if getPlatform() == 'linux':
-@@ -1738,8 +1761,10 @@ else:
-     print "CONFIGURATION DECISION: Building OSC plugin."
+@@ -1718,9 +1741,9 @@ makePlugin(pluginEnvironment, 'cellular'
+ #############################################################################
+ # UDP opcodes
+ if commonEnvironment['useUDP'] == '0':
+-    print "CONFIGURATION DECISION: Not building UDP plugins."
++    print("CONFIGURATION DECISION: Not building UDP plugins.")
+ else:
+-    print "CONFIGURATION DECISION: Building UDP plugins."
++    print("CONFIGURATION DECISION: Building UDP plugins.")
+     udpEnvironment = pluginEnvironment.Clone()
+     if getPlatform() != 'haiku':
+        udpEnvironment.Append(LIBS = ['pthread'])
+@@ -1733,13 +1756,15 @@ else:
+ 
+ # OSC opcodes
+ if not (commonEnvironment['useOSC'] == '1' and oscFound):
+-    print "CONFIGURATION DECISION: Not building OSC plugin."
++    print("CONFIGURATION DECISION: Not building OSC plugin.")
+ else:
+-    print "CONFIGURATION DECISION: Building OSC plugin."
++    print("CONFIGURATION DECISION: Building OSC plugin.")
      oscEnvironment = pluginEnvironment.Clone()
      oscEnvironment.Append(LIBS = ['lo'])
 -    if getPlatform() != 'haiku':
@@ -115,7 +651,70 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
      if getPlatform() == 'win32':
          oscEnvironment.Append(LIBS = csoundWindowsLibraries)
          if compilerGNU():
-@@ -1842,8 +1867,15 @@ else:
+@@ -1771,32 +1796,32 @@ if jackFound and commonEnvironment['useJ
+         jpluginEnvironment.Append(LIBS = ['jackdmp'])
+     elif getPlatform() == 'darwin':
+         jpluginEnvironment.Append(LIBS = ['pthread'])
+-      jpluginEnvironment.Append(LINKFLAGS = ['-framework', 'Jackmp'])
++        jpluginEnvironment.Append(LINKFLAGS = ['-framework', 'Jackmp'])
+     makePlugin(jpluginEnvironment, 'jackTransport', 'Opcodes/jackTransport.c')
+     makePlugin(jpluginEnvironment, 'jacko', 'Opcodes/jacko.cpp')
+ if boostFound:
+     makePlugin(pluginEnvironment, 'chua', 'Opcodes/chua/ChuaOscillator.cpp')
+ if gmmFound and commonEnvironment['useDouble'] != '0':
+     makePlugin(pluginEnvironment, 'linear_algebra', 'Opcodes/linear_algebra.cpp')
+-    print 'CONFIGURATION DECISION: Building linear algebra opcodes.'
++    print('CONFIGURATION DECISION: Building linear algebra opcodes.')
+ else:
+-    print 'CONFIGURATION DECISION: Not building linear algebra opcodes.'
++    print('CONFIGURATION DECISION: Not building linear algebra opcodes.')
+ 
+ if commonEnvironment['buildImageOpcodes'] == '1':
+     if getPlatform() == 'win32':
+         if configure.CheckHeader("png.h", language="C") and zlibhfound:
+-            print 'CONFIGURATION DECISION: Building image opcodes'
++            print('CONFIGURATION DECISION: Building image opcodes')
+             imEnv = pluginEnvironment.Clone()
+             imEnv.Append(LIBS= Split(''' fltk_png fltk_z '''))
+             makePlugin(imEnv, 'image', ['Opcodes/imageOpcodes.c'])
+     else:
+         if configure.CheckHeader("png.h", language="C") and zlibhfound:
+-            print 'CONFIGURATION DECISION: Building image opcodes'
++            print('CONFIGURATION DECISION: Building image opcodes')
+             imEnv = pluginEnvironment.Clone()
+             imEnv.Append(LIBS= Split(''' png z '''))
+             makePlugin(imEnv, 'image', ['Opcodes/imageOpcodes.c'])
+ else:
+-    print 'CONFIGURATION DECISION: Not building image opcodes'
++    print('CONFIGURATION DECISION: Not building image opcodes')
+ 
+ # FLTK widgets
+ 
+@@ -1810,11 +1835,11 @@ if getPlatform() != 'darwin':
+ if ((commonEnvironment['buildCsoundVST'] == '1') and boostFound and fltkFound):
+  try:
+     if vstEnvironment.ParseConfig(fltkConfigFlags):
+-        print 'Parsed fltk-config.'
++        print('Parsed fltk-config.')
+     else:
+-        print 'Could not parse fltk-config.'
++        print('Could not parse fltk-config.')
+  except:
+-    print 'Exception when attempting to parse fltk-config.'
++    print('Exception when attempting to parse fltk-config.')
+ if getPlatform() == 'darwin':
+     vstEnvironment.Append(LIBS = ['fltk', 'fltk_images']) # png z jpeg are not on OSX at the mo
+ if getPlatform() == 'win32':
+@@ -1834,7 +1859,7 @@ else:
+         vstEnvironment.Append(LIBS = ['dl'])
+         guiProgramEnvironment.Append(LIBS = ['dl'])
+     if getPlatform() != 'haiku':
+-          csoundProgramEnvironment.Append(LIBS = ['pthread', 'm'])
++        csoundProgramEnvironment.Append(LIBS = ['pthread', 'm'])
+     if wiifound :
+       if getPlatform() == 'darwin':
+         WiiEnvironment.Append(LIBS = ['wiiuse'])
+@@ -1842,13 +1867,20 @@ else:
          WiiEnvironment.Append(LIBS = ['wiiuse', 'bluetooth'])
      if p5gfound :
          P5GEnvironment.Append(LIBS = ['p5glove'])
@@ -133,7 +732,13 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
      if getPlatform() == 'darwin':
          csoundProgramEnvironment.Append(LINKFLAGS = Split('''-framework Carbon -framework CoreAudio -framework CoreMIDI'''))
  
-@@ -1872,6 +1904,13 @@ else:
+ if (not (commonEnvironment['useFLTK'] == '1' and fltkFound)):
+-    print 'CONFIGURATION DECISION: Not building with FLTK graphs and widgets.'
++    print('CONFIGURATION DECISION: Not building with FLTK graphs and widgets.')
+ else:
+     widgetsEnvironment = pluginEnvironment.Clone()
+     if (commonEnvironment['buildvst4cs'] == '1'):
+@@ -1872,13 +1904,20 @@ else:
          widgetsEnvironment.Append(LIBS = csoundWindowsLibraries)
      elif getPlatform() == 'darwin':
          widgetsEnvironment.ParseConfig('fltk-config --use-images --cflags --cxxflags --ldflags')
@@ -147,9 +752,37 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
      makePlugin(widgetsEnvironment, 'widgets',
                 ['InOut/FL_graph.cpp', 'InOut/winFLTK.c', 'InOut/widgets.cpp'])
  
-@@ -1909,7 +1948,11 @@ if not (commonEnvironment['useALSA'] == 
+     if commonEnvironment['buildVirtual'] == '0' or not fltk117Found:
+-        print "CONFIGURATION DECISION: Not building Virtual Keyboard plugin. (FLTK 1.1.7+ required)"
++        print("CONFIGURATION DECISION: Not building Virtual Keyboard plugin. (FLTK 1.1.7+ required)")
+     else:
+-        print "CONFIGURATION DECISION: Building Virtual Keyboard plugin."
++        print("CONFIGURATION DECISION: Building Virtual Keyboard plugin.")
+         widgetsEnvironment.Append(CPPPATH = ['./InOut', './InOut/virtual_keyboard'])
+         makePlugin(widgetsEnvironment, 'virtual',
+                    ['InOut/virtual_keyboard/FLTKKeyboard.cpp',
+@@ -1894,7 +1933,7 @@ else:
+ # REAL TIME AUDIO AND MIDI
+ 
+ if commonEnvironment['useCoreAudio'] == '1' and getPlatform() == 'darwin':
+-    print "CONFIGURATION DECISION: Building CoreAudio plugin."
++    print("CONFIGURATION DECISION: Building CoreAudio plugin.")
+     coreaudioEnvironment = pluginEnvironment.Clone()
+     coreaudioEnvironment.Append(CCFLAGS = ['-I/System/Library/Frameworks/CoreAudio.framework/Headers'])
+ #    makePlugin(coreaudioEnvironment, 'rtcoreaudio', ['InOut/rtcoreaudio.c'])
+@@ -1902,18 +1941,22 @@ if commonEnvironment['useCoreAudio'] == 
+     coreaudioEnvironment.Append(LINKFLAGS = ['-framework', 'AudioUnit'])
+     makePlugin(coreaudioEnvironment, 'rtauhal', ['InOut/rtauhal.c'])
  else:
-     print "CONFIGURATION DECISION: Building ALSA plugin."
+-    print "CONFIGURATION DECISION: Not building CoreAudio plugin."
++    print("CONFIGURATION DECISION: Not building CoreAudio plugin.")
+ 
+ if not (commonEnvironment['useALSA'] == '1' and alsaFound):
+-    print "CONFIGURATION DECISION: Not building ALSA plugin."
++    print("CONFIGURATION DECISION: Not building ALSA plugin.")
+ else:
+-    print "CONFIGURATION DECISION: Building ALSA plugin."
++    print("CONFIGURATION DECISION: Building ALSA plugin.")
      alsaEnvironment = pluginEnvironment.Clone()
 -    alsaEnvironment.Append(LIBS = ['asound', 'pthread'])
 +    if getPlatform() == 'dragonfly':
@@ -160,7 +793,33 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
      makePlugin(alsaEnvironment, 'rtalsa', ['InOut/rtalsa.c'])
  
  if pulseaudioFound and (getPlatform() == 'linux' or getPlatform() == 'sunos'):
-@@ -1942,6 +1985,9 @@ else:
+-   print "CONFIGURATION DECISION: Building PulseAudio plugin"
++   print("CONFIGURATION DECISION: Building PulseAudio plugin")
+    pulseaudioEnv = pluginEnvironment.Clone()
+    pulseaudioEnv.Append(LIBS = ['pulse-simple'])
+    makePlugin(pulseaudioEnv, 'rtpulse', ['InOut/rtpulse.c'])
+@@ -1924,9 +1967,9 @@ if getPlatform() == 'win32':
+     makePlugin(winmmEnvironment, 'rtwinmm', ['InOut/rtwinmm.c'])
+ 
+ if not (commonEnvironment['usePortAudio'] == '1' and portaudioFound):
+-    print "CONFIGURATION DECISION: Not building PortAudio module."
++    print("CONFIGURATION DECISION: Not building PortAudio module.")
+ else:
+-    print "CONFIGURATION DECISION: Building PortAudio module."
++    print("CONFIGURATION DECISION: Building PortAudio module.")
+     portaudioEnvironment = pluginEnvironment.Clone()
+     if getPlatform() == 'win32':
+        portaudioEnvironment.Append(LIBS = ['portaudio'])
+@@ -1934,7 +1977,7 @@ else:
+        portaudioEnvironment.Append(LIBS = ['portaudio'])
+     if (getPlatform() == 'linux'):
+         if (commonEnvironment['useJack']=='1' and jackFound):
+-            print "Adding Jack library for PortAudio"
++            print("Adding Jack library for PortAudio")
+             portaudioEnvironment.Append(LIBS = ['jack'])
+         portaudioEnvironment.Append(LIBS = ['asound', 'pthread'])
+         makePlugin(portaudioEnvironment, 'rtpa', ['InOut/rtpa.c'])
+@@ -1942,18 +1985,24 @@ else:
          portaudioEnvironment.Append(LIBS = ['winmm', 'dsound'])
          portaudioEnvironment.Append(LIBS = csoundWindowsLibraries)
          makePlugin(portaudioEnvironment, 'rtpa', ['InOut/rtpa.cpp'])
@@ -170,7 +829,14 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
      else:
          makePlugin(portaudioEnvironment, 'rtpa', ['InOut/rtpa.c'])
  
-@@ -1954,6 +2000,9 @@ else:
+ if not (commonEnvironment['useJack'] == '1' and jackFound):
+-    print "CONFIGURATION DECISION: Not building JACK plugin."
++    print("CONFIGURATION DECISION: Not building JACK plugin.")
+ else:
+-    print "CONFIGURATION DECISION: Building JACK plugin."
++    print("CONFIGURATION DECISION: Building JACK plugin.")
+     jackEnvironment = pluginEnvironment.Clone()
+     if getPlatform() == 'linux':
          jackEnvironment.Append(LIBS = ['jack', 'asound', 'pthread'])
      elif getPlatform() == 'win32':
          jackEnvironment.Append(LIBS = ['jackdmp'])
@@ -180,19 +846,129 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
      else:
          jackEnvironment.Append(LIBS = ['pthread', 'jack'])
      makePlugin(jackEnvironment, 'rtjack', ['InOut/rtjack.c'])
-@@ -2016,6 +2065,12 @@ else:
-               fluidEnvironment.Append(LIBS = ['pthread'])
-       elif getPlatform() == 'haiku':
-               fluidEnvironment.Append(LIBS = ['fluidsynth'])
+@@ -1966,7 +2015,7 @@ if getPlatform() == 'haiku':
+ 
+ 
+ if commonEnvironment['usePortMIDI'] == '1' and portmidiFound:
+-    print 'CONFIGURATION DECISION: Building with PortMIDI.'
++    print('CONFIGURATION DECISION: Building with PortMIDI.')
+     portMidiEnvironment = pluginEnvironment.Clone()
+     portMidiEnvironment.Append(LIBS = ['portmidi'])
+     if getPlatform() != 'darwin' and getPlatform() != 'win32':
+@@ -1978,16 +2027,16 @@ if commonEnvironment['usePortMIDI'] == '
+         portMidiEnvironment.Append(LIBS = ['asound'])
+     makePlugin(portMidiEnvironment, 'pmidi', ['InOut/pmidi.c'])
+ else:
+-    print 'CONFIGURATION DECISION: Not building with PortMIDI.'
++    print('CONFIGURATION DECISION: Not building with PortMIDI.')
+ 
+ if commonEnvironment['useIpMIDI'] == '1' and (getPlatform() == 'linux' or getPlatform() == 'win32' or getPlatform() == 'haiku'):
+-    print 'CONFIGURATION DECISION: Building with ipMIDI.'
++    print('CONFIGURATION DECISION: Building with ipMIDI.')
+     ipMidiEnvironment = pluginEnvironment.Clone()
+     if getPlatform() == 'win32':
+         ipMidiEnvironment.Append(LIBS = ['ws2_32'])
+     makePlugin(ipMidiEnvironment, 'ipmidi', ['InOut/ipmidi.c'])
+ else:
+-    print 'CONFIGURATION DECISION: Not building with ipMIDI.'
++    print('CONFIGURATION DECISION: Not building with ipMIDI.')
+ 
+ if getPlatform() == 'darwin':
+     coreMidiEnvironment = pluginEnvironment.Clone()
+@@ -1999,32 +2048,38 @@ if getPlatform() == 'darwin':
+ # FLUIDSYNTH OPCODES
+ 
+ if not configure.CheckHeader("fluidsynth.h", language = "C"):
+-    print "CONFIGURATION DECISION: Not building fluid opcodes."
++    print("CONFIGURATION DECISION: Not building fluid opcodes.")
+ else:
+-      print "CONFIGURATION DECISION: Building fluid opcodes."
+-      fluidEnvironment = pluginEnvironment.Clone()
+-      if getPlatform() == 'win32':
+-              if compilerGNU():
+-                 fluidEnvironment.Append(LIBS = ['fluidsynth'])
+-              else:
+-                 fluidEnvironment.Append(LIBS = ['fluidsynth'])
+-              fluidEnvironment.Append(CPPFLAGS = ['-DFLUIDSYNTH_NOT_A_DLL'])
+-              fluidEnvironment.Append(LIBS = ['winmm', 'dsound'])
+-              fluidEnvironment.Append(LIBS = csoundWindowsLibraries)
+-      elif getPlatform() == 'linux' or getPlatform() == 'darwin':
+-              fluidEnvironment.Append(LIBS = ['fluidsynth'])
+-              fluidEnvironment.Append(LIBS = ['pthread'])
+-      elif getPlatform() == 'haiku':
+-              fluidEnvironment.Append(LIBS = ['fluidsynth'])
+-      makePlugin(fluidEnvironment, 'fluidOpcodes',
++        print("CONFIGURATION DECISION: Building fluid opcodes.")
++        fluidEnvironment = pluginEnvironment.Clone()
++        if getPlatform() == 'win32':
++                if compilerGNU():
++                   fluidEnvironment.Append(LIBS = ['fluidsynth'])
++                else:
++                   fluidEnvironment.Append(LIBS = ['fluidsynth'])
++                fluidEnvironment.Append(CPPFLAGS = ['-DFLUIDSYNTH_NOT_A_DLL'])
++                fluidEnvironment.Append(LIBS = ['winmm', 'dsound'])
++                fluidEnvironment.Append(LIBS = csoundWindowsLibraries)
++        elif getPlatform() == 'linux' or getPlatform() == 'darwin':
++                fluidEnvironment.Append(LIBS = ['fluidsynth'])
++                fluidEnvironment.Append(LIBS = ['pthread'])
++        elif getPlatform() == 'haiku':
++                fluidEnvironment.Append(LIBS = ['fluidsynth'])
 +        elif getPlatform() == 'netbsd':
-+              fluidEnvironment.Append(LIBS = ['fluidsynth'])
-+              fluidEnvironment.Append(LIBS = ['pthread'])
++                fluidEnvironment.Append(LIBS = ['fluidsynth'])
++                fluidEnvironment.Append(LIBS = ['pthread'])
 +        elif getPlatform() == 'dragonfly':
-+              fluidEnvironment.Append(LIBS = ['fluidsynth'])
++                fluidEnvironment.Append(LIBS = ['fluidsynth'])
 +                fluidEnvironment.Append(LINKFLAGS = ['-pthread'])
-       makePlugin(fluidEnvironment, 'fluidOpcodes',
++        makePlugin(fluidEnvironment, 'fluidOpcodes',
                           ['Opcodes/fluidOpcodes/fluidOpcodes.cpp'])
  
+ # VST HOST OPCODES
+ 
+ if (commonEnvironment['buildvst4cs'] != '1'):
+-    print "CONFIGURATION DECISION: Not building vst4cs opcodes."
++    print("CONFIGURATION DECISION: Not building vst4cs opcodes.")
+ else:
+-    print "CONFIGURATION DECISION: Building vst4cs opcodes."
++    print("CONFIGURATION DECISION: Building vst4cs opcodes.")
+     if (getPlatform() == 'win32'or getPlatform() == 'linux') and fltkFound:
+         vst4Environment = vstEnvironment.Clone()
+         vst4Environment.Append(CPPFLAGS = ['-DCS_VSTHOST'])
+@@ -2058,19 +2113,19 @@ else:
+ # DSSI HOST OPCODES
+ 
+ if (commonEnvironment['buildDSSI'] == '1' and (getPlatform() == 'linux' or getPlatform() == 'darwin') and configure.CheckHeader("ladspa.h", language = "C")) and configure.CheckHeader("dssi.h", 
language = "C"):
+-    print "CONFIGURATION DECISION: Building DSSI plugin host opcodes."
++    print("CONFIGURATION DECISION: Building DSSI plugin host opcodes.")
+     dssiEnvironment = pluginEnvironment.Clone()
+     dssiEnvironment.Append(LIBS = ['dl'])
+     makePlugin(dssiEnvironment, 'dssi4cs',
+                ['Opcodes/dssi4cs/src/load.c', 'Opcodes/dssi4cs/src/dssi4cs.c'])
+ else:
+-    print "CONFIGURATION DECISION: Not building DSSI plugin host opcodes."
++    print("CONFIGURATION DECISION: Not building DSSI plugin host opcodes.")
+ 
+ # Loris opcodes
+ #if not (commonEnvironment['buildLoris'] == '1' and configure.CheckHeader("Opcodes/Loris/src/loris.h") and configure.CheckHeader("fftw3.h")):
+-#    print "CONFIGURATION DECISION: Not building Loris Python extension and Csound opcodes."
++#    print("CONFIGURATION DECISION: Not building Loris Python extension and Csound opcodes.")
+ #else:
+-#    print "CONFIGURATION DECISION: Building Loris Python extension and Csound opcodes."
++#    print("CONFIGURATION DECISION: Building Loris Python extension and Csound opcodes.")
+     # For Loris, we build only the loris Python extension module and
+     # the Csound opcodes (modified for Csound 5).
+     # It is assumed that you have copied all contents of the Loris
+@@ -2127,9 +2182,9 @@ else:
+ # STK opcodes
+ 
+ if not (commonEnvironment['buildStkOpcodes'] == '1' and stkFound):
+-    print 'CONFIGURATION DECISION: Not building STK opcodes.'
++    print('CONFIGURATION DECISION: Not building STK opcodes.')
+ else:
+-    print 'CONFIGURATION DECISION: Building STK opcodes.'
++    print('CONFIGURATION DECISION: Building STK opcodes.')
+     # For the STK opcodes, the STK distribution include, src, and rawwaves
+     # directories should be copied thusly:
+     #   csound5/Opcodes/stk/include
 @@ -2178,8 +2233,10 @@ else:
          stkEnvironment.Append(LIBS = ['stdc++'])
      if getPlatform() == 'win32':
@@ -205,6 +981,18 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
      # This is the one that actually defines the opcodes.
      # They are straight wrappers, as simple as possible.
      stk = makePlugin(stkEnvironment, 'stk', ['Opcodes/stk/stkOpcodes.cpp'])
+@@ -2188,9 +2245,9 @@ else:
+ # Python opcodes
+ 
+ if not (pythonFound and commonEnvironment['buildPythonOpcodes'] != '0'):
+-    print "CONFIGURATION DECISION: Not building Python opcodes."
++    print("CONFIGURATION DECISION: Not building Python opcodes.")
+ else:
+-    print "CONFIGURATION DECISION: Building Python opcodes."
++    print("CONFIGURATION DECISION: Building Python opcodes.")
+     pyEnvironment = pluginEnvironment.Clone()
+     if getPlatform() != 'darwin':
+        pyEnvironment.Append(CPPPATH = pythonIncludePath)
 @@ -2206,6 +2263,8 @@ else:
          pyEnvironment.Append(LIBS = ['dl', 'm'])
      elif getPlatform() == 'win32':
@@ -214,10 +1002,77 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
      pythonOpcodes = makePlugin(pyEnvironment, 'py',
                                 ['Opcodes/py/pythonopcodes.c'])
      if getPlatform() == 'win32' and pythonLibs[0] < 'python24':
-@@ -2606,6 +2665,13 @@ else:
+@@ -2214,9 +2273,9 @@ else:
+ # Python opcodes
+ 
+ if not (commonEnvironment['buildLuaOpcodes'] != '0'):
+-    print "CONFIGURATION DECISION: Not building Lua opcodes."
++    print("CONFIGURATION DECISION: Not building Lua opcodes.")
+ else:
+-    print "CONFIGURATION DECISION: Building Lua opcodes."
++    print("CONFIGURATION DECISION: Building Lua opcodes.")
+     luaEnvironment = pluginEnvironment.Clone()
+     
+     if getPlatform() == 'linux':
+@@ -2331,9 +2390,9 @@ def fluidTarget(env, dirName, baseName, 
+ # Build Csound5gui (FLTK frontend)
+ 
+ if not (commonEnvironment['buildCsound5GUI'] != '0' and fltk117Found):
+-    print 'CONFIGURATION DECISION: Not building FLTK CSOUND5GUI frontend.'
++    print('CONFIGURATION DECISION: Not building FLTK CSOUND5GUI frontend.')
+ else:
+-    print 'CONFIGURATION DECISION: Building FLTK GUI CSOUND5GUI frontend.'
++    print('CONFIGURATION DECISION: Building FLTK GUI CSOUND5GUI frontend.')
+     csound5GUIEnvironment = csoundProgramEnvironment.Clone()
+     csound5GUIEnvironment.Append(CPPPATH = ['./interfaces'])
+     if jackFound:
+@@ -2409,9 +2468,9 @@ else:
+ # Build CsoundAC
+ 
+ if not ((commonEnvironment['buildCsoundAC'] == '1') and fltkFound and boostFound and fltkFound and eigenFound):
+-    print 'CONFIGURATION DECISION: Not building CsoundAC extension module for Csound with algorithmic composition.'
++    print('CONFIGURATION DECISION: Not building CsoundAC extension module for Csound with algorithmic composition.')
+ else:
+-    print 'CONFIGURATION DECISION: Building CsoundAC extension module for Csound with algorithmic composition.'
++    print('CONFIGURATION DECISION: Building CsoundAC extension module for Csound with algorithmic composition.')
+     acEnvironment = vstEnvironment.Clone()
+     if getPlatform() == 'linux':
+         acEnvironment.ParseConfig('fltk-config --use-images --cflags --cxxflags --ldflags')
+@@ -2476,7 +2535,7 @@ else:
+     for option in acEnvironment['CPPPATH']:
+         option = '-I' + option
+         acEnvironment.Append(SWIGFLAGS = [option])
+-    print 'PATH =', commonEnvironment['ENV']['PATH']
++    print('PATH =', commonEnvironment['ENV']['PATH'])
+     csoundAcSources = Split('''
+     frontends/CsoundAC/allegro.cpp
+     frontends/CsoundAC/allegrord.cpp
+@@ -2547,7 +2606,7 @@ else:
+     csoundAcPythonModule = makePythonModule(pythonCsoundACWrapperEnvironment, 'CsoundAC',
+                                             csoundAcPythonWrapper)
+     if getPlatform() == 'win32' and pythonLibs[0] < 'python24' and compilerGNU():
+-      Depends(csoundAcPythonModule, pythonImportLibrary)
++        Depends(csoundAcPythonModule, pythonImportLibrary)
+     pythonModules.append('CsoundAC.py')
+     Depends(csoundAcPythonModule, pythonWrapper)
+     Depends(csoundAcPythonModule, csoundac)
+@@ -2572,9 +2631,9 @@ else:
+ # Build CsoundVST
+ 
+ if not ((commonEnvironment['buildCsoundVST'] == '1') and boostFound and fltkFound):
+-    print 'CONFIGURATION DECISION: Not building CsoundVST plugin and standalone.'
++    print('CONFIGURATION DECISION: Not building CsoundVST plugin and standalone.')
+ else:
+-    print 'CONFIGURATION DECISION: Building CsoundVST plugin and standalone.'
++    print('CONFIGURATION DECISION: Building CsoundVST plugin and standalone.')
+     headers += glob.glob('frontends/CsoundVST/*.h')
+     headers += glob.glob('frontends/CsoundVST/*.hpp')
+     vstEnvironment.Prepend(CPPPATH = ['interfaces', 'frontends/CsoundVST'])
+@@ -2606,7 +2665,14 @@ else:
              vstEnvironment.Append(LIBS = Split('fltk fltk_images fltk_png fltk_jpeg fltk_z'))
          else:
              vstEnvironment.Append(LIBS = Split('csound64 csnd fltk fltkimages fltkpng fltkjpeg fltkz'))
+-    print 'PATH =', commonEnvironment['ENV']['PATH']
 +    elif getPlatform() == 'netbsd' or getPlatform() == 'dragonfly':
 +        vstEnvironment.Append(LIBS = ['m'])
 +        vstEnvironment.Append(SHLINKFLAGS = '--no-export-all-symbols')
@@ -225,9 +1080,22 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
 +        guiProgramEnvironment.Prepend(LINKFLAGS = ['-Wl,-rpath-link,.'])
 +        os.spawnvp(os.P_WAIT, 'rm', ['rm', '-f', '_CsoundVST.so'])
 +        os.symlink('lib_CsoundVST.so', '_CsoundVST.so')
-     print 'PATH =', commonEnvironment['ENV']['PATH']
++    print('PATH =', commonEnvironment['ENV']['PATH'])
      csoundVstSources = Split('''
      frontends/CsoundVST/vstsdk2.4/public.sdk/source/vst2.x/audioeffect.cpp
+     frontends/CsoundVST/vstsdk2.4/public.sdk/source/vst2.x/audioeffectx.cpp
+@@ -2639,9 +2705,9 @@ else:
+ 
+ # Build csoundapi~ (pd class)
+ 
+-print commonEnvironment['buildPDClass'], pdhfound
++print(commonEnvironment['buildPDClass'], pdhfound)
+ if commonEnvironment['buildPDClass'] == '1' and pdhfound:
+-    print "CONFIGURATION DECISION: Building PD csoundapi~ class"
++    print("CONFIGURATION DECISION: Building PD csoundapi~ class")
+     pdClassEnvironment = commonEnvironment.Clone()
+     pdClassEnvironment.Append(LINKFLAGS = libCsoundLinkFlags)
+     pdClassEnvironment.Append(LIBS = libCsoundLibs)
 @@ -2653,7 +2719,7 @@ if commonEnvironment['buildPDClass'] == 
          pdClass = pdClassEnvironment.Program(
              'csoundapi~.pd_darwin',
@@ -237,6 +1105,15 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
          pdClass = pdClassEnvironment.SharedLibrary(
              'csoundapi~.pd_linux',
              'frontends/csoundapi_tilde/csoundapi_tilde.c',
+@@ -2670,7 +2736,7 @@ if commonEnvironment['buildPDClass'] == 
+ # Build tclcsound
+ 
+ if commonEnvironment['buildTclcsound'] == '1' and tclhfound:
+-    print "CONFIGURATION DECISION: Building Tclcsound frontend"
++    print("CONFIGURATION DECISION: Building Tclcsound frontend")
+     csTclEnvironment = commonEnvironment.Clone()
+     csTclEnvironment.Append(LINKFLAGS = libCsoundLinkFlags)
+     csTclEnvironment.Append(LIBS = libCsoundLibs)
 @@ -2694,6 +2760,15 @@ if commonEnvironment['buildTclcsound'] =
          lib2 = 'tk%s' % commonEnvironment['tclversion']
          csTclEnvironment.Append(LIBS = [lib1, lib2])
@@ -253,7 +1130,73 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
      csTclCmdObj = csTclEnvironment.SharedObject(
          'frontends/tclcsound/commands.c')
      csTcl = csTclEnvironment.Program(
-@@ -2831,8 +2906,7 @@ else:
+@@ -2721,7 +2796,7 @@ if commonEnvironment['buildTclcsound'] =
+     executables.append(csTk)
+     libs.append(Tclcsoundlib)
+     try:
+-            os.mkdir('tclcsound', 0755)
++            os.mkdir('tclcsound', 0o755)
+     except:
+             pass
+ #    if getPlatform() == 'darwin':
+@@ -2733,12 +2808,12 @@ if commonEnvironment['buildTclcsound'] =
+ #      csTclEnvironment.Command('tclcsound/pkgIndex.tcl', 'tclcsound/tclcsound.dll','tclsh84 pkgbuild.tcl')
+ 
+ else:
+-    print "CONFIGURATION DECISION: Not building Tclcsound"
++    print("CONFIGURATION DECISION: Not building Tclcsound")
+ 
+ # Build Winsound FLTK frontend
+ 
+ if commonEnvironment['buildWinsound'] == '1' and fltkFound:
+-    print "CONFIGURATION DECISION: Building Winsound frontend"
++    print("CONFIGURATION DECISION: Building Winsound frontend")
+     # should these be installed ?
+     # headers += glob.glob('frontends/winsound/*.h')
+     csWinEnvironment = commonEnvironment.Clone()
+@@ -2785,10 +2860,10 @@ if commonEnvironment['buildWinsound'] ==
+     Depends(winsound5, csoundLibrary)
+     executables.append(winsound5)
+ else:
+-    print "CONFIGURATION DECISION: Not building Winsound"
++    print("CONFIGURATION DECISION: Not building Winsound")
+ 
+ #if (getPlatform() == 'darwin' and commonEnvironment['buildOSXGUI'] == '1'):
+-#    print "CONFIGURATION DECISION: building OSX GUI frontend"
++#    print("CONFIGURATION DECISION: building OSX GUI frontend")
+ #    csOSXGUIEnvironment = commonEnvironment.Clone()
+ #    OSXGUI = csOSXGUIEnvironment.Command(
+ #        '''frontends/OSX/build/Csound 5.app/Contents/MacOS/Csound 5''',
+@@ -2796,10 +2871,10 @@ else:
+ #        "cd frontends/OSX; xcodebuild -buildstyle Deployment")
+ #    Depends(OSXGUI, csoundLibrary)
+ #else:
+-#    print "CONFIGURATION DECISION: Not building OSX GUI frontend"
++#    print("CONFIGURATION DECISION: Not building OSX GUI frontend")
+ 
+ # build csLADSPA
+-print "CONFIGURATION DEFAULT:  Building csLadspa."
++print("CONFIGURATION DEFAULT:  Building csLadspa.")
+ csLadspaEnv = commonEnvironment.Clone()
+ csLadspaEnv.Append(LINKFLAGS = libCsoundLinkFlags)
+ csLadspaEnv.Append(LIBS=libCsoundLibs)
+@@ -2818,12 +2893,12 @@ libs.append(csladspa)
+ # Build beats (score generator)
+ 
+ if not (commonEnvironment['buildBeats'] != '0'):
+-    print 'CONFIGURATION DECISION: Not building beats score frontend.'
++    print('CONFIGURATION DECISION: Not building beats score frontend.')
+ else:
+-    print "CONFIGURATION DECISION: Building beats score frontend"
++    print("CONFIGURATION DECISION: Building beats score frontend")
+     csBeatsEnvironment = commonEnvironment.Clone()
+     if getPlatform() != "haiku":
+-          csBeatsEnvironment.Append(LINKFLAGS = ['-lm'])
++        csBeatsEnvironment.Append(LINKFLAGS = ['-lm'])
+     csBeatsEnvironment.Append(YACCFLAGS = ['-d'])
+     #csBeatsEnvironment.Append(LEXFLAGS = ['-Pbeats'])
+     byb = csBeatsEnvironment.CFile(target = 'frontends/beats/beats.tab.c',
+@@ -2831,15 +2906,14 @@ else:
      blb = csBeatsEnvironment.CFile(target = 'frontends/beats/lex.yy.c',
                                 source = 'frontends/beats/beats.l')
      bb = csBeatsEnvironment.Program('csbeats',
@@ -263,6 +1206,27 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
                                      blb])
      executables.append(bb)
  
+ if not (commonEnvironment['buildcatalog'] != '0'):
+-    print 'CONFIGURATION DECISION: Not building catalog builder.'
++    print('CONFIGURATION DECISION: Not building catalog builder.')
+ else:
+-    print "CONFIGURATION DECISION: Building catalog builder"
++    print("CONFIGURATION DECISION: Building catalog builder")
+     catEnvironment = Environment(ENV = os.environ)
+     catEnvironment.Append(LINKFLAGS = ['-ldl'])
+     bb = catEnvironment.Program('mkdb', ['mkdb.c'])
+@@ -2847,9 +2921,9 @@ else:
+ 
+ 
+ if (commonEnvironment['generateTags']=='0') or (getPlatform() != 'darwin' and getPlatform() != 'linux'):
+-    print "CONFIGURATION DECISION: Not calling TAGS"
++    print("CONFIGURATION DECISION: Not calling TAGS")
+ else:
+-    print "CONFIGURATION DECISION: Calling TAGS"
++    print("CONFIGURATION DECISION: Calling TAGS")
+     allSources = string.join(glob.glob('*/*.h*'))
+     allSources = allSources + ' ' + string.join(glob.glob('*/*.c'))
+     allSources = allSources + ' ' + string.join(glob.glob('*/*.cpp'))
 @@ -2887,11 +2961,15 @@ INSTDIR = commonEnvironment['instdir']
  PREFIX = INSTDIR + commonEnvironment['prefix']
  
@@ -290,3 +1254,12 @@ $NetBSD: patch-ac,v 1.9 2014/02/24 16:19
  
  if commonEnvironment['install'] == '1':
      installExecutables = Alias('install-executables',
+@@ -2920,7 +3000,7 @@ if commonEnvironment['install'] == '1':
+     Alias('install', [installExecutables, installOpcodes, installLibs, installHeaders, installPythonModules])
+ 
+ if getPlatform() == 'darwin' and commonEnvironment['useFLTK'] == '1':
+-    print "CONFIGURATION DECISION: Adding resource fork for csound"
++    print("CONFIGURATION DECISION: Adding resource fork for csound")
+     addOSXResourceFork(commonEnvironment, 'csound', '')
+ 
+ ###Code to create pkconfig files

Index: pkgsrc/audio/csound5/patches/patch-install.py
diff -u pkgsrc/audio/csound5/patches/patch-install.py:1.2 pkgsrc/audio/csound5/patches/patch-install.py:1.3
--- pkgsrc/audio/csound5/patches/patch-install.py:1.2   Thu Feb 13 10:10:06 2014
+++ pkgsrc/audio/csound5/patches/patch-install.py       Wed Jan  2 18:29:14 2019
@@ -1,11 +1,9 @@
-$NetBSD: patch-install.py,v 1.2 2014/02/13 10:10:06 mrg Exp $
+$NetBSD: patch-install.py,v 1.3 2019/01/02 18:29:14 tnn Exp $
 
-* adjust installation layout to same as SCons.
-* kill uninstaller and md5sum for it.
-* kill ldconfig
+python 3.x support
 
---- install.py.orig    2013-01-07 04:49:35.000000000 -0800
-+++ install.py 2014-02-12 21:10:18.000000000 -0800
+--- install.py.orig    2013-01-07 12:49:35.000000000 +0000
++++ install.py
 @@ -3,7 +3,6 @@
  import sys
  import os
@@ -14,7 +12,7 @@ $NetBSD: patch-install.py,v 1.2 2014/02/
  import time
  
  # get Python version
-@@ -28,6 +27,7 @@
+@@ -28,13 +27,14 @@ exeFiles1 = ['csound', 'csound5gui', 'Cs
               'scsort', 'extract', 'cs', 'csb64enc', 'makecsd', 'scot']
  
  exeFiles2 = ['brkpt', 'linseg', 'tabdes']
@@ -22,7 +20,52 @@ $NetBSD: patch-install.py,v 1.2 2014/02/
  
  docFiles = ['COPYING', 'ChangeLog', 'INSTALL', 'readme-csound5.txt']
  
-@@ -96,15 +96,15 @@
+ # -----------------------------------------------------------------------------
+ 
+-print 'Csound5 Linux installer by Istvan Varga'
+-print ''
++print('Csound5 Linux installer by Istvan Varga')
++print('')
+ 
+ prefix = '/usr/local'
+ instDir = '/'
+@@ -47,14 +47,14 @@ md5Name = 'csound5-%s.md5sums' % time.st
+ word64Suffix = ''
+ 
+ def printUsage():
+-    print "Usage: ./install.py [options...]"
+-    print "Allowed options are:"
+-    print "    --prefix=DIR    base directory (default: /usr/local)"
+-    print "    --instdir=DIR   installation root directory (default: /)"
+-    print "    --vimdir=DIR    VIM runtime directory (default: none)"
+-    print "    --word64        install libraries to 'lib64' instead of 'lib'"
+-    print "    --help          print this message"
+-    print ""
++    print("Usage: ./install.py [options...]")
++    print("Allowed options are:")
++    print("    --prefix=DIR    base directory (default: /usr/local)")
++    print("    --instdir=DIR   installation root directory (default: /)")
++    print("    --vimdir=DIR    VIM runtime directory (default: none)")
++    print("    --word64        install libraries to 'lib64' instead of 'lib'")
++    print("    --help          print this message")
++    print("")
+ 
+ # parse command line options
+ 
+@@ -73,10 +73,10 @@ if sys.argv.__len__() > 1:
+             word64Suffix = '64'
+         else:
+             printUsage()
+-            print 'Error: unknown option: %s' % sys.argv[i]
++            print('Error: unknown option: %s' % sys.argv[i])
+             raise SystemExit(1)
+ 
+-print prefix
++print(prefix)
+ 
+ # concatenates a list of directory names,
+ # and returns full path without a trailing '/'
+@@ -96,15 +96,15 @@ def concatPath(lst):
      return s
  
  # frontends
@@ -43,7 +86,144 @@ $NetBSD: patch-install.py,v 1.2 2014/02/
  # XMG files
  xmgDir      = concatPath([prefix, '/share/locale'])
  # documentation
-@@ -360,9 +360,9 @@
+@@ -128,7 +128,7 @@ def runCmd(args):
+ 
+ def makeDir(dirName):
+     try:
+-        os.makedirs(concatPath([instDir, dirName]), 0755)
++        os.makedirs(concatPath([instDir, dirName]), 0o755)
+     except:
+         pass
+ 
+@@ -158,9 +158,9 @@ def installFile_(src, dst, perm, stripMo
+         err = runCmd(['strip', stripMode, fullName])
+     if err == 0:
+         addMD5(fullName, fileName)
+-        print '  %s' % fileName
++        print('  %s' % fileName)
+     else:
+-        print ' *** error copying %s' % fileName
++        print(' *** error copying %s' % fileName)
+     return err
+ 
+ def installFile(src, dst):
+@@ -195,9 +195,9 @@ def installLink(src, dst):
+             addMD5(concatPath([instDir, src]), linkName)
+         else:
+             addMD5(concatPath([instDir, linkName]), linkName)
+-        print '  %s' % linkName
++        print('  %s' % linkName)
+     else:
+-        print ' *** error copying %s' % linkName
++        print(' *** error copying %s' % linkName)
+     return err
+ 
+ def findFiles(dir, pat):
+@@ -220,28 +220,28 @@ 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'
++        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 ''
++            print(' *** Csound installation has been aborted')
++            print('')
+             raise SystemExit(1)
+-        print ' --- Removing old Csound installation...'
++        print(' --- Removing old Csound installation...')
+         runCmd([concatPath([instDir, binDir, 'uninstall-csound5'])])
+-        print ''
++        print('')
+     else:
+-        print ' *** Error: an already existing installation of Csound was found'
+-        print ' *** Try removing it first, and then run this script again'
+-        print ''
++        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 ==='
++print(' === Installing executables ===')
+ for i in exeFiles1:
+     if findFiles('.', i).__len__() > 0:
+         err = installXFile('--strip-unneeded', i, binDir)
+@@ -253,7 +253,7 @@ for i in exeFiles2:
+ 
+ # copy libraries
+ 
+-print ' === Installing libraries ==='
++print(' === Installing libraries ===')
+ libList = findFiles('.', 'libcsound\\.a')
+ libList += findFiles('.', 'libcsound64\\.a')
+ libList += findFiles('.', 'libcsound\\.so\\..+')
+@@ -280,7 +280,7 @@ for i in libList:
+ 
+ # copy plugin libraries
+ 
+-print ' === Installing plugins ==='
++print(' === Installing plugins ===')
+ if not useDouble:
+     pluginDir = pluginDir32
+ else:
+@@ -297,13 +297,13 @@ for i in pluginList:
+ 
+ # copy header files
+ 
+-print ' === Installing header files ==='
++print(' === Installing header files ===')
+ err = installFiles(headerFiles, includeDir)
+ installErrors = installErrors or err
+ 
+ # copy language interfaces
+ 
+-print ' === Installing language interfaces ==='
++print(' === Installing language interfaces ===')
+ wrapperList = [['csnd\\.py', '0', pythonDir],
+                ['loris\\.py', '0', pythonDir],
+                ['CsoundVST\\.py', '0', pythonDir],
+@@ -327,7 +327,7 @@ for i in wrapperList:
+ 
+ # copy XMG files
+ 
+-print ' === Installing Localisation files ==='
++print(' === Installing Localisation files ===')
+ xmgList = findFiles('.', '.+\\.xmg')
+ if xmgList.__len__() > 0:
+     err = installFiles(xmgList, xmgDir)
+@@ -341,34 +341,34 @@ else:
+     err = runCmd(['install', '-p', '-m', '0644', src, fileName])
+     if err == 0:
+         addMD5(fileName, fileName)
+-        print '  %s' % fileName
++        print('  %s' % fileName)
+     else:
+-        print ' *** error copying %s' % fileName
++        print(' *** error copying %s' % fileName)
+         installErrors = installErrors or err
+ 
+ # Copy documentation
+ 
+-print ' === Installing documentation ==='
++print(' === Installing documentation ===')
+ err = installFiles(docFiles, docDir)
+ installErrors = installErrors or err
+ 
+ # copy Tcl/Tk files
+ 
+-print ' === Installing Tcl/Tk modules and scripts ==='
++print(' === Installing Tcl/Tk modules and scripts ===')
+ if findFiles('.', 'tclcsound\\.so').__len__() > 0:
+     err = installXFile('--strip-unneeded', 'tclcsound.so', tclDir)
      installErrors = installErrors or err
      err = installFile('frontends/tclcsound/command_summary.txt', tclDir)
      installErrors = installErrors or err
@@ -56,7 +236,37 @@ $NetBSD: patch-install.py,v 1.2 2014/02/
  installErrors = installErrors or err
  
  # copy STK raw wave files
-@@ -420,43 +420,6 @@
+ 
+ if '%s/libstk.so' % pluginDir in fileList:
+-    print ' === Installing STK raw wave files ==='
++    print(' === Installing STK raw wave files ===')
+     rawWaveFiles = []
+     for fName in os.listdir('./Opcodes/stk/rawwaves'):
+         if re.match('^.*\.raw$', fName) != None:
+@@ -397,11 +397,11 @@ try:
+ except:
+     pdDir = ''
+ if pdDir != '':
+-    print ' === Installing csoundapi~ PD object ==='
++    print(' === Installing csoundapi~ PD object ===')
+     err = installXFile('--strip-unneeded', 'csoundapi~.pd_linux', pdDir)
+     if err == 0:
+         try:
+-            os.chmod(concatPath([instDir, pdDir, 'csoundapi~.pd_linux']), 0644)
++            os.chmod(concatPath([instDir, pdDir, 'csoundapi~.pd_linux']), 0o644)
+         except:
+             err = -1
+     installErrors = installErrors or err
+@@ -409,7 +409,7 @@ if pdDir != '':
+ # copy VIM files if enabled
+ 
+ if vimDir != '':
+-    print ' === Installing VIM syntax files ==='
++    print(' === Installing VIM syntax files ===')
+     err = installXFile('', 'installer/misc/vim/cshelp', binDir)
+     installErrors = installErrors or err
+     err = installFile('installer/misc/vim/csound.vim',
+@@ -420,71 +420,31 @@ if vimDir != '':
                            '%s/%s' % (vimDir, 'syntax'))
          installErrors = installErrors or err
  
@@ -99,13 +309,43 @@ $NetBSD: patch-install.py,v 1.2 2014/02/
 -    
  # -----------------------------------------------------------------------------
  
- print ''
-@@ -483,8 +446,5 @@
-         print '  RAWWAVE_PATH=%s' % rawWaveDir
-     print 'Csound can be uninstalled by running %s/uninstall-csound5' % binDir
+-print ''
++print('')
  
+ # check for errors
+ 
+ if installErrors:
+-    print ' *** Errors occured during installation, deleting files...'
++    print(' *** Errors occured during installation, deleting files...')
+     for i in fileList:
+         try:
+             os.remove(concatPath([instDir, i]))
+         except:
+             pass
+ else:
+-    print 'Csound installation has been successfully completed.'
+-    print 'Before running Csound, make sure that the following environment'
+-    print 'variables are set:'
++    print('Csound installation has been successfully completed.')
++    print('Before running Csound, make sure that the following environment')
++    print('variables are set:')
+     if not useDouble:
+-        print '  OPCODEDIR=%s' % pluginDir32
++        print('  OPCODEDIR=%s' % pluginDir32)
+     else:
+-        print '  OPCODEDIR64=%s' % pluginDir64
+-    print '  CSSTRNGS=%s' % xmgDir
++        print('  OPCODEDIR64=%s' % pluginDir64)
++    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 ''
++        print('  RAWWAVE_PATH=%s' % rawWaveDir)
++    print('Csound can be uninstalled by running %s/uninstall-csound5' % binDir)
+ 
+-print ''
++print('')
  



Home | Main Index | Thread Index | Old Index