summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-sound/csound/ChangeLog9
-rw-r--r--media-sound/csound/Manifest21
-rw-r--r--media-sound/csound/csound-5.16.6-r2.ebuild210
-rw-r--r--media-sound/csound/files/csound-5.16.6-scons.patch120
-rw-r--r--media-sound/csound/metadata.xml1
5 files changed, 327 insertions, 34 deletions
diff --git a/media-sound/csound/ChangeLog b/media-sound/csound/ChangeLog
index beecf7420338..628129c78de5 100644
--- a/media-sound/csound/ChangeLog
+++ b/media-sound/csound/ChangeLog
@@ -1,6 +1,13 @@
# 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.7 2012/02/28 21:28:40 radhermit Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-sound/csound/ChangeLog,v 1.8 2012/02/29 00:54:13 radhermit Exp $
+
+*csound-5.16.6-r2 (29 Feb 2012)
+
+ 29 Feb 2012; Tim Harder <radhermit@gentoo.org> +csound-5.16.6-r2.ebuild,
+ files/csound-5.16.6-scons.patch, metadata.xml:
+ Revbump to add luajit use flag to control using dev-lang/luajit instead of
+ dev-lang/lua.
28 Feb 2012; Tim Harder <radhermit@gentoo.org> csound-5.16.6-r1.ebuild:
Remove duplicate LDFLAGS setting.
diff --git a/media-sound/csound/Manifest b/media-sound/csound/Manifest
index 20698c4eea3f..79a49be5cfee 100644
--- a/media-sound/csound/Manifest
+++ b/media-sound/csound/Manifest
@@ -2,7 +2,7 @@
Hash: SHA512
AUX csound-5.16.6-install.patch 7688 RMD160 1f7da4193df6e187ff0d7bc5cf7ab55d161b0fd3 SHA1 6a510c171c9133172fd543044ca66fbe395dc51a SHA256 95cb4f08c57aa6a6135f7c4038242678fff39af58d892cc38ba031dab120039e
-AUX csound-5.16.6-scons.patch 9016 RMD160 dbede9a7655a107b21f324995b00022bc2784502 SHA1 8afdada5b9b3288462a4402447c1ae162b7933c1 SHA256 be471bbec03a71df8ec57c508ae1a111f77999e3531b46a37945ba85aa60271b
+AUX csound-5.16.6-scons.patch 13242 RMD160 eea3573ec06bd5e95565e18a84ac12f365e633d9 SHA1 a1b3ce1a9636808b9b4195e28647afa2530fc83b SHA256 bc3fd9348c067a1fcd6694d6496f668e7ab1601182987a88194606b25656e3d4
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
@@ -10,16 +10,17 @@ DIST Csound5.16_manual-fr_pdf.zip 5969838 RMD160 8710496e4909ac80df2a2fb48c124d8
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-r1.ebuild 5881 RMD160 3bc3102d8664ccbd24f2dc35f28c34717c6836e3 SHA1 1a19b29dfa0ce1dfa4f90ec9f5f47f69c2243994 SHA256 0e33305863ce22ef81806c91595a06c2422d40268abd0719434d3cf18351873d
-MISC ChangeLog 1336 RMD160 9161db3365178a4e14f542ff9d91cdcbf2357efb SHA1 9c811682f95b4d4591adf42702aa2ff4d0f68634 SHA256 a8b0400bd690c9fb95e71bfb2a821cb806f1a5a663777addf59f7e3f9938b48a
-MISC metadata.xml 1324 RMD160 14da35e00292156fbad91654b4d48d909f5ff80f SHA1 5524d7e4a8ef3e635d3647388505f6509a2165ed SHA256 90d345217445a0a5838e7662ac20da6653527027f93b01d131a0b677c9fc944d
+EBUILD csound-5.16.6-r2.ebuild 5965 RMD160 0669a596401bee4e656a382c769877118350299b SHA1 46d05434e3e7b1f4c802f9f9de877ac038928b17 SHA256 57439f5e16382d31aa08f1567b1c3d84e18dc3f9d42b8272efee200d5e943545
+MISC ChangeLog 1587 RMD160 27671ffc6b43bac590a9b116450d68af378c4609 SHA1 f87fa21588b5b0ee52918eb4fd25438e76ad703c SHA256 4b47df430762f89a39d407478c4692d84eb6f4335f1c2fcc32c1a3d2b70900f6
+MISC metadata.xml 1449 RMD160 74412ea53be508a4dd19af91ca1e152f844a192d SHA1 c046efa60f460469d62a7b35b47802ea99e18ca8 SHA256 ed85b1158109b9f770db05cafa300b94ba109b2023581a861cd6b02b1e698a4e
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)
-iQEcBAEBCgAGBQJPTUcOAAoJEEqz6FtPBkyj3e4H/3vuP+gIHfGEKYOTPVlgoYV3
-Ul45UR6zsrYrlloiSTFAAJ+OybZPXihG9Cz0ZDAXS5zPlQd2Jwan1YdqV1xZSXR0
-GlcGcPLlWoG3AfKLkFvpmjYP/5AnOVcNT+wW+E9DRnRoiQ7OZzHei6JRQOMSAEiD
-0xMYcTmdjtPXfQmbQkzLCWLqMmEWiss57Eg4ntv+t31BxyRm6kAE2dWmFKxiQngz
-UH5w+NJSB6U1neF9skVFc4756fh2/JXdi3BKkQvxzXRDpiKuIhI7dm0LY2uxZtK/
-pDNCBJyFUrGZk+gRV2QUJj23SP+/e7jD1pIg8/PKQEY8iQrEbuis1Ixub0cbfRw=
-=S9lh
+iQEcBAEBCgAGBQJPTXc+AAoJEEqz6FtPBkyjmzEH/jiJmd9clkUrikQjbq/EhGqZ
+jOxHy/yVzCI7CDXEkNIzRMcyoQmMpJw0FdAwKWfaonQ8XWpbMJQi+TK7D3QES8PH
+fu6Ztrv1QR/ogjIFfq9efgFTXuxuKn0e35yq/6SM4TB1i7hRyT00FnsnziN900DH
+ZOLw6nwlZA3am90IgwT4GsSh3ulNTseWmFuCbuhoimsaL5hNwVMKmHcsZR7Q6wTc
+G/x+D1GdoAGp2Hdzd8+eubxfUn0EAdhkFP23kNxtQzVlt24jlKm6Oev4BmKQQOIn
+qahIP4JODD3ZJ/rh6LGdLS2Qvvwz6n56LF8aAAPcWckeowvkEyl/dJ0UTdiwuzI=
+=8bHR
-----END PGP SIGNATURE-----
diff --git a/media-sound/csound/csound-5.16.6-r2.ebuild b/media-sound/csound/csound-5.16.6-r2.ebuild
new file mode 100644
index 000000000000..32d38bfb3450
--- /dev/null
+++ b/media-sound/csound/csound-5.16.6-r2.ebuild
@@ -0,0 +1,210 @@
+# 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-r2.ebuild,v 1.1 2012/02/29 00:54:13 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"
+IUSE="+alsa beats chua csoundac +cxx debug double-precision dssi examples fltk +fluidsynth
+html +image jack java keyboard linear lua luajit nls osc openmp doc portaudio portmidi pulseaudio
+python samples static-libs stk tcl test +threads +utils vim-syntax vst"
+
+LANGS=" de en_GB en_US es_CO fr it ro ru"
+IUSE+="${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? (
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? ( dev-lang/lua )
+ )
+ 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 = []
+ customLINKFLAGS = "${LDFLAGS}".split()
+ customSHLINKFLAGS = []
+ customSWIGFLAGS = []
+ EOF
+}
+
+src_compile() {
+ local myconf
+ [[ $(get_libdir) == "lib64" ]] && myconf+=" Lib64=1"
+
+ escons \
+ prefix=/usr \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ 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 luajit useLuaJIT) \
+ $(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}
+
+ if use nls ; then
+ insinto /usr/share/locale
+ for lang in ${LANGS} ; do
+ use linguas_${lang} && doins -r po/${lang}
+ done
+ fi
+
+ 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-scons.patch b/media-sound/csound/files/csound-5.16.6-scons.patch
index 7b31db61468d..362fb0e8e4a0 100644
--- a/media-sound/csound/files/csound-5.16.6-scons.patch
+++ b/media-sound/csound/files/csound-5.16.6-scons.patch
@@ -10,7 +10,17 @@
commandOptions.Add('useALSA',
'Set to 1 to use ALSA for real-time audio and MIDI input and output.',
'1')
-@@ -180,6 +183,15 @@
+@@ -101,6 +104,9 @@
+ commandOptions.Add('noFLTKThreads',
+ 'Set to 1 to disable use of a separate thread for FLTK widgets.',
+ '1')
++commandOptions.Add('useLuaJIT',
++ 'Set to 1 to use the Just-In-Time Compiler for Lua',
++ '1')
+ commandOptions.Add('pythonVersion',
+ 'Set to the Python version to be used.',
+ '%d.%d' % (int(sys.hexversion) >> 24, (int(sys.hexversion) >> 16) & 255))
+@@ -180,6 +186,15 @@
commandOptions.Add('dynamicCsoundLibrary',
'Build dynamic Csound library instead of libcsound.a',
'0')
@@ -26,7 +36,7 @@
commandOptions.Add('buildStkOpcodes',
"Build opcodes encapsulating Perry Cook's Synthesis Toolkit in C++ instruments and effects",
'0')
-@@ -352,6 +364,7 @@
+@@ -352,6 +367,7 @@
fileOptions.Add('customCXXFLAGS')
fileOptions.Add('customLIBS')
fileOptions.Add('customLIBPATH')
@@ -34,7 +44,7 @@
fileOptions.Add('customSHLINKFLAGS')
fileOptions.Add('customSWIGFLAGS')
fileOptions.Update(commonEnvironment)
-@@ -366,6 +379,8 @@
+@@ -366,6 +382,8 @@
commonEnvironment.Prepend(LIBS = customLIBS)
customLIBPATH = commonEnvironment['customLIBPATH']
commonEnvironment.Prepend(LIBPATH = customLIBPATH)
@@ -43,7 +53,7 @@
customSHLINKFLAGS = commonEnvironment['customSHLINKFLAGS']
commonEnvironment.Prepend(SHLINKFLAGS = customSHLINKFLAGS)
customSWIGFLAGS = commonEnvironment['customSWIGFLAGS']
-@@ -469,14 +484,6 @@
+@@ -469,14 +487,6 @@
if commonEnvironment['buildRelease'] == '0':
commonEnvironment.Prepend(CPPFLAGS = ['-DBETA'])
@@ -58,18 +68,18 @@
if commonEnvironment['Word64'] == '1':
if compilerSun():
commonEnvironment.Append(CCFLAGS = ['-xcode=pic32'])
-@@ -494,10 +501,7 @@
+@@ -494,10 +504,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/include'])
- commonEnvironment.Append(CPPPATH = ['/usr/X11R6/include'])
commonEnvironment.Append(CCFLAGS = ["-DPIPES"])
commonEnvironment.Append(LINKFLAGS = ['-Wl,-Bdynamic'])
elif getPlatform() == 'sunos':
-@@ -559,18 +563,17 @@
+@@ -559,18 +566,17 @@
if getPlatform() == 'linux':
path1 = '/usr/include/python%s' % commonEnvironment['pythonVersion']
@@ -91,7 +101,7 @@
pythonLibs = ['python%s' % commonEnvironment['pythonVersion']]
elif getPlatform() == 'sunos':
path1 = '/usr/include/python%s' % commonEnvironment['pythonVersion']
-@@ -777,6 +780,7 @@
+@@ -777,6 +783,7 @@
zlibhfound = configure.CheckHeader("zlib.h", language = "C")
midiPluginSdkFound = configure.CheckHeader("funknown.h", language = "C++")
luaFound = configure.CheckHeader("lua.h", language = "C")
@@ -99,16 +109,46 @@
#print 'LUA: %s' % (['no', 'yes'][int(luaFound)])
swigFound = 'swig' in commonEnvironment['TOOLS']
print 'Checking for SWIG... %s' % (['no', 'yes'][int(swigFound)])
-@@ -1452,7 +1456,7 @@
+@@ -1452,24 +1459,30 @@
swigflags = csoundWrapperEnvironment['SWIGFLAGS']
print 'swigflags:', swigflags
luaWrapper = None
- if not (luaFound and commonEnvironment['buildLuaWrapper'] != '0'):
-+ if not (luajitFound and commonEnvironment['buildLuaWrapper'] != '0'):
++ if not (luaFound or 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 +1514,9 @@
+ luaWrapperEnvironment = csoundWrapperEnvironment.Clone()
+ if getPlatform() != 'win32':
+- csoundWrapperEnvironment.Append(CPPPATH=['/usr/include/lua5.1'])
++ if luajitFound and commonEnvironment['useLuaJIT'] == '1':
++ csoundWrapperEnvironment.Append(CPPPATH=['/usr/include/luajit-2.0'])
++ else:
++ csoundWrapperEnvironment.Append(CPPPATH=['/usr/include/lua5.1'])
+ if getPlatform() == 'win32':
+ csoundLuaInterface = luaWrapperEnvironment.SharedObject(
+ 'interfaces/lua_interface.i',
+ SWIGFLAGS = [swigflags, '-lua', '-module', 'luaCsnd', '-lua51', '-outdir', '.'])
+ luaWrapperEnvironment.Prepend(LIBS = ['csnd','luaj51'])
+- 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])
++ else:
++ csoundLuaInterface = luaWrapperEnvironment.SharedObject(
++ 'interfaces/lua_interface.i',
++ SWIGFLAGS = [swigflags, '-lua', '-module', 'luaCsnd', '-outdir', '.'])
++ if luajitFound and commonEnvironment['useLuaJIT'] == '1':
++ luaWrapperEnvironment.Prepend(LIBS = ['csnd','luajit-5.1'])
++ else:
++ luaWrapperEnvironment.Prepend(LIBS = ['csnd','lua'])
++ luaWrapper = makeLuaModule(luaWrapperEnvironment, 'luaCsnd', [csoundLuaInterface])
+ Depends(luaWrapper, csoundLuaInterface)
+
+ if not (javaFound and commonEnvironment['buildJavaWrapper'] != '0'):
+@@ -1510,6 +1523,9 @@
javaWrapper = javaWrapperEnvironment.Program(
'lib_jcsound.jnilib', javaWrapperSources)
else:
@@ -118,7 +158,7 @@
javaWrapper = javaWrapperEnvironment.SharedLibrary(
'_jcsound', javaWrapperSources)
#Depends(javaWrapper, csoundLibrary)
-@@ -1759,9 +1766,12 @@
+@@ -1759,9 +1775,12 @@
jpluginEnvironment.Append(LINKFLAGS = ['-framework', 'Jackmp'])
makePlugin(jpluginEnvironment, 'jackTransport', 'Opcodes/jackTransport.c')
makePlugin(jpluginEnvironment, 'jacko', 'Opcodes/jacko.cpp')
@@ -133,7 +173,7 @@
makePlugin(pluginEnvironment, 'linear_algebra', 'Opcodes/linear_algebra.cpp')
print 'CONFIGURATION DECISION: Building linear algebra opcodes.'
else:
-@@ -1893,11 +1903,13 @@
+@@ -1893,11 +1912,13 @@
alsaEnvironment.Append(LIBS = ['asound', 'pthread'])
makePlugin(alsaEnvironment, 'rtalsa', ['InOut/rtalsa.c'])
@@ -148,7 +188,7 @@
if getPlatform() == 'win32':
winmmEnvironment = pluginEnvironment.Clone()
-@@ -1963,9 +1975,7 @@
+@@ -1963,9 +1984,7 @@
# FLUIDSYNTH OPCODES
@@ -159,7 +199,7 @@
print "CONFIGURATION DECISION: Building fluid opcodes."
fluidEnvironment = pluginEnvironment.Clone()
if getPlatform() == 'win32':
-@@ -1981,6 +1991,8 @@
+@@ -1981,6 +2000,8 @@
fluidEnvironment.Append(LIBS = ['pthread'])
makePlugin(fluidEnvironment, 'fluidOpcodes',
['Opcodes/fluidOpcodes/fluidOpcodes.cpp'])
@@ -168,7 +208,7 @@
# VST HOST OPCODES
-@@ -2174,7 +2186,7 @@
+@@ -2174,7 +2195,7 @@
if getPlatform() == 'win32' and pythonLibs[0] < 'python24':
Depends(pythonOpcodes, pythonImportLibrary)
@@ -177,25 +217,59 @@
if not (commonEnvironment['buildLuaOpcodes'] != '0'):
print "CONFIGURATION DECISION: Not building Lua opcodes."
-@@ -2183,10 +2195,10 @@
+@@ -2183,10 +2204,13 @@
luaEnvironment = pluginEnvironment.Clone()
if getPlatform() == 'linux':
- if(luaFound == 1):
-+ if(luajitFound == 1):
++ if(luajitFound == 1 and commonEnvironment['useLuaJIT'] == '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(luaFound == 1):
++ luaEnvironment.Append(LIBS = ['lua'])
++ luaEnvironment.Append(LIBS = ['util', 'dl', 'm'])
elif getPlatform() == 'win32':
if(luaFound == 1):
luaEnvironment.Append(LIBS = ['lua51'])
-@@ -2538,7 +2550,7 @@
+@@ -2538,21 +2562,24 @@
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'))
+- luaCsoundACWrapperEnvironment = acWrapperEnvironment.Clone()
+- if getPlatform() == 'win32':
+- luaCsoundACWrapperEnvironment.Prepend(LIBS = Split('luaCsnd lua51 CsoundAC csnd fltk_images'))
+- else:
+- luaCsoundACWrapperEnvironment.Prepend(LIBS = [luaWrapper])
+- luaCsoundACWrapperEnvironment.Prepend(LIBS = Split('luajit-5.1 CsoundAC csnd fltk_images'))
+- luaCsoundACWrapper = luaCsoundACWrapperEnvironment.SharedObject(
+- 'frontends/CsoundAC/luaCsoundAC.i', SWIGFLAGS = [swigflags, Split('-lua ')])
+- luaCsoundACWrapperEnvironment.Clean('.', 'frontends/CsoundAC/luaCsoundAC_wrap.h')
+- CsoundAclModule = makeLuaModule(luaCsoundACWrapperEnvironment, 'luaCsoundAC', [luaCsoundACWrapper])
+- Depends(CsoundAclModule, luaCsoundACWrapper)
+- Depends(CsoundAclModule, luaWrapper)
+- Depends(CsoundAclModule, csoundac)
+- Depends(CsoundAclModule, csnd)
++ if (luajitFound or luaFound) and commonEnvironment['buildLuaWrapper'] != '0':
++ luaCsoundACWrapperEnvironment = acWrapperEnvironment.Clone()
++ if getPlatform() == 'win32':
++ luaCsoundACWrapperEnvironment.Prepend(LIBS = Split('luaCsnd lua51 CsoundAC csnd fltk_images'))
++ else:
++ luaCsoundACWrapperEnvironment.Prepend(LIBS = [luaWrapper])
++ if commonEnvironment['useLuaJIT'] == '1':
++ luaCsoundACWrapperEnvironment.Prepend(LIBS = Split('luajit-5.1 CsoundAC csnd fltk_images'))
++ else:
++ luaCsoundACWrapperEnvironment.Prepend(LIBS = Split('lua CsoundAC csnd fltk_images'))
++ luaCsoundACWrapper = luaCsoundACWrapperEnvironment.SharedObject(
++ 'frontends/CsoundAC/luaCsoundAC.i', SWIGFLAGS = [swigflags, Split('-lua ')])
++ luaCsoundACWrapperEnvironment.Clean('.', 'frontends/CsoundAC/luaCsoundAC_wrap.h')
++ CsoundAclModule = makeLuaModule(luaCsoundACWrapperEnvironment, 'luaCsoundAC', [luaCsoundACWrapper])
++ Depends(CsoundAclModule, luaCsoundACWrapper)
++ Depends(CsoundAclModule, luaWrapper)
++ Depends(CsoundAclModule, csoundac)
++ Depends(CsoundAclModule, csnd)
+
+
+ # Build CsoundVST
diff --git a/media-sound/csound/metadata.xml b/media-sound/csound/metadata.xml
index 6c4c3f1a7f7e..9df9ed280012 100644
--- a/media-sound/csound/metadata.xml
+++ b/media-sound/csound/metadata.xml
@@ -14,6 +14,7 @@
<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="luajit">Use the lua just-in-time compiler <pkg>dev-lang/luajit</pkg> instead of <pkg>dev-lang/lua</pkg></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>