diff --git a/media-sound/mixxx/Manifest b/media-sound/mixxx/Manifest index 3daa7a4..ef0da50 100644 --- a/media-sound/mixxx/Manifest +++ b/media-sound/mixxx/Manifest @@ -2,6 +2,10 @@ AUX mixxx-1.12.0_beta1-system-libs.patch 5847 SHA256 0b5cb0db508eb921f9461e20a49 AUX mixxx-1.12.0_beta1-use-cpp-built-in-types.patch 944 SHA256 69e1e1af26f0893ea7d5a3c2eb0cd8207e50b9a0de30194dc7719d3057cd1540 SHA512 6d0750bb3d1261602af99d401b63183d1c2380cd4958c1236fe1d4f618f541b3e77ed00ea14b341a474fc929c21b9ce20f8cb051de7f23db002d2d1c0c68a357 WHIRLPOOL e0294c52f45309bad2f07120c4480690d3373810689166ee7b328f689ddb93a1e50d44570dc7e81426dec8827cd4b476527772a6ef60936f6656288d47bdc024 AUX mixxx-1.12.9999-docs.patch 445 SHA256 9250ab6b2368ad03b8c54d767fda1d23cd826340189cf8989a3156b76b375411 SHA512 cad756af2cfc90433b20d0a867aed9b85ee822691c5c8adc97de6943273823a769d8e6d4912a71f00bbead2cd96cff91cc12fb2fb8de547bf76dabd74372490e WHIRLPOOL 91b48e4577ff127065bbcae34d945613029850b43831209cc1b1f9c2d1da7fc3c02c9fa96dd958fe85f934749bcbace1b2c6c3c358306dc6d6ea91935337a327 AUX mixxx-1.12.9999-system-libs.patch 5879 SHA256 daca3a3662ecf4fedffdc610199d36f5ca24ba22cd1f7d82dd264b9762081a5b SHA512 44e71b5e02a32fa2f533dc07d4d320d18fe112e7e1342db594e49080ec987ae389b696f5f7ed17cb3b101789916936367b88a6aa0fd755b8d0e7028741c46bc2 WHIRLPOOL f810b7254de4421eebc28c12e7255d3b05f95e93758d51c8bd992fd9d4152537448eebaeaf7703f15d032e139276503ccae360a49c8766395988b67729b345d1 +AUX mixxx-2.0.0_rc1-docs.patch 445 SHA256 9250ab6b2368ad03b8c54d767fda1d23cd826340189cf8989a3156b76b375411 SHA512 cad756af2cfc90433b20d0a867aed9b85ee822691c5c8adc97de6943273823a769d8e6d4912a71f00bbead2cd96cff91cc12fb2fb8de547bf76dabd74372490e WHIRLPOOL 91b48e4577ff127065bbcae34d945613029850b43831209cc1b1f9c2d1da7fc3c02c9fa96dd958fe85f934749bcbace1b2c6c3c358306dc6d6ea91935337a327 +AUX mixxx-2.0.0_rc1-system-libs.patch 5879 SHA256 daca3a3662ecf4fedffdc610199d36f5ca24ba22cd1f7d82dd264b9762081a5b SHA512 44e71b5e02a32fa2f533dc07d4d320d18fe112e7e1342db594e49080ec987ae389b696f5f7ed17cb3b101789916936367b88a6aa0fd755b8d0e7028741c46bc2 WHIRLPOOL f810b7254de4421eebc28c12e7255d3b05f95e93758d51c8bd992fd9d4152537448eebaeaf7703f15d032e139276503ccae360a49c8766395988b67729b345d1 DIST mixxx-1.12.0_beta1.tar.gz 24780154 SHA256 1204b04044b090b297c2863118dde4f2962d557f9bf606b1069efe824e18616f SHA512 1fe6ca8c876b2a33c3e0a329ddf53856e037f2e8e6574dae86c46a364cf604f124d0f8e2f5abd150307c4baeeeb7cf9c516d681989d2f7cf54c421ce7ddb76bb WHIRLPOOL e4e970e301509d36d555d07b317828f81734509f739bebeac174007048a800910eecd546c8e1beacb2baec7a96220a35012abdde4703b7c67e497843d915bb53 +DIST mixxx-2.0.0_rc1.tar.gz 25148494 SHA256 00d8de512e21ea1787676392df935e698eba5c21599703eb6ff16a5ef9527352 SHA512 dc46a0a27d48ca0f4319590dcacffd548051f8f9619b6e775b09efff7ef5795cfae62d83ae9daecede11c197640617f41f5f5fce2c997c33048f9e59ac4a58a9 WHIRLPOOL c258e753ef212f4b78618f39abc6fcce6e9e181359f6a0156a476eea6b857f1220ede1a99b7dda6f3b4865c35420f083e6742fdfc52a9cf31efd222ab8afd437 EBUILD mixxx-1.12.0_beta1.ebuild 2967 SHA256 f3f6f0ace4be8d81bc845a0f6b14863b87f6ea646591e9074603c955d8d696cd SHA512 dba6f02ea2f9e314e1a323a3130448daddd0301f1387691b737a5cdc2363d50b5471360a5e2982e9ace2c8f237ecfa793c46405c6998edb1618afe38deb5602a WHIRLPOOL 1d2468c49cccc84b03c705672a33dcf5ff33fe5755908ca99a6a2eaf534c39550cdad50cfcb9cfe93dbb2fe9ebdc2e108baa39dd1b2498d366024ba810d661e0 EBUILD mixxx-1.12.9999.ebuild 2679 SHA256 cbc078e3536fb0a3b1ce02fa478b99aaafb2ffd666c8cbe38ff99333fdd4f7fc SHA512 485cfde679e9501a2f7a1467bf76ed9c1ba408fdc40e6ec8f55517f41ae7d970255a25954b5a992c7eb3b5fab8b1a69d195cead73726190b104618d8cc7d6202 WHIRLPOOL 4ea86a7690d5cb0ec9334f51d05cea0bf317e0f7e1589fc2ea348d2ba8b49682820024328db3031372d075cc5eb15de0b2f4e7b6835cbba876ed78a30a6a2e44 +EBUILD mixxx-2.0.0_rc1.ebuild 2744 SHA256 f158ed3cda4fbf3839147f0cadcdbcd67e6235444064925d9b2b452dbba5a66b SHA512 4c9423af1637db1109577ef790f76cf70083c045e7976e0a00f1358128c5965d74abc0248d4149f2510feb5e877953ea2ed95d0d6511f4c76a17e47c90806f00 WHIRLPOOL cd71f1f202c71edba3cbd35da2a9be27d3280408fc6559f1652e8cc867429e86721da3bd3075fe6ee9ce49186b9db7f6dadadf0ab6b38123e3664aa36e1d083e diff --git a/media-sound/mixxx/files/mixxx-2.0.0_rc1-docs.patch b/media-sound/mixxx/files/mixxx-2.0.0_rc1-docs.patch new file mode 100644 index 0000000..bc26d58 --- /dev/null +++ b/media-sound/mixxx/files/mixxx-2.0.0_rc1-docs.patch @@ -0,0 +1,10 @@ +--- 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/media-sound/mixxx/files/mixxx-2.0.0_rc1-system-libs.patch b/media-sound/mixxx/files/mixxx-2.0.0_rc1-system-libs.patch new file mode 100644 index 0000000..60c293f --- /dev/null +++ b/media-sound/mixxx/files/mixxx-2.0.0_rc1-system-libs.patch @@ -0,0 +1,137 @@ +diff -dNur a/build/depends.py b/build/depends.py +--- a/build/depends.py 2015-12-01 17:29:47.731520477 +0000 ++++ b/build/depends.py 2015-12-01 17:34:59.412854685 +0000 +@@ -403,39 +403,15 @@ + 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 -dNur a/build/features.py b/build/features.py +--- a/build/features.py 2015-12-01 17:29:47.731520477 +0000 ++++ b/build/features.py 2015-12-01 17:40:15.398209140 +0000 +@@ -45,7 +45,6 @@ + + + class HID(Feature): +- HIDAPI_INTERNAL_PATH = '#lib/hidapi-0.8.0-rc1' + + def description(self): + return "HID controller support" +@@ -62,10 +61,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,25 +85,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', ++ return ['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 +- + + class Bulk(Feature): + def description(self): +@@ -745,25 +732,16 @@ + 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_rc1.ebuild b/media-sound/mixxx/mixxx-2.0.0_rc1.ebuild new file mode 100644 index 0000000..869b382 --- /dev/null +++ b/media-sound/mixxx/mixxx-2.0.0_rc1.ebuild @@ -0,0 +1,118 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit eutils multilib scons-utils toolchain-funcs + +DESCRIPTION="A Qt based Digital DJ tool" +HOMEPAGE="http://www.mixxx.org/" +SRC_URI="https://github.com/mixxxdj/${PN}/archive/release-${PV/_/-}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="aac debug doc ffmpeg hid mp3 mp4 pulseaudio +qt4 qt5 shout wavpack" +REQUIRED_USE="^^ ( qt4 qt5 )" + +RDEPEND="dev-libs/protobuf + media-libs/chromaprint + 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 + qt4? ( + 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 + ) + qt5? ( + >=dev-qt/qtscript-5.4.2:5[scripttools] + >=dev-qt/qtsvg-5.4.2:5 + >=dev-qt/qtsql-5.4.2:5 + >=dev-qt/qtxml-5.4.2:5 + >=dev-qt/qtopengl-5.4.2:5 + >=dev-qt/qtgui-5.4.2:5 + >=dev-qt/qtnetwork-5.4.2:5 + >=dev-qt/qtcore-5.4.2:5 + >=dev-qt/qtwidgets-5.4.2:5 + >=dev-qt/qttest-5.4.2:5 + >=dev-qt/qtxmlpatterns-5.4.2:5 + >=dev-qt/qtconcurrent-5.4.2:5 + ) + aac? ( + media-libs/faad2 + media-libs/libmp4v2:0 + ) + hid? ( dev-libs/hidapi ) + mp3? ( media-libs/libmad ) + mp4? ( media-libs/libmp4v2:= ) + ffmpeg? ( virtual/ffmpeg ) + pulseaudio? ( media-sound/pulseaudio ) + shout? ( media-libs/libshout ) + wavpack? ( media-sound/wavpack )" +DEPEND="${RDEPEND} + virtual/pkgconfig" + +S="${WORKDIR}/${PN}-release-${PV/_/-}" + +src_prepare() { + epatch "${FILESDIR}"/${PN}-2.0.0_rc1-system-libs.patch + epatch "${FILESDIR}"/${PN}-2.0.0_rc1-docs.patch + + # use multilib compatible directory for plugins + sed -i -e "/unix_lib_path =/s/'lib'/'$(get_libdir)'/" src/SConscript || die +} + +src_configure() { + if use qt5 ; then + QTDIR=${EPREFIX}/usr/$(get_libdir)/qt5 + else + QTDIR=${EPREFIX}/usr/$(get_libdir)/qt4 + fi + + myesconsargs=( + prefix="${EPREFIX}/usr" + qtdir="${QTDIR}" + hifieq=1 + vinylcontrol=1 + optimize=0 + $(use_scons qt5) + $(use_scons aac faad) + $(use_scons debug qdebug) + $(use_scons hid hid) + $(use_scons mp3 mad) + $(use_scons mp4 m4a) + $(use_scons ffmpeg) + $(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 +}