summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-sound/mixxx/files/mixxx-2.0.0-system-libs.patch158
-rw-r--r--media-sound/mixxx/mixxx-2.0.0-r1.ebuild (renamed from media-sound/mixxx/mixxx-2.0.0.ebuild)53
2 files changed, 202 insertions, 9 deletions
diff --git a/media-sound/mixxx/files/mixxx-2.0.0-system-libs.patch b/media-sound/mixxx/files/mixxx-2.0.0-system-libs.patch
new file mode 100644
index 000000000000..f0c86c85a8b7
--- /dev/null
+++ b/media-sound/mixxx/files/mixxx-2.0.0-system-libs.patch
@@ -0,0 +1,158 @@
+diff -Naur mixxx-2.0.0/build/depends.py mixxx-2.0.0_patch/build/depends.py
+--- mixxx-2.0.0/build/depends.py 2015-12-29 08:10:41.000000000 -0800
++++ mixxx-2.0.0_patch/build/depends.py 2016-01-11 20:23:40.641866196 -0800
+@@ -369,25 +369,10 @@
+
+ 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):
+@@ -400,42 +385,17 @@
+
+
+ class SoundTouch(Dependence):
+- SOUNDTOUCH_PATH = 'soundtouch-1.8.0'
+
+ def sources(self, build):
+- return ['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.
+- '#lib/%s/cpu_detect_x86.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/mmx_optimized.cpp' % self.SOUNDTOUCH_PATH,
+- '#lib/%s/sse_optimized.cpp' % self.SOUNDTOUCH_PATH]
++ 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])
+-
+- # Prevents circular import.
+- from features import Optimize
+-
+- # If we do not want optimizations then disable them.
+- optimize = (build.flags['optimize'] if 'optimize' in build.flags
+- else Optimize.get_optimization_level(build))
+- if optimize == Optimize.LEVEL_OFF:
+- 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 -Naur mixxx-2.0.0/build/features.py mixxx-2.0.0_patch/build/features.py
+--- mixxx-2.0.0/build/features.py 2015-12-29 08:10:41.000000000 -0800
++++ mixxx-2.0.0_patch/build/features.py 2016-01-11 20:27:05.342990424 -0800
+@@ -62,10 +62,6 @@
+ 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(
+@@ -90,23 +86,17 @@
+
+ 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:
+- # hidapi compiles the libusb implementation by default on Linux
+- sources.append(
+- os.path.join(self.HIDAPI_INTERNAL_PATH, 'libusb/hid.c'))
+- elif build.platform_is_osx:
+- sources.append(
+- os.path.join(self.HIDAPI_INTERNAL_PATH, 'mac/hid.c'))
+ return sources
+
+
+@@ -745,24 +735,15 @@
+ 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 []
+
diff --git a/media-sound/mixxx/mixxx-2.0.0.ebuild b/media-sound/mixxx/mixxx-2.0.0-r1.ebuild
index f93d43956ae4..ffe8c33152b6 100644
--- a/media-sound/mixxx/mixxx-2.0.0.ebuild
+++ b/media-sound/mixxx/mixxx-2.0.0-r1.ebuild
@@ -13,17 +13,14 @@ SRC_URI="http://downloads.${PN}.org/${P}/${P}-src.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="aac debug doc hid mp3 mp4 shout wavpack ffmpeg"
+IUSE="aac debug doc hid mp3 mp4 qt4 +qt5 shout wavpack ffmpeg"
+REQUIRED_USE="^^ ( qt4 qt5 )"
+# fails to compile system-fidlib. Add ">media-libs/fidlib-0.9.10-r1" once this
+# got fixed
RDEPEND="dev-db/sqlite
dev-libs/libusb:1
dev-libs/protobuf
- dev-qt/qtcore:4
- dev-qt/qtgui:4
- dev-qt/qtopengl:4
- dev-qt/qtscript:4
- dev-qt/qtsql:4
- dev-qt/qtsvg:4
media-libs/chromaprint
media-libs/flac
media-libs/libid3tag
@@ -45,27 +42,65 @@ RDEPEND="dev-db/sqlite
hid? ( dev-libs/hidapi )
mp3? ( media-libs/libmad )
mp4? ( media-libs/libmp4v2:= )
+ qt4? (
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ dev-qt/qtscript:4
+ dev-qt/qtsql:4
+ dev-qt/qtsvg:4
+ )
+ qt5? (
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtopengl:5
+ dev-qt/qtscript:5[scripttools]
+ dev-qt/qtsql:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
shout? ( media-libs/libshout )
wavpack? ( media-sound/wavpack )
ffmpeg? ( media-video/ffmpeg )"
+# media-libs/rubberband RDEPENDs on sci-libs/fftw:3.0
DEPEND="${RDEPEND}
- virtual/pkgconfig"
+ sci-libs/fftw:3.0
+ virtual/pkgconfig
+ qt5? ( dev-qt/qtxmlpatterns:5 )"
PATCHES=(
"${FILESDIR}"/${PN}-2.0.0-docs.patch
+ #"${FILESDIR}"/${PN}-2.0.0-system-libs.patch
)
+src_prepare() {
+ # use multilib compatible directory for plugins
+ sed -i -e "/unix_lib_path =/s/'lib'/'$(get_libdir)'/" src/SConscript || die
+
+ default
+}
+
src_configure() {
+ local myqtdir=qt5
+ if use qt4 ; then
+ myqtdir="qt4"
+ fi
+
myesconsargs=(
prefix="${EPREFIX}/usr"
- qtdir="${EPREFIX}/usr/$(get_libdir)/qt4"
+ qtdir="${EPREFIX}/usr/$(get_libdir)/${myqtdir}"
faad="$(usex aac 1 0)"
ffmpeg="$(usex ffmpeg 1 0)"
hid="$(usex hid 1 0)"
+ hifieq=1
m4a="$(usex mp4 1 0)"
mad="$(usex mp3 1 0)"
optimize=native
qdebug="$(usex debug 1 0)"
+ qt5="$(usex qt5 1 0)"
shoutcast="$(usex shout 1 0)"
vinylcontrol=1
wv="$(usex wavpack 1 0)"