[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
}