diff options
-rw-r--r-- | media-sound/mixxx/files/mixxx-2.0.0-system-libs.patch | 158 | ||||
-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)" |