summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harder <radhermit@gentoo.org>2012-02-27 05:37:48 +0000
committerTim Harder <radhermit@gentoo.org>2012-02-27 05:37:48 +0000
commit6670cb3a252cf4dd62c7589d72fd4e392cf137f1 (patch)
treeacf9343b13efadf06c413937901eaf3e3928b481 /media-sound/csound
parentRestricting pypy (diff)
downloadgentoo-2-6670cb3a252cf4dd62c7589d72fd4e392cf137f1.tar.gz
gentoo-2-6670cb3a252cf4dd62c7589d72fd4e392cf137f1.tar.bz2
gentoo-2-6670cb3a252cf4dd62c7589d72fd4e392cf137f1.zip
Initial import. Ebuild by me.
(Portage version: 2.2.0_alpha87/cvs/Linux x86_64)
Diffstat (limited to 'media-sound/csound')
-rw-r--r--media-sound/csound/ChangeLog11
-rw-r--r--media-sound/csound/Manifest11
-rw-r--r--media-sound/csound/csound-5.16.6.ebuild202
-rw-r--r--media-sound/csound/files/csound-5.16.6-install.patch203
-rw-r--r--media-sound/csound/files/csound-5.16.6-scons.patch184
-rw-r--r--media-sound/csound/files/csound-5.16.6-tests.patch90
-rw-r--r--media-sound/csound/metadata.xml24
7 files changed, 725 insertions, 0 deletions
diff --git a/media-sound/csound/ChangeLog b/media-sound/csound/ChangeLog
new file mode 100644
index 000000000000..fd516f2fb0eb
--- /dev/null
+++ b/media-sound/csound/ChangeLog
@@ -0,0 +1,11 @@
+# ChangeLog for media-sound/csound
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/csound/ChangeLog,v 1.1 2012/02/27 05:37:48 radhermit Exp $
+
+*csound-5.16.6 (27 Feb 2012)
+
+ 27 Feb 2012; Tim Harder <radhermit@gentoo.org> +csound-5.16.6.ebuild,
+ +files/csound-5.16.6-install.patch, +files/csound-5.16.6-scons.patch,
+ +files/csound-5.16.6-tests.patch, +metadata.xml:
+ Initial import. Ebuild by me.
+
diff --git a/media-sound/csound/Manifest b/media-sound/csound/Manifest
new file mode 100644
index 000000000000..3ae7e98f0643
--- /dev/null
+++ b/media-sound/csound/Manifest
@@ -0,0 +1,11 @@
+AUX csound-5.16.6-install.patch 7054 RMD160 7ff541583f2d3d3afdca88e380fe3a5b1f97d137 SHA1 692d48704e66c5db7cc8eb020927d21a706bbcd0 SHA256 8972ccea60614ee85c5eb3f0eba73c1f5441ff6ebcab1805659b3ebe8ee81879
+AUX csound-5.16.6-scons.patch 8289 RMD160 ef1c41d8b418bdf7beb5c6717474781637859f5b SHA1 c43f252566922a7c531f52d5096d9fabe517040b SHA256 dc539056f99103578dcfb59666d883f177c8a8c57a9b34abb924905624768b1a
+AUX csound-5.16.6-tests.patch 2356 RMD160 6b3d93e4e062d009b7776ece4cf9c39a7da7ac0c SHA1 11e2132a702565c7386c4b54b2e42d63820fd568 SHA256 0b242d94b1718671d325b20cbd3faf4bc2437738fd88d49586a73fc84e5e9dca
+DIST Csound5.16.6.tar.gz 8735038 RMD160 49f3f7af3cfca6e129750564822698f4d2433329 SHA1 28bbf5d34ee5bb11dc1d50fb122b5a706d317c33 SHA256 0ba912850152aeddb7eb757a33c185e3d50b4807548db6d7ba6cf85de15e7ffb
+DIST Csound5.16_manual-fr_html.zip 9711044 RMD160 951a5e6872c888b49917e172f1b5a2a034656b5b SHA1 4eeb02ac504cb159aab9201b88ca204d78634909 SHA256 eeaa0bbd050b2dc44f65d64410e4affb456690635c37c67355819ec9709b9ca0
+DIST Csound5.16_manual-fr_pdf.zip 5969838 RMD160 8710496e4909ac80df2a2fb48c124d811f3cffe7 SHA1 68a7dc63bf08b04aee8635d0cf13c44214fe743d SHA256 a30f30554529d891018534dc1de06cb7c7499d80f1b618f9977cf457194e8091
+DIST Csound5.16_manual_html.zip 9451986 RMD160 262888c476044827f872764ba3a5ffab3717d42f SHA1 4dbe80c06a6573066269ce1ee0ac466a03414a65 SHA256 572b1b3825fd5203d00e3db6db7a190a17212b28de425cc0373e705d44aa2c8b
+DIST Csound5.16_manual_pdf.zip 5661273 RMD160 a63c6806366e0b7bb702096d10d956194d2c9378 SHA1 91ee66b4c4aa93757165a391a19e8039ef9a6982 SHA256 66550eb53a77b942ad073be63c12dca66b6960d5995a6a241dde255d2d0be85b
+EBUILD csound-5.16.6.ebuild 5724 RMD160 210efc032ca0fb2a05cf409cd90c34a54726e038 SHA1 2f56111dc739a88706c3f205d7c56903c19614d6 SHA256 3f55e94f4f2d8614387a0f8fa40fa79fcda574540fa7ea9de1316f75d756a877
+MISC ChangeLog 377 RMD160 9251ff5c88e1011c8b261925e454d553920bf1b4 SHA1 9f21699866776574faa05896580758b32400e01b SHA256 085d2e0a5328af15a8db51968fc8063631a7bb25bce7e6f3894846b350791c6a
+MISC metadata.xml 1316 RMD160 0e7e9557f2d89f0cdfdc8607c03b8705d55f85ab SHA1 c38e613165aa62aed53e166c8d06c1ec40a45741 SHA256 7863a87fba3453a2c062eb07babc0626d77d6c27540c6b4bec3f95b73cf3f2eb
diff --git a/media-sound/csound/csound-5.16.6.ebuild b/media-sound/csound/csound-5.16.6.ebuild
new file mode 100644
index 000000000000..93a6082c24be
--- /dev/null
+++ b/media-sound/csound/csound-5.16.6.ebuild
@@ -0,0 +1,202 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/csound/csound-5.16.6.ebuild,v 1.1 2012/02/27 05:37:48 radhermit Exp $
+
+EAPI="4"
+PYTHON_DEPEND="python? 2"
+
+inherit eutils multilib python java-pkg-opt-2 scons-utils toolchain-funcs versionator
+
+MY_PN="${PN/c/C}"
+MY_P="${MY_PN}${PV}"
+DOCS_P="${MY_PN}$(get_version_component_range 1-2)"
+
+DESCRIPTION="A sound design and signal processing system providing facilities for composition and performance"
+HOMEPAGE="http://csounds.com/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz
+ html? (
+ linguas_fr? ( mirror://sourceforge/${PN}/${DOCS_P}_manual-fr_html.zip )
+ !linguas_fr? ( mirror://sourceforge/${PN}/${DOCS_P}_manual_html.zip )
+ )
+ doc? (
+ linguas_fr? ( mirror://sourceforge/${PN}/${DOCS_P}_manual-fr_pdf.zip )
+ !linguas_fr? ( mirror://sourceforge/${PN}/${DOCS_P}_manual_pdf.zip )
+ )"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+LANGS=" de en_GB en_US es_CO fr it ro ru"
+IUSE="+alsa beats chua csoundac +cxx debug double-precision dssi examples fltk +fluidsynth
+html +image jack java keyboard linear lua nls osc openmp doc portaudio portmidi pulseaudio
+python samples static-libs stk tcl test +threads +utils vim-syntax vst ${LANGS// / linguas_}"
+
+RDEPEND=">=media-libs/libsndfile-1.0.16
+ alsa? ( media-libs/alsa-lib )
+ csoundac? ( x11-libs/fltk:1[threads?]
+ dev-libs/boost
+ =dev-lang/python-2* )
+ dssi? ( media-libs/dssi
+ media-libs/ladspa-sdk )
+ fluidsynth? ( media-sound/fluidsynth )
+ fltk? ( x11-libs/fltk:1[threads?] )
+ image? ( media-libs/libpng )
+ jack? ( media-sound/jack-audio-connection-kit )
+ java? ( >=virtual/jdk-1.5 )
+ keyboard? ( x11-libs/fltk:1[threads?] )
+ linear? ( sci-mathematics/gmm )
+ lua? ( dev-lang/luajit:2 )
+ osc? ( media-libs/liblo )
+ portaudio? ( media-libs/portaudio )
+ portmidi? ( media-libs/portmidi )
+ pulseaudio? ( media-sound/pulseaudio )
+ stk? ( media-libs/stk )
+ tcl? ( >=dev-lang/tcl-8.5
+ >=dev-lang/tk-8.5 )
+ utils? ( !media-sound/snd )
+ vst? ( x11-libs/fltk:1[threads?]
+ dev-libs/boost
+ =dev-lang/python-2* )"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ virtual/yacc
+ chua? ( dev-libs/boost )
+ csoundac? ( dev-lang/swig )
+ html? ( app-arch/unzip )
+ doc? ( app-arch/unzip )
+ nls? ( sys-devel/gettext )
+ test? ( =dev-lang/python-2* )
+ vst? ( dev-lang/swig )"
+
+REQUIRED_USE="vst? ( csoundac )
+ java? ( cxx )
+ linear? ( double-precision )
+ lua? ( cxx )
+ python? ( cxx )"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ if use openmp ; then
+ tc-has-openmp || die "Please switch to an openmp compatible compiler"
+ fi
+
+ python_set_active_version 2
+ python_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-scons.patch
+ epatch "${FILESDIR}"/${P}-tests.patch
+ epatch "${FILESDIR}"/${P}-install.patch
+
+ cat > custom.py <<-EOF
+ platform = 'linux'
+ customCPPPATH = []
+ customCCFLAGS = "${CFLAGS}".split()
+ customCXXFLAGS = "${CXXFLAGS}".split()
+ customLIBS = []
+ customLIBPATH = []
+ customSHLINKFLAGS = []
+ customSWIGFLAGS = []
+ EOF
+}
+
+src_compile() {
+ local myconf
+ [[ $(get_libdir) == "lib64" ]] && myconf+=" Lib64=1"
+
+ escons \
+ prefix=/usr \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ LINKFLAGS="${LDFLAGS}" \
+ buildNewParser=1 \
+ pythonVersion=$(python_get_version) \
+ $(use_scons alsa useALSA) \
+ $(use_scons beats buildBeats) \
+ $(use_scons chua buildChuaOpcodes) \
+ $(use_scons csoundac buildCsoundAC) \
+ $(use_scons cxx buildInterfaces) \
+ $(use_scons !debug buildRelease) \
+ $(use_scons !debug noDebug) \
+ $(use_scons debug NewParserDebug) \
+ $(use_scons double-precision useDouble) \
+ $(use_scons dssi buildDSSI) \
+ $(use_scons fluidsynth buildFluidOpcodes) \
+ $(use_scons fltk buildCsound5GUI) \
+ $(use_scons fltk useFLTK) \
+ $(use_scons image buildImageOpcodes) \
+ $(use_scons jack useJack) \
+ $(use_scons java buildJavaWrapper) \
+ $(use_scons keyboard buildVirtual) \
+ $(use_scons linear buildLinearOpcodes) \
+ $(use_scons lua buildLuaOpcodes) \
+ $(use_scons lua buildLuaWrapper) \
+ $(use_scons nls useGettext) \
+ $(use_scons osc useOSC) \
+ $(use_scons openmp useOpenMP) \
+ $(use_scons portaudio usePortAudio) \
+ $(use_scons portmidi usePortMIDI) \
+ $(use_scons pulseaudio usePulseAudio) \
+ $(use_scons python buildPythonOpcodes) \
+ $(use_scons python buildPythonWrapper) \
+ $(use_scons !static-libs dynamicCsoundLibrary) \
+ $(use_scons stk buildStkOpcodes) \
+ $(use_scons tcl buildTclcsound) \
+ $(use_scons !threads noFLTKThreads) \
+ $(use_scons threads buildMultiCore) \
+ $(use_scons utils buildUtilities) \
+ $(use_scons vst buildCsoundVST) \
+ ${myconf}
+}
+
+src_test() {
+ export LD_LIBRARY_PATH="${S}" OPCODEDIR="${S}" OPCODEDIR64="${S}"
+ cd tests
+ ./test.py || die "tests failed"
+}
+
+src_install() {
+ local myconf
+ [[ $(get_libdir) == "lib64" ]] && myconf+=" --word64"
+
+ use vim-syntax && myconf+=" --vimdir=/usr/share/vim/vimfiles"
+
+ ./install.py --instdir="${D}" --prefix=/usr ${myconf} || die "install failed"
+ dodoc AUTHORS ChangeLog readme-csound5-complete.txt
+
+ # Generate env.d file
+ if use double-precision ; then
+ echo OPCODEDIR64=/usr/$(get_libdir)/${PN}/plugins64 > "${T}"/62${PN}
+ else
+ echo OPCODEDIR=/usr/$(get_libdir)/${PN}/plugins > "${T}"/62${PN}
+ fi
+ echo "CSSTRNGS=/usr/share/locale" >> "${T}"/62${PN}
+ use stk && echo "RAWWAVE_PATH=/usr/share/csound/rawwaves" >> "${T}"/62${PN}
+ doenvd "${T}"/62${PN}
+
+ insinto /usr/share/locale
+ for lang in ${LANGS} ; do
+ use linguas_${lang} && doins -r po/${lang}
+ done
+
+ if use examples ; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ if use html ; then
+ dohtml -r "${WORKDIR}"/html/*
+ fi
+
+ if use doc ; then
+ if use linguas_fr ; then
+ dodoc "${WORKDIR}"/${DOCS_P}_manual-fr.pdf
+ else
+ dodoc "${WORKDIR}"/${DOCS_P}_manual.pdf
+ fi
+ fi
+
+ use samples && dodoc -r samples
+}
diff --git a/media-sound/csound/files/csound-5.16.6-install.patch b/media-sound/csound/files/csound-5.16.6-install.patch
new file mode 100644
index 000000000000..09b6e0d99391
--- /dev/null
+++ b/media-sound/csound/files/csound-5.16.6-install.patch
@@ -0,0 +1,203 @@
+--- 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,7 +267,7 @@
+ 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
+@@ -313,6 +288,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 +298,21 @@
+ if i[1] == '0':
+ err = installFile(fName, i[2])
+ else:
+- err = installXFile('--strip-debug', 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
++ err = installXFile('', fName, i[2])
+ 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 +347,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 +369,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 +394,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 ''
+
diff --git a/media-sound/csound/files/csound-5.16.6-scons.patch b/media-sound/csound/files/csound-5.16.6-scons.patch
new file mode 100644
index 000000000000..bbf94b82d150
--- /dev/null
+++ b/media-sound/csound/files/csound-5.16.6-scons.patch
@@ -0,0 +1,184 @@
+--- Csound5.16.6/SConstruct
++++ Csound5.16.6/SConstruct
+@@ -89,6 +89,9 @@
+ commandOptions.Add('usePortMIDI',
+ 'Build PortMidi plugin for real time MIDI input and output.',
+ '1')
++commandOptions.Add('usePulseAudio',
++ 'Set to 1 to use PulseAudio for real-time audio and MIDI input and output.',
++ '1')
+ commandOptions.Add('useALSA',
+ 'Set to 1 to use ALSA for real-time audio and MIDI input and output.',
+ '1')
+@@ -180,6 +183,15 @@
+ commandOptions.Add('dynamicCsoundLibrary',
+ 'Build dynamic Csound library instead of libcsound.a',
+ '0')
++commandOptions.Add('buildChuaOpcodes',
++ 'Set to 1 to build chua opcodes.',
++ '1')
++commandOptions.Add('buildLinearOpcodes',
++ 'Set to 1 to build linear algebra opcodes.',
++ '1')
++commandOptions.Add('buildFluidOpcodes',
++ 'Set to 1 to build Fluidsynth opcodes.',
++ '1')
+ commandOptions.Add('buildStkOpcodes',
+ "Build opcodes encapsulating Perry Cook's Synthesis Toolkit in C++ instruments and effects",
+ '0')
+@@ -469,14 +481,6 @@
+ if commonEnvironment['buildRelease'] == '0':
+ commonEnvironment.Prepend(CPPFLAGS = ['-DBETA'])
+
+-if commonEnvironment['Lib64'] == '1':
+- if getPlatform() == 'sunos':
+- commonEnvironment.Prepend(LIBPATH = ['.', '#.', '/lib/64', '/usr/lib/64'])
+- else:
+- commonEnvironment.Prepend(LIBPATH = ['.', '#.', '/usr/local/lib64'])
+-else:
+- commonEnvironment.Prepend(LIBPATH = ['.', '#.', '/usr/local/lib'])
+-
+ if commonEnvironment['Word64'] == '1':
+ if compilerSun():
+ commonEnvironment.Append(CCFLAGS = ['-xcode=pic32'])
+@@ -494,10 +498,7 @@
+ if getPlatform() == 'linux':
+ commonEnvironment.Append(CCFLAGS = ["-DLINUX"])
+ commonEnvironment.Append(CPPFLAGS = ['-DHAVE_SOCKETS'])
+- commonEnvironment.Append(CPPPATH = ['/usr/local/include'])
+ commonEnvironment.Append(CPPPATH = ['/usr/include'])
+- commonEnvironment.Append(CPPPATH = ['/usr/include'])
+- commonEnvironment.Append(CPPPATH = ['/usr/X11R6/include'])
+ commonEnvironment.Append(CCFLAGS = ["-DPIPES"])
+ commonEnvironment.Append(LINKFLAGS = ['-Wl,-Bdynamic'])
+ elif getPlatform() == 'sunos':
+@@ -559,18 +560,17 @@
+
+ if getPlatform() == 'linux':
+ path1 = '/usr/include/python%s' % commonEnvironment['pythonVersion']
+- path2 = '/usr/local/include/python%s' % commonEnvironment['pythonVersion']
+- pythonIncludePath = [path1, path2]
++ pythonIncludePath = [path1]
+ path1 = '/usr/include/tcl%s' % commonEnvironment['tclversion']
+ path2 = '/usr/include/tk%s' % commonEnvironment['tclversion']
+ tclIncludePath = [path1, path2]
+ pythonLinkFlags = []
+ if commonEnvironment['Lib64'] == '1':
+ tmp = '/usr/lib64/python%s/config' % commonEnvironment['pythonVersion']
+- pythonLibraryPath = ['/usr/local/lib64', '/usr/lib64', tmp]
++ pythonLibraryPath = ['/usr/lib64', tmp]
+ else:
+ tmp = '/usr/lib/python%s/config' % commonEnvironment['pythonVersion']
+- pythonLibraryPath = ['/usr/local/lib', '/usr/lib', tmp]
++ pythonLibraryPath = ['/usr/lib', tmp]
+ pythonLibs = ['python%s' % commonEnvironment['pythonVersion']]
+ elif getPlatform() == 'sunos':
+ path1 = '/usr/include/python%s' % commonEnvironment['pythonVersion']
+@@ -777,6 +777,7 @@
+ zlibhfound = configure.CheckHeader("zlib.h", language = "C")
+ midiPluginSdkFound = configure.CheckHeader("funknown.h", language = "C++")
+ luaFound = configure.CheckHeader("lua.h", language = "C")
++luajitFound = configure.CheckLibWithHeader("luajit-5.1", "luajit-2.0/lua.h", language = "C")
+ #print 'LUA: %s' % (['no', 'yes'][int(luaFound)])
+ swigFound = 'swig' in commonEnvironment['TOOLS']
+ print 'Checking for SWIG... %s' % (['no', 'yes'][int(swigFound)])
+@@ -1452,7 +1453,7 @@
+ swigflags = csoundWrapperEnvironment['SWIGFLAGS']
+ print 'swigflags:', swigflags
+ luaWrapper = None
+- if not (luaFound and commonEnvironment['buildLuaWrapper'] != '0'):
++ if not (luajitFound and commonEnvironment['buildLuaWrapper'] != '0'):
+ print 'CONFIGURATION DECISION: Not building Lua wrapper to Csound C++ interface library.'
+ else:
+ print 'CONFIGURATION DECISION: Building Lua wrapper to Csound C++ interface library.'
+@@ -1510,6 +1511,9 @@
+ javaWrapper = javaWrapperEnvironment.Program(
+ 'lib_jcsound.jnilib', javaWrapperSources)
+ else:
++ soname = 'lib_jcsound.so'
++ soflag = [ '-Wl,-soname=%s' % soname ]
++ javaWrapperEnvironment.Prepend(LINKFLAGS = [soflag])
+ javaWrapper = javaWrapperEnvironment.SharedLibrary(
+ '_jcsound', javaWrapperSources)
+ #Depends(javaWrapper, csoundLibrary)
+@@ -1759,9 +1763,12 @@
+ jpluginEnvironment.Append(LINKFLAGS = ['-framework', 'Jackmp'])
+ makePlugin(jpluginEnvironment, 'jackTransport', 'Opcodes/jackTransport.c')
+ makePlugin(jpluginEnvironment, 'jacko', 'Opcodes/jacko.cpp')
+-if boostFound:
++if commonEnvironment['buildChuaOpcodes'] == '1' and boostFound:
++ print 'CONFIGURATION DECISION: Building chua opcodes.'
+ makePlugin(pluginEnvironment, 'chua', 'Opcodes/chua/ChuaOscillator.cpp')
+-if gmmFound and commonEnvironment['useDouble'] != '0':
++else:
++ print 'CONFIGURATION DECISION: Not building chua opcodes.'
++if commonEnvironment['buildLinearOpcodes'] == '1' and gmmFound and commonEnvironment['useDouble'] != '0':
+ makePlugin(pluginEnvironment, 'linear_algebra', 'Opcodes/linear_algebra.cpp')
+ print 'CONFIGURATION DECISION: Building linear algebra opcodes.'
+ else:
+@@ -1893,11 +1900,13 @@
+ alsaEnvironment.Append(LIBS = ['asound', 'pthread'])
+ makePlugin(alsaEnvironment, 'rtalsa', ['InOut/rtalsa.c'])
+
+-if pulseaudioFound and (getPlatform() == 'linux' or getPlatform() == 'sunos'):
++if commonEnvironment['usePulseAudio'] == '1' and pulseaudioFound and (getPlatform() == 'linux' or getPlatform() == 'sunos'):
+ print "CONFIGURATION DECISION: Building PulseAudio plugin"
+ pulseaudioEnv = pluginEnvironment.Clone()
+ pulseaudioEnv.Append(LIBS = ['pulse-simple'])
+ makePlugin(pulseaudioEnv, 'rtpulse', ['InOut/rtpulse.c'])
++else:
++ print "CONFIGURATION DECISION: Not building PulseAudio plugin."
+
+ if getPlatform() == 'win32':
+ winmmEnvironment = pluginEnvironment.Clone()
+@@ -1963,9 +1972,7 @@
+
+ # FLUIDSYNTH OPCODES
+
+-if not configure.CheckHeader("fluidsynth.h", language = "C"):
+- print "CONFIGURATION DECISION: Not building fluid opcodes."
+-else:
++if commonEnvironment['buildFluidOpcodes'] == '1' and configure.CheckHeader("fluidsynth.h", language = "C"):
+ print "CONFIGURATION DECISION: Building fluid opcodes."
+ fluidEnvironment = pluginEnvironment.Clone()
+ if getPlatform() == 'win32':
+@@ -1981,6 +1988,8 @@
+ fluidEnvironment.Append(LIBS = ['pthread'])
+ makePlugin(fluidEnvironment, 'fluidOpcodes',
+ ['Opcodes/fluidOpcodes/fluidOpcodes.cpp'])
++else:
++ print "CONFIGURATION DECISION: Not building fluid opcodes."
+
+ # VST HOST OPCODES
+
+@@ -2174,7 +2183,7 @@
+ if getPlatform() == 'win32' and pythonLibs[0] < 'python24':
+ Depends(pythonOpcodes, pythonImportLibrary)
+
+-# Python opcodes
++# Lua opcodes
+
+ if not (commonEnvironment['buildLuaOpcodes'] != '0'):
+ print "CONFIGURATION DECISION: Not building Lua opcodes."
+@@ -2183,10 +2192,10 @@
+ luaEnvironment = pluginEnvironment.Clone()
+
+ if getPlatform() == 'linux':
+- if(luaFound == 1):
++ if(luajitFound == 1):
+ luaEnvironment.Append(LIBS = ['luajit-5.1'])
+ luaEnvironment.Append(LIBS = ['util', 'dl', 'm'])
+- luaEnvironment.Append(CPPPATH = '/usr/local/include/luajit-2.0')
++ luaEnvironment.Append(CPPPATH = '/usr/include/luajit-2.0')
+ elif getPlatform() == 'win32':
+ if(luaFound == 1):
+ luaEnvironment.Append(LIBS = ['lua51'])
+@@ -2538,7 +2547,7 @@
+ Depends(csoundAcPythonModule, pythonWrapper)
+ Depends(csoundAcPythonModule, csoundac)
+ Depends(csoundAcPythonModule, csnd)
+- if luaFound and commonEnvironment['buildLuaWrapper'] != '0':
++ if luajitFound and commonEnvironment['buildLuaWrapper'] != '0':
+ luaCsoundACWrapperEnvironment = acWrapperEnvironment.Clone()
+ if getPlatform() == 'win32':
+ luaCsoundACWrapperEnvironment.Prepend(LIBS = Split('luaCsnd lua51 CsoundAC csnd fltk_images'))
diff --git a/media-sound/csound/files/csound-5.16.6-tests.patch b/media-sound/csound/files/csound-5.16.6-tests.patch
new file mode 100644
index 000000000000..dd8b8ed289bc
--- /dev/null
+++ b/media-sound/csound/files/csound-5.16.6-tests.patch
@@ -0,0 +1,90 @@
+--- Csound5.16.6/tests/test.py.orig
++++ Csound5.16.6/tests/test.py
+@@ -6,9 +6,6 @@
+ import os
+ import sys
+
+-from testUI import TestApplication
+-from Tkinter import *
+-
+ parserType = "--new-parser"
+ showUIatClose = False
+ csoundExecutable = ""
+@@ -104,8 +101,6 @@
+ ]
+
+
+- output = ""
+- tempfile = "/tmp/csound_test_output.txt"
+ counter = 1
+
+ retVals = []
+@@ -124,7 +119,7 @@
+ retVal = os.system(command)
+ else:
+ executable = (csoundExecutable == "") and "../csound" or csoundExecutable
+- command = "%s %s %s %s &> %s"%(executable, parserType, runArgs, filename, tempfile)
++ command = "%s %s %s %s"%(executable, parserType, runArgs, filename)
+ retVal = os.system(command)
+
+ print "Test %i: %s (%s)\nReturn Code: %i"%(counter, desc, filename, retVal)
+@@ -136,24 +131,6 @@
+ testFail += 1
+ print "Result: FAIL\n"
+
+- output += "%s\n"%("=" * 80)
+- output += "Test %i: %s (%s)\nReturn Code: %i\n"%(counter, desc, filename, retVal)
+- output += "%s\n\n"%("=" * 80)
+-
+- f = open(tempfile, "r")
+-
+- csOutput = ""
+-
+- for line in f:
+- csOutput += line
+-
+- output += csOutput
+-
+- f.close()
+-
+- retVals.append(t + [retVal, csOutput])
+-
+- output += "\n\n"
+ counter += 1
+
+ # print output
+@@ -162,12 +139,7 @@
+ print "Tests Passed: %i\nTests Failed: %i\n"%(testPass, testFail)
+
+
+- f = open("results.txt", "w")
+- f.write(output)
+- f.flush()
+- f.close()
+-
+- return retVals
++ return testFail
+
+ if __name__ == "__main__":
+ if(len(sys.argv) > 1):
+@@ -176,6 +148,8 @@
+ showHelp()
+ sys.exit(0)
+ elif arg == "--show-ui":
++ from testUI import TestApplication
++ from Tkinter import *
+ showUIatClose = True
+ elif arg == "--old-parser":
+ parserType = "--old-parser"
+@@ -185,6 +159,8 @@
+ elif arg.startswith("--opcodedir64="):
+ os.environ['OPCODEDIR64'] = arg[14:]
+ print os.environ['OPCODEDIR64']
+- results = runTest()
+- if (showUIatClose):
+- showUI(results)
++ failures = runTest()
++ if failures > 0:
++ sys.exit(1)
++ else:
++ sys.exit(0)
diff --git a/media-sound/csound/metadata.xml b/media-sound/csound/metadata.xml
new file mode 100644
index 000000000000..02325a13bd6e
--- /dev/null
+++ b/media-sound/csound/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>proaudio</herd>
+ <use>
+ <flag name="beats">Build the beats score frontend</flag>
+ <flag name="chua">Build the chua opcodes</flag>
+ <flag name="csoundac">Build the CsoundAC extension module</flag>
+ <flag name="double-precision">Use double-precision floating point for audio samples</flag>
+ <flag name="dssi">Build the DSSI opcodes</flag>
+ <flag name="fluidsynth">Build the fluidsynth opcodes</flag>
+ <flag name="html">Install the html version of the manual</flag>
+ <flag name="image">Build the image opcodes</flag>
+ <flag name="keyboard">Build Virtual MIDI keyboard</flag>
+ <flag name="linear">Build the linear algebra Opcodes</flag>
+ <flag name="doc">Install the pdf version of the manual</flag>
+ <flag name="portmidi">Build the PortMIDI I/O module</flag>
+ <flag name="samples">Install the HRTF datafiles for use with hrtfmove, hrtfmove2, hrtfstat, hrtfearly, and hrtfreverb</flag>
+ <flag name="stk">Build the stk opcodes</flag>
+ <flag name="tcl">Build the tcl interface and clients</flag>
+ <flag name="utils">Build stand-alone executables for utilities that can also be used via `csound -U`</flag>
+ <flag name="vst">Build the CsoundVST frontend</flag>
+ </use>
+</pkgmetadata>