summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound')
-rw-r--r--media-sound/mixxx/ChangeLog11
-rw-r--r--media-sound/mixxx/files/mixxx-1.11.0-no-bzr.patch35
-rw-r--r--media-sound/mixxx/files/mixxx-1.11.0-system-libs.patch223
-rw-r--r--media-sound/mixxx/metadata.xml2
-rw-r--r--media-sound/mixxx/mixxx-1.11.0.ebuild98
5 files changed, 367 insertions, 2 deletions
diff --git a/media-sound/mixxx/ChangeLog b/media-sound/mixxx/ChangeLog
index 1751172ac2e1..468891f5ac48 100644
--- a/media-sound/mixxx/ChangeLog
+++ b/media-sound/mixxx/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for media-sound/mixxx
-# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-sound/mixxx/ChangeLog,v 1.68 2013/03/02 21:57:27 hwoarang Exp $
+# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/mixxx/ChangeLog,v 1.69 2014/12/11 04:21:00 radhermit Exp $
+
+*mixxx-1.11.0 (11 Dec 2014)
+
+ 11 Dec 2014; Tim Harder <radhermit@gentoo.org> +mixxx-1.11.0.ebuild,
+ +files/mixxx-1.11.0-no-bzr.patch, +files/mixxx-1.11.0-system-libs.patch,
+ metadata.xml:
+ Version bump (bug #469506 by Alex Barker), add hid and vamp use flags.
02 Mar 2013; Markos Chandras <hwoarang@gentoo.org> mixxx-1.10.1.ebuild:
Move Qt dependencies to the new category
diff --git a/media-sound/mixxx/files/mixxx-1.11.0-no-bzr.patch b/media-sound/mixxx/files/mixxx-1.11.0-no-bzr.patch
new file mode 100644
index 000000000000..b89d7f92f76e
--- /dev/null
+++ b/media-sound/mixxx/files/mixxx-1.11.0-no-bzr.patch
@@ -0,0 +1,35 @@
+--- mixxx-1.11.0/src/SConscript
++++ mixxx-1.11.0/src/SConscript
+@@ -12,8 +12,8 @@
+ from build import util, depends
+
+ mixxx_version = util.get_mixxx_version()
+-branch_name = util.get_bzr_branch_name()
+-bazaar_revision = util.get_bzr_revision()
++#branch_name = util.get_bzr_branch_name()
++#bazaar_revision = util.get_bzr_revision()
+ print "WE ARE IN:", os.getcwd()
+
+ plugins = []
+--- mixxx-1.11.0/src/SConscript.env
++++ mixxx-1.11.0/src/SConscript.env
+@@ -20,19 +20,6 @@
+ print "Deleting deprecated build file: %s" % defs
+ os.remove(defs)
+
+-#env.Append(CPPDEFINES=[('BUILD_REV', '"%s"' % getBZRRevision())]) #doing this forces a rebuild of everything whenever a commit happens -- not much fun
+-## instead, embed BZR version into build
+-## Put version info into a file, so it doesn't force a rebuild of everything :)
+-
+-if os.path.exists(os.path.join('..', 'build.h')):
+- # If a build.h exists in the project root mixxx/ directory then use that
+- # instead of writing our own. This is mostly since when we build Debian
+- # packages we don't have any of the Bazaar metadata so we can't write one
+- # ourselves.
+- shutil.copy(os.path.join('..', 'build.h'), 'build.h')
+-else:
+- util.write_build_header('build.h')
+-
+
+ #Check for dependencies if we're not doing a clean...
+ #if not env.GetOption('clean') and not SCons.Util.containsAny(os.sys.argv, ['-h', '--help']):
diff --git a/media-sound/mixxx/files/mixxx-1.11.0-system-libs.patch b/media-sound/mixxx/files/mixxx-1.11.0-system-libs.patch
new file mode 100644
index 000000000000..2f6b62c3440a
--- /dev/null
+++ b/media-sound/mixxx/files/mixxx-1.11.0-system-libs.patch
@@ -0,0 +1,223 @@
+--- mixxx-1.11.0/build/depends.py
++++ mixxx-1.11.0/build/depends.py
+@@ -179,8 +179,8 @@
+ # times.
+
+ qt_modules = [
+- 'QtCore', 'QtGui', 'QtOpenGL', 'QtXml', 'QtSvg',
+- 'QtSql', 'QtScript', 'QtXmlPatterns', 'QtNetwork'
++ 'QtCore', 'QtGui', 'QtOpenGL', 'QtXml',
++ 'QtSql', 'QtScript', 'QtNetwork'
+ #'QtUiTools', #'QtDesigner',
+ ]
+
+@@ -298,25 +298,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):
+
+@@ -327,7 +312,6 @@
+ build.env.Append(CPPPATH="#lib/replaygain")
+
+ class SoundTouch(Dependence):
+- SOUNDTOUCH_PATH = 'soundtouch-1.6.0'
+
+ def sse_enabled(self, build):
+ optimize = int(util.get_flags(build.env, 'optimize', 1))
+@@ -336,30 +320,7 @@
+ (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:
+@@ -367,13 +328,10 @@
+ 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)
+- optimize = int(util.get_flags(env, 'optimize', 1))
+- 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 TagLib(Dependence):
+ def configure(self, build, conf):
+--- mixxx-1.11.0/build/features.py
++++ mixxx-1.11.0/build/features.py
+@@ -48,7 +48,6 @@
+ 'controllers/midi/hss1394enumerator.cpp']
+
+ class HID(Feature):
+- HIDAPI_INTERNAL_PATH = '#lib/hidapi-0.8.0-pre'
+ def description(self):
+ return "HID controller support"
+
+@@ -64,9 +63,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('pkg-config libusb-1.0 --silence-errors --cflags --libs')
+@@ -86,19 +82,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:
+- 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
+
+ class Bulk(Feature):
+@@ -455,19 +449,6 @@
+
+ build.env.Append(CPPDEFINES = '__VAMP__')
+
+- # Needed on Linux at least. Maybe needed elsewhere?
+- if build.platform_is_linux:
+- # Optionally link libdl and libX11. Required for some distros.
+- conf.CheckLib(['dl', 'libdl'])
+- conf.CheckLib(['X11', 'libX11'])
+-
+- # FFTW3 support
+- have_fftw3_h = conf.CheckHeader('fftw3.h')
+- have_fftw3 = conf.CheckLib('fftw3', autoadd=False)
+- if(have_fftw3_h and have_fftw3 and build.platform_is_linux):
+- build.env.Append(CPPDEFINES = 'HAVE_FFTW3')
+- build.env.ParseConfig('pkg-config fftw3 --silence-errors --cflags --libs')
+-
+ def sources(self, build):
+ sources = ['vamp/vampanalyser.cpp',
+ 'vamp/vamppluginloader.cpp',
+@@ -725,25 +706,15 @@
+ 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))
+-
+- return []
++ 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')
+
+ class Shoutcast(Feature):
+ def description(self):
+--- mixxx-1.11.0/src/engine/enginefilterbutterworth8.cpp
++++ mixxx-1.11.0/src/engine/enginefilterbutterworth8.cpp
+@@ -20,7 +20,7 @@
+ #include "engine/enginefilterbutterworth8.h"
+ #include "engine/enginefilter.h"
+ #include "engine/engineobject.h"
+-#include "../lib/fidlib-0.9.10/fidlib.h"
++#include <fidlib.h>
+
+ /* Local Prototypes */
+ inline double _processLowpass(double *coef, double *buf, register double val);
+--- mixxx-1.11.0/src/engine/enginefilter.h
++++ mixxx-1.11.0/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"
+
+ enum filterType{
diff --git a/media-sound/mixxx/metadata.xml b/media-sound/mixxx/metadata.xml
index 84869f56185a..90052b15c004 100644
--- a/media-sound/mixxx/metadata.xml
+++ b/media-sound/mixxx/metadata.xml
@@ -3,6 +3,8 @@
<pkgmetadata>
<herd>proaudio</herd>
<use>
+ <flag name="hid">Enable HID controller support</flag>
<flag name="shout">Enable broadcasting support via <pkg>media-libs/libshout</pkg></flag>
+ <flag name="vamp">Enable vamp analyzing plugins support</flag>
</use>
</pkgmetadata>
diff --git a/media-sound/mixxx/mixxx-1.11.0.ebuild b/media-sound/mixxx/mixxx-1.11.0.ebuild
new file mode 100644
index 000000000000..d565077c0aff
--- /dev/null
+++ b/media-sound/mixxx/mixxx-1.11.0.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/mixxx/mixxx-1.11.0.ebuild,v 1.1 2014/12/11 04:21:00 radhermit Exp $
+
+EAPI=5
+
+inherit eutils multilib scons-utils toolchain-funcs
+
+DESCRIPTION="A Qt based Digital DJ tool"
+HOMEPAGE="http://mixxx.sourceforge.net"
+SRC_URI="http://downloads.mixxx.org/${P}/${P}-src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="aac debug doc hid mp3 mp4 pulseaudio shout vamp wavpack"
+
+RDEPEND="
+ dev-libs/protobuf:=
+ dev-libs/libusb:1
+ >=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/taglib
+ virtual/glu
+ virtual/opengl
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4
+ dev-qt/qtopengl:4
+ dev-qt/qtscript:4
+ dev-qt/qtsql: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 )
+ vamp? ( media-libs/vamp-plugin-sdk )
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-1.10.0-cflags.patch
+ epatch "${FILESDIR}"/${P}-system-libs.patch
+ EPATCH_OPTS="-l" epatch "${FILESDIR}"/${PN}-1.10.0-docs.patch
+ epatch "${FILESDIR}"/${P}-no-bzr.patch
+
+ # use multilib compatible directory for plugins
+ sed -i "/unix_lib_path =/s/'lib'/'$(get_libdir)'/" src/SConscript || die
+
+ # alter startup command when pulseaudio support is disabled
+ if ! use pulseaudio ; then
+ sed -i '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)
+ $(use_scons vamp)
+ )
+}
+
+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_root="${ED}"/usr install
+
+ dodoc README Mixxx-Manual.pdf
+}