summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Barker (KWhat) <alex@1stleg.com>2011-05-05 16:48:04 +0000
committerAlex Barker (KWhat) <alex@1stleg.com>2011-05-05 16:48:04 +0000
commite6defb8a143cd941cabbde3fd2bf02e075b2b477 (patch)
treed4fc0a467b5152ad06d7d848a922b016cb9d8f82 /media-sound
parentmedia-libs/portmidi: New Ebuild for bug 90614 thanks to Gavin Pryke for creat... (diff)
downloadsunrise-e6defb8a143cd941cabbde3fd2bf02e075b2b477.tar.gz
sunrise-e6defb8a143cd941cabbde3fd2bf02e075b2b477.tar.bz2
sunrise-e6defb8a143cd941cabbde3fd2bf02e075b2b477.zip
media-sound/mixxx: New Ebuild for bug 310821
svn path=/sunrise/; revision=12042
Diffstat (limited to 'media-sound')
-rw-r--r--media-sound/mixxx/ChangeLog12
-rw-r--r--media-sound/mixxx/Manifest13
-rw-r--r--media-sound/mixxx/files/mixxx-1.8.2-flags.patch32
-rw-r--r--media-sound/mixxx/files/mixxx-1.8.2-libsoundtouch.patch67
-rw-r--r--media-sound/mixxx/files/mixxx-1.9.0-flags.patch35
-rw-r--r--media-sound/mixxx/files/mixxx-1.9.0-libsoundtouch.patch68
-rw-r--r--media-sound/mixxx/files/mixxx-9999-flags.patch35
-rw-r--r--media-sound/mixxx/files/mixxx-9999-libsoundtouch.patch68
-rw-r--r--media-sound/mixxx/metadata.xml9
-rw-r--r--media-sound/mixxx/mixxx-1.8.2.ebuild81
-rw-r--r--media-sound/mixxx/mixxx-1.9.0.ebuild93
-rw-r--r--media-sound/mixxx/mixxx-9999.ebuild85
12 files changed, 598 insertions, 0 deletions
diff --git a/media-sound/mixxx/ChangeLog b/media-sound/mixxx/ChangeLog
new file mode 100644
index 000000000..75ce91637
--- /dev/null
+++ b/media-sound/mixxx/ChangeLog
@@ -0,0 +1,12 @@
+# ChangeLog for media-sound/mixxx
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+ 05 May 2011; Alex Barker (KWhat) <alex@1stleg.com> +mixxx-1.8.2.ebuild,
+ +files/mixxx-1.8.2-flags.patch, +files/mixxx-1.8.2-libsoundtouch.patch,
+ +mixxx-1.9.0.ebuild, +files/mixxx-1.9.0-flags.patch,
+ +files/mixxx-1.9.0-libsoundtouch.patch, +mixxx-9999.ebuild,
+ +files/mixxx-9999-flags.patch, +files/mixxx-9999-libsoundtouch.patch,
+ +metadata.xml:
+ New Ebuild for bug 310821
+
diff --git a/media-sound/mixxx/Manifest b/media-sound/mixxx/Manifest
new file mode 100644
index 000000000..a8257719d
--- /dev/null
+++ b/media-sound/mixxx/Manifest
@@ -0,0 +1,13 @@
+AUX mixxx-1.8.2-flags.patch 1352 RMD160 430bd02f67b2357feb60dd04ceb874cc205e5f19 SHA1 d8b116376bb45ac4a71d5f676775587026ff1e69 SHA256 7a03d7ca8404d4e5902d01b9ee7cf16391d3fe1c2d3208e9fc306f12cc89f69c
+AUX mixxx-1.8.2-libsoundtouch.patch 2945 RMD160 676553d3f95072c85533fe3004e6428ffc33cc0b SHA1 394bf8aabbe7d5c08fe336f2831093444f7ade3d SHA256 64d87f028089fe929cb70c73dce8b869e52045d73391e4b4413b81a82f7d52f9
+AUX mixxx-1.9.0-flags.patch 1663 RMD160 b55048b592e779ea108c9772349dc2e8bbf4f276 SHA1 94a4eda09ceb1629acfb943c4be8c96a6b8ae754 SHA256 de1350b62dc266c536916f82c03d110578bb2e9bc44507a0b6c4ef28c9e8f88a
+AUX mixxx-1.9.0-libsoundtouch.patch 3342 RMD160 a85ff591389c9fa6b25de55f3cda7e8e0ea6fcbe SHA1 212673d3b024934ca7c8c39591055e66b6d5016f SHA256 234e058145ca14bbbbb0f34fe1c07e5d0ff55999d952547b054744edc5feaa0d
+AUX mixxx-9999-flags.patch 1663 RMD160 b55048b592e779ea108c9772349dc2e8bbf4f276 SHA1 94a4eda09ceb1629acfb943c4be8c96a6b8ae754 SHA256 de1350b62dc266c536916f82c03d110578bb2e9bc44507a0b6c4ef28c9e8f88a
+AUX mixxx-9999-libsoundtouch.patch 3342 RMD160 ecfb3bb0b9f356a5f937a8f9162c8b23fad1da92 SHA1 7ae36d669ff1359fd457be012940c6fb1ce8c2a8 SHA256 fde2401da761e7ea808378dc6df9b49d3858f8c964ebe9a373719559b51ecb71
+DIST mixxx-1.8.2-src.tar.gz 9706426 RMD160 02b8b9a4bb0fc1cd9dac695bafab7da546e286d4 SHA1 58de4597437d6d3dd5f7917ea9751ee43c29c5c3 SHA256 bda6c7aebf89f2d1cafacee2b7dec725fe5a3d66bb265755abefd90b6ec29c93
+DIST mixxx-1.9.0-src.tar.gz 8739299 RMD160 92df03109399d984e7cf26624caf8381be407a1c SHA1 267d08884c2fce5c3c0889aaf85f70ad66105876 SHA256 95a5a9cf74bbc24b55518e81c6563afbd88c4ea2e05b35a6ec7cac69d694bf25
+EBUILD mixxx-1.8.2.ebuild 1685 RMD160 568412cd058a3184775a3c0788fb814f741314b3 SHA1 5efde09bca807ce717707001a42b44230b4ddb97 SHA256 28f8692de986239b7f96a1d9cc8841b64d7e187b252e934896295d8cac667885
+EBUILD mixxx-1.9.0.ebuild 1889 RMD160 1378ef7f275c8e1883361e12c07f413af233d97d SHA1 a9611e2b28e2ecc504ee32c22821d4f45bfc6c54 SHA256 7fb163016a8a9a2cec6cc2945a28eed09fe5101b2512bcdc1d75e7e8dd7f6d27
+EBUILD mixxx-9999.ebuild 1740 RMD160 2d080ca560d9c4eb0bea4c4c3ae642abefd02c8d SHA1 1e067459f27778d54e77084b1a05fa5e59d77ae0 SHA256 61e92e12d52ffe4e154a6165e4a0e5492972f6db3f889ace66fcc99c35f1267d
+MISC ChangeLog 501 RMD160 31dae5ebabff485412727dcbfafdde252e7cb674 SHA1 27a61fd1c08cffd7ab9fde5ee6fc127e58042032 SHA256 32066397398a53c2cd8b4f87994d6933781a84c68c48d10b35a0bc890cc0483f
+MISC metadata.xml 307 RMD160 dbbd8734ac2789c67cb05203190805cbd43aab33 SHA1 c628ed575bfb118ee5c692f4f6af7d61ec567fec SHA256 11bbe43ec892a45388dc3d494fc9e3c77575edc5d76924307d99c09257d0f46c
diff --git a/media-sound/mixxx/files/mixxx-1.8.2-flags.patch b/media-sound/mixxx/files/mixxx-1.8.2-flags.patch
new file mode 100644
index 000000000..b38b87e36
--- /dev/null
+++ b/media-sound/mixxx/files/mixxx-1.8.2-flags.patch
@@ -0,0 +1,32 @@
+--- src/SConscript.env.orig 2010-11-01 15:13:25.000000000 -0700
++++ src/SConscript.env 2010-11-11 12:02:58.000000000 -0800
+@@ -281,7 +281,7 @@
+ if os.environ.has_key('CC'):
+ env['CC'] = os.environ['CC']
+ if os.environ.has_key('CFLAGS'):
+- env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
++ env['CFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
+ if os.environ.has_key('CXX'):
+ env['CXX'] = os.environ['CXX']
+ if os.environ.has_key('CXXFLAGS'):
+@@ -835,8 +835,8 @@
+ env.Append(CPPPATH=["$VCINSTALLDIR/include/atl", "C:/Program Files/Microsoft Platform SDK/Include/atl"])
+ env.Append(CPPDEFINES = 'WIN'+bitwidth) #for soundtouch
+ else:
+- env.Append(CCFLAGS = Split(""" -pipe -Wall -W -g """)) # omghax
+- env.Append(LINKFLAGS = Split(""" -pipe -Wall -W -g"""))
++ env.Append(CCFLAGS = Split(""" -Wall -Wextra """)) # omghax
++ env.Append(LINKFLAGS = Split(""" -Wall -Wextra """))
+ if platformString != 'osx':
+ env.Append(LINKFLAGS = "-Wl,-rpath,$QTDIR/lib")
+ env.Append(LINKFLAGS = "-Wl,-rpath,$QTDIR/lib")
+@@ -1447,6 +1447,9 @@
+ print "Building with flags: " + build_flags
+ print "================\n"
+
++env['CCCOM'] = '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES'
++env['CXXCOM'] = '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES'
++
+ #Save the options to cache
+ vars.Save(cachefile, env)
+
diff --git a/media-sound/mixxx/files/mixxx-1.8.2-libsoundtouch.patch b/media-sound/mixxx/files/mixxx-1.8.2-libsoundtouch.patch
new file mode 100644
index 000000000..7d8fb6470
--- /dev/null
+++ b/media-sound/mixxx/files/mixxx-1.8.2-libsoundtouch.patch
@@ -0,0 +1,67 @@
+--- src/SConscript.env.orig 2010-09-22 23:12:44.206967190 -0700
++++ src/SConscript.env 2010-09-22 23:17:40.859942609 -0700
+@@ -873,36 +873,12 @@
+ #Tell SCons to build libraries that are bundled with Mixxx
+ #===================================================
+
+-#SoundTouch
+-#XXX this should be done with a subsconscript
+-
+-soundtouch_path = 'soundtouch-1.4.1'
+-
+-env.Append(CPPPATH=['#lib/'+soundtouch_path])
+-sources += Split("""engine/enginebufferscalest.cpp
+- #lib/""" + soundtouch_path + """/SoundTouch.cpp
+- #lib/""" + soundtouch_path + """/TDStretch.cpp
+- #lib/""" + soundtouch_path + """/RateTransposer.cpp
+- #lib/""" + soundtouch_path + """/AAFilter.cpp
+- #lib/""" + soundtouch_path + """/FIFOSampleBuffer.cpp
+- #lib/""" + soundtouch_path + """/FIRFilter.cpp
+- #lib/""" + soundtouch_path + """/PeakFinder.cpp
+- #lib/""" + soundtouch_path + """/BPMDetect.cpp
+- """)
+-
+-if 'win' in platformString:
+- if bitwidth == '64':
+- sources += Split("""#lib/""" + soundtouch_path + """/cpu_detect_x64_win.cpp""")
+- else:
+- sources += Split("""#lib/""" + soundtouch_path + """/cpu_detect_x86_win.cpp""")
+-else:
+- if bitwidth == '64':
+- sources += Split("""#lib/""" + soundtouch_path + """/cpu_detect_x64_gcc.cpp""")
+- else:
+- sources += Split("""#lib/""" + soundtouch_path + """/cpu_detect_x86_gcc.cpp""")
+-
+-
+-#KissFFT
++#SoundTouch
++sources += Split("""engine/enginebufferscalest.cpp""")
++env.Append(CPPPATH = [ ARGUMENTS.get('prefix', '/usr/local') + '/include/soundtouch' ])
++env.Append(LIBS = 'SoundTouch')
++
++#KissFFT
+ env.Append(CPPPATH=['#lib/kissfft'])
+ sources += Split("""#lib/kissfft/kiss_fft.c""")
+
+@@ -1320,20 +1296,7 @@
+ else:
+ print "Agner Fog\'s ASMLIB (http://www.agner.org/optimize)... disabled"
+
+-# SoundTouch Optimizations -- turn them on only if we have SSE or MMX
+-# enabled. It's dumb that they appear here, but they make the most sense next to
+-# the optimization stuff. It's safe to assume that if opt > 1, then MMX and SSE
+-# are enabled. All 64-bit CPUs have MMX and SSE as well.
+-if bitwidth == '64' or (not 'win' in platformString and int(flags['optimize']) > 1) \
+- or ('win' in platformString and int(flags['optimize']) > 2):
+- sources += Split("""#lib/""" + soundtouch_path + """/mmx_optimized.cpp #lib/""" + soundtouch_path + """/sse_optimized.cpp""")
+- env.Append(CPPDEFINES='ALLOW_X86_OPTIMIZATIONS')
+-
+-# Enable SoundTouch 3DNow! optimizations for Windows (decides at runtime if they're useful)
+-if 'win' in platformString and not bitwidth == '64':
+- sources += Split("""#lib/""" + soundtouch_path + """/3dnow_win.cpp""")
+-
+-#Debugging output
++#Debugging output
+ flags['qdebug'] = getFlags(env, 'qdebug', 0)
+ if 'win' in platformString:
+ if int(flags['msvcdebug']):
diff --git a/media-sound/mixxx/files/mixxx-1.9.0-flags.patch b/media-sound/mixxx/files/mixxx-1.9.0-flags.patch
new file mode 100644
index 000000000..d202a0a9d
--- /dev/null
+++ b/media-sound/mixxx/files/mixxx-1.9.0-flags.patch
@@ -0,0 +1,35 @@
+--- build/mixxx.py.orig 2010-12-22 11:21:56.000000000 -0800
++++ build/mixxx.py 2010-12-22 11:16:22.000000000 -0800
+@@ -189,7 +189,7 @@
+ if os.environ.has_key('CC'):
+ self.env['CC'] = os.environ['CC']
+ if os.environ.has_key('CFLAGS'):
+- self.env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
++ self.env['CFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
+ if os.environ.has_key('CXX'):
+ self.env['CXX'] = os.environ['CXX']
+ if os.environ.has_key('CXXFLAGS'):
+@@ -203,6 +203,10 @@
+ self.env['LIBS'] = []
+ self.env['LIBPATH'] = []
+
++ # Tell Scons how to call the CC and CXX to account for the custom flags.
++ self.env['CCCOM'] = '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES'
++ self.env['CXXCOM'] = '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES'
++
+ def install_options(self):
+ # Global cache directory Put all project files in it so a rm -rf cache
+ # will clean up the config
+--- build/depends.py.orig 2010-12-22 11:13:22.000000000 -0800
++++ build/depends.py 2010-12-22 11:14:02.000000000 -0800
+@@ -587,10 +587,8 @@
+ if build.toolchain_is_gnu:
+ # Default GNU Options
+ # TODO(XXX) always generate debugging info?
+- build.env.Append(CCFLAGS = '-pipe')
+ build.env.Append(CCFLAGS = '-Wall')
+ build.env.Append(CCFLAGS = '-Wextra')
+- build.env.Append(CCFLAGS = '-g')
+
+ # Check that g++ is present (yeah, SCONS is a bit dumb here)
+ if os.system("which g++ > /dev/null"): #Checks for non-zero return code
diff --git a/media-sound/mixxx/files/mixxx-1.9.0-libsoundtouch.patch b/media-sound/mixxx/files/mixxx-1.9.0-libsoundtouch.patch
new file mode 100644
index 000000000..25f349c3a
--- /dev/null
+++ b/media-sound/mixxx/files/mixxx-1.9.0-libsoundtouch.patch
@@ -0,0 +1,68 @@
+--- build/depends.py.orig 2010-12-22 11:13:22.000000000 -0800
++++ build/depends.py 2010-12-22 11:33:29.000000000 -0800
+@@ -234,60 +234,16 @@
+ build.env.Append(CPPPATH="#lib/replaygain")
+
+ class SoundTouch(Dependence):
+- SOUNDTOUCH_PATH = 'soundtouch-1.4.1'
+
+ def sources(self, build):
+- sources = ['engine/enginebufferscalest.cpp',
+- '#lib/%s/SoundTouch.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/TDStretch.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/RateTransposer.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/AAFilter.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/FIFOSampleBuffer.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/FIRFilter.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/PeakFinder.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/BPMDetect.cpp' % self.SOUNDTOUCH_PATH]
+- if build.platform_is_windows and build.toolchain_is_msvs:
+- if build.machine_is_64bit:
+- sources.append(
+- '#lib/%s/cpu_detect_x64_win.cpp' % self.SOUNDTOUCH_PATH)
+- elif build.machine == 'x86':
+- sources.append(
+- '#lib/%s/cpu_detect_x86_win.cpp' % self.SOUNDTOUCH_PATH)
+- else:
+- raise Exception("Unhandled CPU configuration for SoundTouch")
+- elif build.toolchain_is_gnu:
+- if build.machine == 'x86_64':
+- sources.append(
+- '#lib/%s/cpu_detect_x64_gcc.cpp' % self.SOUNDTOUCH_PATH)
+- else:
+- sources.append(
+- '#lib/%s/cpu_detect_x86_gcc.cpp' % self.SOUNDTOUCH_PATH)
+- else:
+- raise Exception("Unhandled CPU configuration for SoundTouch")
+-
+- # TODO(XXX) when we figure out a better way to represent features, fix
+- # this.
+- optimize = int(util.get_flags(build.env, 'optimize', 1))
+- if build.machine_is_64bit or \
+- (build.toolchain_is_msvs and optimize > 1) or \
+- (build.toolchain_is_gnu and optimize > 2):
+- sources.extend(
+- ['#lib/%s/mmx_optimized.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/sse_optimized.cpp' % self.SOUNDTOUCH_PATH,
+- ])
+- if build.toolchain_is_msvs and not build.machine_is_64bit:
+- sources.append('#lib/%s/3dnow_win.cpp' % self.SOUNDTOUCH_PATH)
+- else:
+- # TODO(XXX) the docs refer to a 3dnow_gcc, but we don't seem to have
+- # it.
+- pass
+-
++ sources = ['engine/enginebufferscalest.cpp']
+ return sources
+
+ def configure(self, build, conf):
+- if build.platform_is_windows:
+- build.env.Append(CPPDEFINES = 'WIN%s' % build.bitwidth)
+- build.env.Append(CPPPATH=['#lib/%s' % self.SOUNDTOUCH_PATH])
++ if not conf.CheckLib(['SoundTouch','libSoundTouch']):
++ raise Exception('Did not find libSoundTouch.a, libSoundTouch.lib, or the libSoundTouch development header files - exiting!')
++ build.env.Append(CPPPATH=[SCons.ARGUMENTS.get('prefix', '/usr/local') + '/include/soundtouch'])
++ build.env.Append(LIBS='SoundTouch')
+
+ # TODO(XXX) when we figure out a better way to represent features, fix
+ # this.
diff --git a/media-sound/mixxx/files/mixxx-9999-flags.patch b/media-sound/mixxx/files/mixxx-9999-flags.patch
new file mode 100644
index 000000000..d202a0a9d
--- /dev/null
+++ b/media-sound/mixxx/files/mixxx-9999-flags.patch
@@ -0,0 +1,35 @@
+--- build/mixxx.py.orig 2010-12-22 11:21:56.000000000 -0800
++++ build/mixxx.py 2010-12-22 11:16:22.000000000 -0800
+@@ -189,7 +189,7 @@
+ if os.environ.has_key('CC'):
+ self.env['CC'] = os.environ['CC']
+ if os.environ.has_key('CFLAGS'):
+- self.env['CCFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
++ self.env['CFLAGS'] += SCons.Util.CLVar(os.environ['CFLAGS'])
+ if os.environ.has_key('CXX'):
+ self.env['CXX'] = os.environ['CXX']
+ if os.environ.has_key('CXXFLAGS'):
+@@ -203,6 +203,10 @@
+ self.env['LIBS'] = []
+ self.env['LIBPATH'] = []
+
++ # Tell Scons how to call the CC and CXX to account for the custom flags.
++ self.env['CCCOM'] = '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES'
++ self.env['CXXCOM'] = '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES'
++
+ def install_options(self):
+ # Global cache directory Put all project files in it so a rm -rf cache
+ # will clean up the config
+--- build/depends.py.orig 2010-12-22 11:13:22.000000000 -0800
++++ build/depends.py 2010-12-22 11:14:02.000000000 -0800
+@@ -587,10 +587,8 @@
+ if build.toolchain_is_gnu:
+ # Default GNU Options
+ # TODO(XXX) always generate debugging info?
+- build.env.Append(CCFLAGS = '-pipe')
+ build.env.Append(CCFLAGS = '-Wall')
+ build.env.Append(CCFLAGS = '-Wextra')
+- build.env.Append(CCFLAGS = '-g')
+
+ # Check that g++ is present (yeah, SCONS is a bit dumb here)
+ if os.system("which g++ > /dev/null"): #Checks for non-zero return code
diff --git a/media-sound/mixxx/files/mixxx-9999-libsoundtouch.patch b/media-sound/mixxx/files/mixxx-9999-libsoundtouch.patch
new file mode 100644
index 000000000..d18b7b249
--- /dev/null
+++ b/media-sound/mixxx/files/mixxx-9999-libsoundtouch.patch
@@ -0,0 +1,68 @@
+--- build/depends.py.orig 2011-04-26 11:55:25.000000000 -0700
++++ build/depends.py 2011-04-26 11:58:53.000000000 -0700
+@@ -230,60 +230,16 @@
+ build.env.Append(CPPPATH="#lib/replaygain")
+
+ class SoundTouch(Dependence):
+- SOUNDTOUCH_PATH = 'soundtouch-1.5.0'
+
+ def sources(self, build):
+- sources = ['engine/enginebufferscalest.cpp',
+- '#lib/%s/SoundTouch.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/TDStretch.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/RateTransposer.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/AAFilter.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/FIFOSampleBuffer.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/FIRFilter.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/PeakFinder.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/BPMDetect.cpp' % self.SOUNDTOUCH_PATH]
+- if build.platform_is_windows and build.toolchain_is_msvs:
+- if build.machine_is_64bit:
+- sources.append(
+- '#lib/%s/cpu_detect_x64_win.cpp' % self.SOUNDTOUCH_PATH)
+- elif build.machine == 'x86':
+- sources.append(
+- '#lib/%s/cpu_detect_x86_win.cpp' % self.SOUNDTOUCH_PATH)
+- else:
+- raise Exception("Unhandled CPU configuration for SoundTouch")
+- elif build.toolchain_is_gnu:
+- if build.machine == 'x86_64':
+- sources.append(
+- '#lib/%s/cpu_detect_x64_gcc.cpp' % self.SOUNDTOUCH_PATH)
+- else:
+- sources.append(
+- '#lib/%s/cpu_detect_x86_gcc.cpp' % self.SOUNDTOUCH_PATH)
+- else:
+- raise Exception("Unhandled CPU configuration for SoundTouch")
+-
+- # TODO(XXX) when we figure out a better way to represent features, fix
+- # this.
+- optimize = int(util.get_flags(build.env, 'optimize', 1))
+- if build.machine_is_64bit or \
+- (build.toolchain_is_msvs and optimize > 1) or \
+- (build.toolchain_is_gnu and optimize > 2):
+- sources.extend(
+- ['#lib/%s/mmx_optimized.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/sse_optimized.cpp' % self.SOUNDTOUCH_PATH,
+- ])
+- if build.toolchain_is_msvs and not build.machine_is_64bit:
+- sources.append('#lib/%s/3dnow_win.cpp' % self.SOUNDTOUCH_PATH)
+- else:
+- # TODO(XXX) the docs refer to a 3dnow_gcc, but we don't seem to have
+- # it.
+- pass
+-
++ sources = ['engine/enginebufferscalest.cpp']
+ return sources
+
+ def configure(self, build, conf):
+- if build.platform_is_windows:
+- build.env.Append(CPPDEFINES = 'WIN%s' % build.bitwidth)
+- build.env.Append(CPPPATH=['#lib/%s' % self.SOUNDTOUCH_PATH])
++ if not conf.CheckLib(['SoundTouch','libSoundTouch']):
++ raise Exception('Did not find libSoundTouch.a, libSoundTouch.lib, or the libSoundTouch development header files - exiting!')
++ build.env.Append(CPPPATH=[SCons.ARGUMENTS.get('prefix', '/usr/local') + '/include/soundtouch'])
++ build.env.Append(LIBS='SoundTouch')
+
+ # TODO(XXX) when we figure out a better way to represent features, fix
+ # this.
diff --git a/media-sound/mixxx/metadata.xml b/media-sound/mixxx/metadata.xml
new file mode 100644
index 000000000..7b77077ea
--- /dev/null
+++ b/media-sound/mixxx/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sound</herd>
+ <maintainer><email>sound@gentoo.org</email></maintainer>
+ <use>
+ <flag name="shout">Enables <pkg>media-libs/libshout</pkg> support</flag>
+ </use>
+</pkgmetadata>
diff --git a/media-sound/mixxx/mixxx-1.8.2.ebuild b/media-sound/mixxx/mixxx-1.8.2.ebuild
new file mode 100644
index 000000000..8622dccb9
--- /dev/null
+++ b/media-sound/mixxx/mixxx-1.8.2.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+inherit eutils multilib scons-utils toolchain-funcs
+
+DESCRIPTION="A QT based Digital DJ tool"
+HOMEPAGE="http://mixxx.sourceforge.net"
+SRC_URI="http://downloads.mixxx.org/${P}/${P}-src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug mp4 pulseaudio"
+
+RDEPEND="media-libs/libid3tag
+ media-libs/libmad
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/libsndfile
+ >=media-libs/libsoundtouch-1.5
+ >=media-libs/portaudio-19_pre
+ media-libs/portmidi
+ media-libs/taglib
+ virtual/opengl
+ virtual/glu
+ x11-libs/qt-gui:4
+ x11-libs/qt-svg:4
+ x11-libs/qt-opengl:4
+ x11-libs/qt-qt3support:4
+ x11-libs/qt-webkit:4
+ x11-libs/qt-xmlpatterns:4
+ mp4? ( media-libs/faad2
+ media-libs/libmp4v2
+ )
+ pulseaudio? ( media-sound/pulseaudio )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+SCONS_MIN_VERSION="2.0.1"
+
+src_prepare() {
+ # patch CFLAGS issue
+ epatch "${FILESDIR}"/${P}-flags.patch
+
+ # patch external libsoundtouch
+ epatch "${FILESDIR}"/${P}-libsoundtouch.patch
+
+ # Patch startup command if not using pulse audio
+ use pulseaudio || sed -i -e 's:pasuspender ::' src/mixxx.desktop || die
+}
+
+src_compile() {
+ tc-export CC CXX
+ export LINKFLAGS="${LDFLAGS}"
+ export LIBPATH="/usr/$(get_libdir)"
+
+ escons \
+ prefix=/usr \
+ qtdir=/usr/$(get_libdir)/qt4 \
+ $(use_scons debug qdebug 1 0) \
+ $(use_scons mp4 m4a 1 0) \
+ hifieq=1 \
+ vinylcontrol=1 \
+ optimize=0 \
+ || die
+}
+
+src_install() {
+ escons install \
+ prefix=/usr \
+ install_root="${D}"/usr \
+ || die
+
+ dodoc README* || die
+
+ insinto /usr/share/doc/${PF}/pdf
+ doins Mixxx-Manual.pdf || die
+}
diff --git a/media-sound/mixxx/mixxx-1.9.0.ebuild b/media-sound/mixxx/mixxx-1.9.0.ebuild
new file mode 100644
index 000000000..f8a2196b9
--- /dev/null
+++ b/media-sound/mixxx/mixxx-1.9.0.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+inherit eutils multilib scons-utils toolchain-funcs
+
+DESCRIPTION="A QT based Digital DJ tool"
+HOMEPAGE="http://mixxx.sourceforge.net"
+SRC_URI="http://downloads.mixxx.org/${P}/${P}-src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug mp4 pulseaudio shout"
+
+RDEPEND="media-libs/flac
+ media-libs/libid3tag
+ media-libs/libmad
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/libsndfile
+ >=media-libs/libsoundtouch-1.5
+ >=media-libs/portaudio-19_pre
+ media-libs/portmidi
+ media-libs/taglib
+ virtual/opengl
+ virtual/glu
+ x11-libs/qt-gui:4
+ x11-libs/qt-svg:4
+ x11-libs/qt-opengl:4
+ x11-libs/qt-qt3support:4
+ x11-libs/qt-webkit:4
+ x11-libs/qt-xmlpatterns:4
+ mp4? ( media-libs/faad2
+ media-libs/libmp4v2
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ shout? ( media-libs/libshout )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+SCONS_MIN_VERSION="2.0.1"
+
+src_unpack() {
+ unpack ${A}
+
+ #Find and set the src dir
+ S="${WORKDIR}"/`basename ${S}~release-*`
+}
+
+src_prepare() {
+ cd "${S}"
+
+ # patch CFLAGS issue
+ epatch "${FILESDIR}"/${P}-flags.patch
+
+ # patch external libsoundtouch
+ epatch "${FILESDIR}"/${P}-libsoundtouch.patch
+
+ # Patch startup command if not using pulse audio
+ use pulseaudio || sed -i -e 's:pasuspender ::' src/mixxx.desktop || die
+}
+
+src_compile() {
+ tc-export CC CXX
+ export LINKFLAGS="${LDFLAGS}"
+ export LIBPATH="/usr/$(get_libdir)"
+
+ escons \
+ prefix=/usr \
+ qtdir=/usr/$(get_libdir)/qt4 \
+ $(use_scons debug qdebug 1 0) \
+ $(use_scons mp4 m4a 1 0) \
+ $(use_scons shout shoutcast 1 0) \
+ hifieq=1 \
+ vinylcontrol=1 \
+ optimize=0 \
+ || die
+}
+
+src_install() {
+ escons install \
+ prefix=/usr \
+ install_root="${D}"/usr \
+ || die
+
+ dodoc README* || die
+
+ insinto /usr/share/doc/${PF}/pdf
+ doins Mixxx-Manual.pdf || die
+}
diff --git a/media-sound/mixxx/mixxx-9999.ebuild b/media-sound/mixxx/mixxx-9999.ebuild
new file mode 100644
index 000000000..5b6c30a20
--- /dev/null
+++ b/media-sound/mixxx/mixxx-9999.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=3
+
+inherit bzr eutils multilib scons-utils toolchain-funcs
+
+DESCRIPTION="A QT based Digital DJ tool"
+HOMEPAGE="http://mixxx.sourceforge.net"
+EBZR_REPO_URI="lp:mixxx"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug mp4 pulseaudio shout"
+
+RDEPEND="media-libs/flac
+ media-libs/libid3tag
+ media-libs/libmad
+ media-libs/libogg
+ media-libs/libvorbis
+ media-libs/libsndfile
+ >=media-libs/libsoundtouch-1.5
+ >=media-libs/portaudio-19_pre
+ media-libs/portmidi
+ media-libs/taglib
+ virtual/opengl
+ virtual/glu
+ x11-libs/qt-gui:4
+ x11-libs/qt-svg:4
+ x11-libs/qt-opengl:4
+ x11-libs/qt-qt3support:4
+ x11-libs/qt-webkit:4
+ x11-libs/qt-xmlpatterns:4
+ mp4? ( media-libs/faad2
+ media-libs/libmp4v2
+ )
+ pulseaudio? ( media-sound/pulseaudio )
+ shout? ( media-libs/libshout )"
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+SCONS_MIN_VERSION="2.0.1"
+
+S="${S}/${PN}"
+
+src_prepare() {
+ # patch CFLAGS issue
+ epatch "${FILESDIR}"/${P}-flags.patch
+
+ # patch external libsoundtouch
+ epatch "${FILESDIR}"/${P}-libsoundtouch.patch
+
+ # Patch startup command if not using pulse audio
+ use pulseaudio || sed -i -e 's:pasuspender ::' src/mixxx.desktop || die
+}
+
+src_compile() {
+ tc-export CC CXX
+ export LINKFLAGS="${LDFLAGS}"
+ export LIBPATH="/usr/$(get_libdir)"
+
+ escons \
+ prefix=/usr \
+ qtdir=/usr/$(get_libdir)/qt4 \
+ $(use_scons debug qdebug 1 0) \
+ $(use_scons mp4 m4a 1 0) \
+ $(use_scons shout shoutcast 1 0) \
+ hifieq=1 \
+ vinylcontrol=1 \
+ optimize=0 \
+ || die
+}
+
+src_install() {
+ escons install \
+ prefix=/usr \
+ install_root="${D}"/usr \
+ || die
+
+ dodoc README* || die
+
+ insinto /usr/share/doc/${PF}/pdf
+ doins Mixxx-Manual.pdf || die
+}