[proaudio] media-sound/mixxx-9999 UPDATE!

[ Thread Index | Date Index | More lists.tuxfamily.org/proaudio Archives ]


Attached are all of the mixxx 9999 ebuild and patches. I am not sure which files need to be updated. I don't believe several previous revisions were added to version control.

Thanks!
--- mixxx-9999/build/depends.py
+++ mixxx-9999/build/depends.py
@@ -862,10 +862,8 @@ class MixxxCore(Feature):
         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)
             # returns a non zeros return code if g++ is found
--- mixxx-9999/src/SConscript
+++ mixxx-9999/src/SConscript
@@ -290,7 +290,6 @@
                 env.Alias('install', controllermappings)
                 env.Alias('install', translations)
                 env.Alias('install', keyboardmappings)
-                env.Alias('install', docs)
                 env.Alias('install', dotdesktop)
                 env.Alias('install', icon)
                 env.Alias('install', promotracks)
diff --git a/build/depends.py b/build/depends.py
index ad71733..a33d68e 100644
--- a/build/depends.py
+++ b/build/depends.py
@@ -347,25 +347,10 @@ class TestHeaders(Dependence):
 
 class FidLib(Dependence):
 
-    def sources(self, build):
-        symbol = None
-        if build.platform_is_windows:
-            if build.toolchain_is_msvs:
-                symbol = 'T_MSVC'
-            elif build.crosscompile:
-                # Not sure why, but fidlib won't build with mingw32msvc and
-                # T_MINGW
-                symbol = 'T_LINUX'
-            elif build.toolchain_is_gnu:
-                symbol = 'T_MINGW'
-        else:
-            symbol = 'T_LINUX'
-
-        return [build.env.StaticObject('#lib/fidlib-0.9.10/fidlib.c',
-                                       CPPDEFINES=symbol)]
-
     def configure(self, build, conf):
-        build.env.Append(CPPPATH='#lib/fidlib-0.9.10/')
+        if not conf.CheckLib('fidlib'):
+            raise Exception('Did not find fidlib library, exiting!')
+        build.env.Append(CPPPATH=[SCons.ARGUMENTS.get('prefix') + '/include/fidlib']) 
 
 
 class ReplayGain(Dependence):
@@ -378,7 +363,6 @@ class ReplayGain(Dependence):
 
 
 class SoundTouch(Dependence):
-    SOUNDTOUCH_PATH = 'soundtouch-1.8.0'
 
     def sse_enabled(self, build):
         optimize = int(util.get_flags(build.env, 'optimize', 1))
@@ -387,41 +371,15 @@ class SoundTouch(Dependence):
                 (build.toolchain_is_gnu and optimize > 1))
 
     def sources(self, build):
-        sources = ['engine/enginebufferscalest.cpp',
-                   '#lib/%s/AAFilter.cpp' % self.SOUNDTOUCH_PATH,
-                   '#lib/%s/BPMDetect.cpp' % self.SOUNDTOUCH_PATH,
-                   '#lib/%s/FIFOSampleBuffer.cpp' % self.SOUNDTOUCH_PATH,
-                   '#lib/%s/FIRFilter.cpp' % self.SOUNDTOUCH_PATH,
-                   '#lib/%s/InterpolateCubic.cpp' % self.SOUNDTOUCH_PATH,
-                   '#lib/%s/InterpolateLinear.cpp' % self.SOUNDTOUCH_PATH,
-                   '#lib/%s/InterpolateShannon.cpp' % self.SOUNDTOUCH_PATH,
-                   '#lib/%s/PeakFinder.cpp' % self.SOUNDTOUCH_PATH,
-                   '#lib/%s/RateTransposer.cpp' % self.SOUNDTOUCH_PATH,
-                   '#lib/%s/SoundTouch.cpp' % self.SOUNDTOUCH_PATH,
-                   '#lib/%s/TDStretch.cpp' % self.SOUNDTOUCH_PATH]
-
-        # SoundTouch CPU optimizations are only for x86
-        # architectures. SoundTouch automatically ignores these files when it is
-        # not being built for an architecture that supports them.
-        sources.append('#lib/%s/cpu_detect_x86.cpp' % self.SOUNDTOUCH_PATH)
-
-        # Check if the compiler has SSE extention enabled
-        # Allways the case on x64 (core instructions)
-        if self.sse_enabled(build):
-            sources.extend(
-                ['#lib/%s/mmx_optimized.cpp' % self.SOUNDTOUCH_PATH,
-                 '#lib/%s/sse_optimized.cpp' % self.SOUNDTOUCH_PATH, ])
-        return sources
+        return ['engine/enginebufferscalest.cpp']
 
     def configure(self, build, conf, env=None):
         if env is None:
             env = build.env
-        env.Append(CPPPATH=['#lib/%s' % self.SOUNDTOUCH_PATH])
-
-        # If we do not want SSE optimizations (either the architecture does not
-        # support it or we are running a non-optimized build) then disable them.
-        if not self.sse_enabled(build):
-            env.Append(CPPDEFINES='SOUNDTOUCH_DISABLE_X86_OPTIMIZATIONS')
+        if not conf.CheckLib(['SoundTouch','libSoundTouch']):
+            raise Exception('Did not find SoundTouch library, exiting!')
+        build.env.Append(CPPPATH=[SCons.ARGUMENTS.get('prefix') + '/include/soundtouch'])
+        build.env.Append(LIBS='SoundTouch')
 
 
 class RubberBand(Dependence):
diff --git a/build/features.py b/build/features.py
index b61de86..639e143 100644
--- a/build/features.py
+++ b/build/features.py
@@ -45,7 +45,6 @@ class HSS1394(Feature):
 
 
 class HID(Feature):
-    HIDAPI_INTERNAL_PATH = '#lib/hidapi-0.8.0-pre'
 
     def description(self):
         return "HID controller support"
@@ -62,10 +61,6 @@ class HID(Feature):
     def configure(self, build, conf):
         if not self.enabled(build):
             return
-        # TODO(XXX) allow external hidapi install, but for now we just use our
-        # internal one.
-        build.env.Append(
-            CPPPATH=[os.path.join(self.HIDAPI_INTERNAL_PATH, 'hidapi')])
 
         if build.platform_is_linux:
             build.env.ParseConfig(
@@ -89,23 +84,17 @@ class HID(Feature):
             build.env.AppendUnique(FRAMEWORKS=['IOKit', 'CoreFoundation'])
 
         build.env.Append(CPPDEFINES='__HID__')
+        
+        if not conf.CheckLib('hidapi-libusb'):
+            raise Exception('Did not find HID API library, exiting!')
+        build.env.Append(CPPPATH=[SCons.ARGUMENTS.get('prefix') + '/include/hidapi'])
+        build.env.Append(LIBS='hidapi-libusb')
 
     def sources(self, build):
         sources = ['controllers/hid/hidcontroller.cpp',
                    'controllers/hid/hidenumerator.cpp',
                    'controllers/hid/hidcontrollerpresetfilehandler.cpp']
 
-        if build.platform_is_windows:
-            # Requires setupapi.lib which is included by the above check for
-            # setupapi.
-            sources.append(
-                os.path.join(self.HIDAPI_INTERNAL_PATH, "windows/hid.c"))
-        elif build.platform_is_linux:
-            sources.append(
-                os.path.join(self.HIDAPI_INTERNAL_PATH, 'linux/hid-libusb.c'))
-        elif build.platform_is_osx:
-            sources.append(
-                os.path.join(self.HIDAPI_INTERNAL_PATH, 'mac/hid.c'))
         return sources
 
 
@@ -717,24 +706,15 @@ class TestSuite(Feature):
         test_env.Append(CCFLAGS='-pthread')
         test_env.Append(LINKFLAGS='-pthread')
 
-        test_env.Append(CPPPATH="#lib/gtest-1.7.0/include")
-        gtest_dir = test_env.Dir("#lib/gtest-1.7.0")
-        # gtest_dir.addRepository(build.env.Dir('#lib/gtest-1.5.0'))
-        # build.env['EXE_OUTPUT'] = '#/lib/gtest-1.3.0/bin'  # example,
-        # optional
-        test_env['LIB_OUTPUT'] = '#/lib/gtest-1.7.0/lib'
-
-        env = test_env
-        SCons.Export('env')
-        env.SConscript(env.File('SConscript', gtest_dir))
-
-        # build and configure gmock
-        test_env.Append(CPPPATH="#lib/gmock-1.7.0/include")
-        gmock_dir = test_env.Dir("#lib/gmock-1.7.0")
-        # gmock_dir.addRepository(build.env.Dir('#lib/gmock-1.5.0'))
-        test_env['LIB_OUTPUT'] = '#/lib/gmock-1.7.0/lib'
-
-        env.SConscript(env.File('SConscript', gmock_dir))
+        if not conf.CheckLib('gtest'):
+            raise Exception('Did not find gtest library, exiting!')
+        test_env.Append(CPPPATH=[SCons.ARGUMENTS.get('prefix') + '/include/gtest'])
+        test_env.Append(LIBS='gtest')
+ 
+        if not conf.CheckLib('gmock'):
+            raise Exception('Did not find gmock library, exiting!')
+        test_env.Append(CPPPATH=[SCons.ARGUMENTS.get('prefix') + '/include/gmock'])
+        test_env.Append(LIBS='gmock')
 
         return []
 
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI=5

inherit eutils git-2 multilib scons-utils toolchain-funcs

DESCRIPTION="A Qt based Digital DJ tool"
HOMEPAGE="http://www.mixxx.org/";
EGIT_REPO_URI="git://github.com/mixxxdj/${PN}.git"
#EGIT_REPO_URI="git://github.com/kwhat/${PN}.git"
EGIT_BRANCH="master"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS=""
IUSE="aac debug doc hid mp3 mp4 pulseaudio shout wavpack"

RDEPEND="dev-libs/protobuf
	media-libs/chromaprint
	>media-libs/fidlib-0.9.10-r1
	media-libs/flac
	media-libs/libid3tag
	media-libs/libogg
	media-libs/libsndfile
	>=media-libs/libsoundtouch-1.5
	media-libs/libvorbis
	>=media-libs/portaudio-19_pre
	media-libs/portmidi
	media-libs/rubberband
	media-libs/taglib
	media-libs/vamp-plugin-sdk
	sci-libs/fftw:3.0
	virtual/glu
	virtual/opengl
	dev-qt/qtgui:4
	dev-qt/qtopengl:4
	dev-qt/qtsql:4
	dev-qt/qtsvg:4
	dev-qt/qttest:4
	dev-qt/qtwebkit:4
	dev-qt/qtxmlpatterns:4
	aac? (
		media-libs/faad2
		media-libs/libmp4v2:0
	)
	hid? ( dev-libs/hidapi )
	mp3? ( media-libs/libmad )
	mp4? ( media-libs/libmp4v2 )
	pulseaudio? ( media-sound/pulseaudio )
	shout? ( media-libs/libshout )
	wavpack? ( media-sound/wavpack )"
DEPEND="${RDEPEND}
	virtual/pkgconfig"

S=${S}/${PN}

src_prepare() {
	epatch "${FILESDIR}"/${P}-system-libs.patch
	epatch "${FILESDIR}"/${P}-docs.patch

	# use multilib compatible directory for plugins
	sed -i -e "/unix_lib_path =/s/'lib'/'$(get_libdir)'/" src/SConscript || die

	# alter startup command when pulseaudio support is disabled
	if ! use pulseaudio ; then
		sed -i -e 's:pasuspender ::' src/mixxx.desktop || die
	fi
}

src_configure() {
	myesconsargs=(
		prefix="${EPREFIX}/usr"
		qtdir="${EPREFIX}/usr/$(get_libdir)/qt4"
		hifieq=1
		vinylcontrol=1
		optimize=0
		$(use_scons aac faad)
		$(use_scons debug qdebug)
		$(use_scons hid hid)
		$(use_scons mp3 mad)
		$(use_scons mp4 m4a)
		$(use_scons shout shoutcast)
		$(use_scons wavpack wv)
	)
}

src_compile() {
	CC="$(tc-getCC)" CXX="$(tc-getCXX)" LINKFLAGS="${LDFLAGS}" \
	LIBPATH="${EPREFIX}/usr/$(get_libdir)" escons
}

src_install() {
	CC="$(tc-getCC)" CXX="$(tc-getCXX)" LINKFLAGS="${LDFLAGS}" \
	LIBPATH="${EPREFIX}/usr/$(get_libdir)" escons install \
		install_root="${ED}"/usr

	dodoc README Mixxx-Manual.pdf
}


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/