[proaudio] mixxx-9999 Ebuild && Patch Updates |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/proaudio Archives
]
Thanks for the ebuild update. Two of the patches broke upstream and
have been attached for update. The 9999-no-bzr.patch can now be removed
because it functions correctly upstream and with portage. The attached
ebuild reflects the changes for the no-bzr patch update.
On 12/08/2013 07:04 AM, Karl Lindén wrote:
Committed as revision 2814. Thanks!
2013/12/7 Alex Barker <alex@xxxxxxxxxx <mailto:alex@xxxxxxxxxx>>
Attached is an update to the mixxx-9999 ebuild that adds a new
dependency (rubberband) for key detection. Everything else is
identical.
--- 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/build/depends.py
+++ mixxx-9999/build/depends.py
@@ -317,26 +317,10 @@ class Qt(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):
@@ -348,7 +332,6 @@ class ReplayGain(Dependence):
class SoundTouch(Dependence):
- SOUNDTOUCH_PATH = 'soundtouch-1.6.0'
def sse_enabled(self, build):
optimize = int(util.get_flags(build.env, 'optimize', 1))
@@ -357,30 +340,7 @@ class SoundTouch(Dependence):
(build.toolchain_is_gnu and optimize > 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]
-
- # 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.
- cpu_detection = '#lib/%s/cpu_detect_x86_win.cpp' if build.toolchain_is_msvs else \
- '#lib/%s/cpu_detect_x86_gcc.cpp'
- sources.append(cpu_detection % 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:
@@ -388,12 +348,11 @@ class SoundTouch(Dependence):
if build.platform_is_windows:
# Regardless of the bitwidth, ST checks for WIN32
env.Append(CPPDEFINES='WIN32')
- env.Append(CPPPATH=['#lib/%s' % self.SOUNDTOUCH_PATH])
- # Check if the compiler has SSE extention enabled
- # Allways the case on x64 (core instructions)
- if self.sse_enabled(build):
- env.Append(CPPDEFINES='SOUNDTOUCH_ALLOW_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):
--- mixxx-9999/build/features.py
+++ mixxx-9999/build/features.py
@@ -54,7 +54,6 @@ class HSS1394(Feature):
class HID(Feature):
- HIDAPI_INTERNAL_PATH = '#lib/hidapi-0.8.0-pre'
def description(self):
return "HID controller support"
@@ -71,10 +70,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(
@@ -96,22 +91,16 @@ class HID(Feature):
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
@@ -817,26 +806,15 @@ class TestSuite(Feature):
test_env.Append(CCFLAGS='-pthread')
test_env.Append(LINKFLAGS='-pthread')
- test_env.Append(CPPPATH="#lib/gtest-1.5.0/include")
- gtest_dir = test_env.Dir("#lib/gtest-1.5.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.5.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.5.0/include")
- gmock_dir = test_env.Dir("#lib/gmock-1.5.0")
- # gmock_dir.addRepository(build.env.Dir('#lib/gmock-1.5.0'))
- test_env['LIB_OUTPUT'] = '#/lib/gmock-1.5.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')
- return []
+ 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')
class Shoutcast(Feature):
--- mixxx-9999/src/engine/enginefilter.h
+++ mixxx-9999/src/engine/enginefilter.h
@@ -20,7 +20,7 @@
#define MIXXX
#include "engine/engineobject.h"
-#include "../lib/fidlib-0.9.10/fidlib.h"
+#include <fidlib.h>
#include "defs.h"
#define PREDEF_HP 1
--- mixxx-9999/src/engine/enginefilterbutterworth8.cpp
+++ mixxx-9999/src/engine/enginefilterbutterworth8.cpp
@@ -18,7 +18,7 @@
#include "engine/enginefilterbutterworth8.h"
#include "engine/enginefilter.h"
#include "engine/engineobject.h"
-#include "../lib/fidlib-0.9.10/fidlib.h"
+#include <fidlib.h>
inline double _processLowpass(double *coef, double *buf, register double val);
inline double _processBandpass(double *coef, double *buf, register double val);
# 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_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/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}-cflags.patch
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
}