summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Alonso Cardenas Marquez <acm@FreeBSD.org>2018-04-24 03:53:29 +0000
committerJose Alonso Cardenas Marquez <acm@FreeBSD.org>2018-04-24 03:53:29 +0000
commit8a30e1b2d026e212a94a4cddbdb77e4b01612b69 (patch)
treedafb7c203487cc5792578c0d61a8f0970f394eb9
parentdatabases/arangodb32: Update 3.2.10 -> 3.2.13 (diff)
- Copy audio/mixxx to audio/mixxx20
- audio/mixxx is marked like IGNORE. It will be updated to lastest version but ports with FLAVOR feature needs portmgr approval
Notes
Notes: svn path=/head/; revision=468174
-rw-r--r--audio/Makefile1
-rw-r--r--audio/mixxx/Makefile2
-rw-r--r--audio/mixxx20/Makefile102
-rw-r--r--audio/mixxx20/distinfo3
-rw-r--r--audio/mixxx20/files/patch-build_depends.py64
-rw-r--r--audio/mixxx20/files/patch-build_features.py60
-rw-r--r--audio/mixxx20/files/patch-build_mixxx.py14
-rw-r--r--audio/mixxx20/files/patch-lib_hidapi-0.8.0-rc1_libusb_hid.c11
-rw-r--r--audio/mixxx20/files/patch-src-encoder_encodermp3.cpp11
-rw-r--r--audio/mixxx20/files/patch-src_controllers_controllermanager.cpp12
-rw-r--r--audio/mixxx20/files/patch-src_controllers_controllerpresetfilehandler.cpp14
-rw-r--r--audio/mixxx20/files/patch-src_musicbrainz_chromaprinter.cpp17
-rw-r--r--audio/mixxx20/files/patch-src_upgrade.cpp11
-rw-r--r--audio/mixxx20/pkg-descr5
-rw-r--r--audio/mixxx20/pkg-plist8
15 files changed, 335 insertions, 0 deletions
diff --git a/audio/Makefile b/audio/Makefile
index 877d6a63d42b..94b5a5c93cb8 100644
--- a/audio/Makefile
+++ b/audio/Makefile
@@ -515,6 +515,7 @@
SUBDIR += minitunes
SUBDIR += mixer.app
SUBDIR += mixmos
+ SUBDIR += mixxx20
SUBDIR += mixxx
SUBDIR += mma
SUBDIR += moc
diff --git a/audio/mixxx/Makefile b/audio/mixxx/Makefile
index a02ae9b807a5..d186476b21ef 100644
--- a/audio/mixxx/Makefile
+++ b/audio/mixxx/Makefile
@@ -14,6 +14,8 @@ COMMENT= DJ mixing application
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/LICENSE
+IGNORE= it will be updated to mixxx 2.1.0. FLAVOR needs portmgr approval
+
LIB_DEPENDS= libchromaprint.so:audio/chromaprint \
libFLAC.so:audio/flac \
libid3tag.so:audio/libid3tag \
diff --git a/audio/mixxx20/Makefile b/audio/mixxx20/Makefile
new file mode 100644
index 000000000000..c4a16b3fddab
--- /dev/null
+++ b/audio/mixxx20/Makefile
@@ -0,0 +1,102 @@
+# $FreeBSD$
+
+PORTNAME= mixxx
+PORTVERSION= 2.0.0
+DISTVERSIONSUFFIX= -src
+PORTREVISION= 6
+CATEGORIES= audio
+MASTER_SITES= http://downloads.mixxx.org/${PORTNAME}-${PORTVERSION}/
+PKGNAMESUFFIX= 20
+
+MAINTAINER= acm@FreeBSD.org
+COMMENT= DJ mixing application
+
+LICENSE= GPLv2+
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libchromaprint.so:audio/chromaprint \
+ libFLAC.so:audio/flac \
+ libid3tag.so:audio/libid3tag \
+ libmad.so:audio/libmad \
+ libportaudio.so:audio/portaudio \
+ librubberband.so:audio/rubberband \
+ libsndfile.so:audio/libsndfile \
+ libvamp-sdk.so:audio/vamp-plugin-sdk \
+ libvorbisfile.so:audio/libvorbis \
+ libtag.so:audio/taglib \
+ libprotobuf.so:devel/protobuf
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+
+BROKEN_aarch64= fails to compile: Exception("invalid machine type")
+BROKEN_powerpc64= fails to configure: unmet dependencies: Could not find libprotobuf, libchromaprint, libmp4, and libwavpack
+
+USES= scons iconv pkgconfig
+USE_QT4= corelib gui network opengl script scripttools sql sql-sqlite3 \
+ svg testlib xml xmlpatterns linguisttools_build moc_build \
+ qmake_build rcc_build uic_build
+USE_GL= gl glu
+MAKE_ARGS= qtdir="${PREFIX}" install_root="${PREFIX}" \
+ build=release optimize=native
+LATE_INSTALL_ARGS= --install-sandbox=${STAGEDIR}
+
+PORTDATA= *
+PORTDOCS= *
+
+OPTIONS_DEFINE= DOCS FAAD GPERFTOOLS HID LAME OPUS SHOUTCAST WAVPACK
+OPTIONS_DEFAULT= FAAD HID SHOUTCAST OPUS WAVPACK
+OPTIONS_SUB= yes
+
+FAAD_LIB_DEPENDS= libfaad.so:audio/faad \
+ libmp4v2.so:multimedia/mp4v2
+FAAD_MAKE_ARGS= faad=1
+FAAD_MAKE_ARGS_OFF= faad=0
+GPERFTOOLS_LIB_DEPENDS= libtcmalloc.so:devel/google-perftools
+GPERFTOOLS_MAKE_ARGS= perftools=1
+GPERFTOOLS_MAKE_ARGS_OFF= perftools=0
+HID_DESC= USB HID controllers support
+HID_MAKE_ARGS= hid=1
+HID_MAKE_ARGS_OFF= hid=0
+LAME_RUN_DEPENDS= lame:audio/lame
+OPUS_LIB_DEPENDS= libopus.so:audio/opus \
+ libopusfile.so:audio/opusfile
+OPUS_MAKE_ARGS= opus=1
+OPUS_MAKE_ARGS_OFF= opus=0
+SHOUTCAST_LIB_DEPENDS= libshout.so:audio/libshout
+SHOUTCAST_MAKE_ARGS= shoutcast=1
+SHOUTCAST_MAKE_ARGS_OFF= shoutcast=0
+WAVPACK_LIB_DEPENDS= libwavpack.so:audio/wavpack
+WAVPACK_MAKE_ARGS= wv=1
+WAVPACK_MAKE_ARGS_OFF= wv=0
+
+post-patch:
+ @${REINPLACE_CMD} -e "s|%%LOCALBASE%%|${LOCALBASE}|g ; \
+ s|%%PREFIX%%|${PREFIX}|g" \
+ ${WRKSRC}/build/depends.py
+ @${REINPLACE_CMD} -e "s|bzr |true |g" \
+ ${WRKSRC}/build/util.py
+ @${REINPLACE_CMD} -e "/('install', docs)/d" \
+ ${WRKSRC}/src/SConscript
+ @${REINPLACE_CMD} -e "s|^Exec=.*|Exec=mixxx| ; \
+ s|^Icon=.*|Icon=${PREFIX}/share/pixmaps/mixxx-icon.png|" \
+ ${WRKSRC}/res/linux/mixxx.desktop
+.for i in midi/midimessage.h qtscript-bytearray/bytearrayclass.h
+ @${ECHO_CMD} >> ${WRKSRC}/src/controllers/${i}
+.endfor
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/mixxx
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/mixxx/plugins/*/*.so
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/mixxx/plugins/soundsource
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+.for i in Mixxx-Manual.pdf README README.md
+ (cd ${WRKSRC} && ${INSTALL_DATA} ${i} \
+ ${STAGEDIR}${DOCSDIR})
+.endfor
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}/doc/HID
+.for i in *.odt *.pdf
+ (cd ${WRKSRC}/doc/HID && ${INSTALL_DATA} ${i} \
+ ${STAGEDIR}${DOCSDIR}/doc/HID)
+.endfor
+
+.include <bsd.port.mk>
diff --git a/audio/mixxx20/distinfo b/audio/mixxx20/distinfo
new file mode 100644
index 000000000000..6a36aee32e09
--- /dev/null
+++ b/audio/mixxx20/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1483555438
+SHA256 (mixxx-2.0.0-src.tar.gz) = e1b8f33bba35046608578095ed3209967034579252d84c99e6bc03ec030f676d
+SIZE (mixxx-2.0.0-src.tar.gz) = 25300881
diff --git a/audio/mixxx20/files/patch-build_depends.py b/audio/mixxx20/files/patch-build_depends.py
new file mode 100644
index 000000000000..f9a758010299
--- /dev/null
+++ b/audio/mixxx20/files/patch-build_depends.py
@@ -0,0 +1,64 @@
+--- build/depends.py.orig 2015-12-29 16:10:41 UTC
++++ build/depends.py
+@@ -262,7 +262,7 @@ class Qt(Dependence):
+
+ elif build.platform_is_bsd:
+ build.env.Append(LIBS=qt_modules)
+- include_paths = ['$QTDIR/include/%s' % module
++ include_paths = ['%%LOCALBASE%%/include/qt4/%s' % module
+ for module in qt_modules]
+ build.env.Append(CPPPATH=include_paths)
+ elif build.platform_is_osx:
+@@ -358,7 +358,7 @@ class Qt(Dependence):
+ if not build.platform_is_windows and not (using_104_sdk or compiling_on_104):
+ qtdir = build.env['QTDIR']
+ framework_path = Qt.find_framework_libdir(qtdir, qt5)
+- if os.path.isdir(framework_path):
++ if framework_path and os.path.isdir(framework_path):
+ build.env.Append(LINKFLAGS="-Wl,-rpath," + framework_path)
+ build.env.Append(LINKFLAGS="-L" + framework_path)
+
+@@ -1045,7 +1045,6 @@ class MixxxCore(Feature):
+
+ if build.toolchain_is_gnu:
+ # Default GNU Options
+- build.env.Append(CCFLAGS='-pipe')
+ build.env.Append(CCFLAGS='-Wall')
+ build.env.Append(CCFLAGS='-Wextra')
+
+@@ -1146,11 +1145,13 @@ class MixxxCore(Feature):
+
+ elif build.platform_is_bsd:
+ build.env.Append(CPPDEFINES='__BSD__')
+- build.env.Append(CPPPATH=['/usr/include',
+- '/usr/local/include',
++ build.env.Append(CPPPATH=['%%LOCALBASE%%/include/portaudio2',
++ '%%LOCALBASE%%/include/qt4',
++ '%%LOCALBASE%%/include',
+ '/usr/X11R6/include/'])
+- build.env.Append(LIBPATH=['/usr/lib/',
+- '/usr/local/lib',
++ build.env.Append(LIBPATH=['%%LOCALBASE%%/lib/portaudio2',
++ '%%LOCALBASE%%/lib/qt4',
++ '%%LOCALBASE%%/lib',
+ '/usr/X11R6/lib'])
+ build.env.Append(LIBS='pthread')
+ # why do we need to do this on OpenBSD and not on Linux? if we
+@@ -1188,7 +1189,7 @@ class MixxxCore(Feature):
+ # Say where to find resources on Unix. TODO(XXX) replace this with a
+ # RESOURCE_PATH that covers Win and OSX too:
+ if build.platform_is_linux or build.platform_is_bsd:
+- prefix = SCons.ARGUMENTS.get('prefix', '/usr/local')
++ prefix = SCons.ARGUMENTS.get('prefix', '%%PREFIX%%')
+ share_path = os.path.join (prefix, build.env.get(
+ 'SHAREDIR', default='share'), 'mixxx')
+ build.env.Append(
+@@ -1199,7 +1200,7 @@ class MixxxCore(Feature):
+ CPPDEFINES=('UNIX_LIB_PATH', r'\"%s\"' % lib_path))
+
+ def depends(self, build):
+- return [SoundTouch, ReplayGain, PortAudio, PortMIDI, Qt, TestHeaders,
++ return [SoundTouch, ReplayGain, PortAudio, Qt, TestHeaders,
+ FidLib, SndFile, FLAC, OggVorbis, OpenGL, TagLib, ProtoBuf,
+ Chromaprint, RubberBand, SecurityFramework, CoreServices, FpClassify]
+
diff --git a/audio/mixxx20/files/patch-build_features.py b/audio/mixxx20/files/patch-build_features.py
new file mode 100644
index 000000000000..3f0f038449c1
--- /dev/null
+++ b/audio/mixxx20/files/patch-build_features.py
@@ -0,0 +1,60 @@
+--- build/features.py.orig 2015-12-29 16:10:41 UTC
++++ build/features.py
+@@ -87,6 +87,9 @@ class HID(Feature):
+ raise Exception('Did not find the setupapi library, exiting.')
+ elif build.platform_is_osx:
+ build.env.AppendUnique(FRAMEWORKS=['IOKit', 'CoreFoundation'])
++ elif build.platform_is_bsd:
++ conf.CheckLib(['usb', 'libusb'])
++ conf.CheckLib(['usbhid', 'libusbhid'])
+
+ build.env.Append(CPPDEFINES='__HID__')
+
+@@ -100,7 +103,7 @@ class HID(Feature):
+ # setupapi.
+ sources.append(
+ os.path.join(self.HIDAPI_INTERNAL_PATH, "windows/hid.c"))
+- elif build.platform_is_linux:
++ elif build.platform_is_linux or build.platform_is_bsd:
+ # hidapi compiles the libusb implementation by default on Linux
+ sources.append(
+ os.path.join(self.HIDAPI_INTERNAL_PATH, 'libusb/hid.c'))
+@@ -117,14 +120,14 @@ class Bulk(Feature):
+ def enabled(self, build):
+ # For now only make Bulk default on Linux only. Turn on for all
+ # platforms after the 1.11.0 release.
+- is_default = 1 if build.platform_is_linux else 0
++ is_default = 1 if build.platform_is_linux or build.platform_is_bsd else 0
+ build.flags['bulk'] = util.get_flags(build.env, 'bulk', is_default)
+ if int(build.flags['bulk']):
+ return True
+ return False
+
+ def add_options(self, build, vars):
+- is_default = 1 if build.platform_is_linux else 0
++ is_default = 1 if build.platform_is_linux or build.platform_is_bsd else 0
+ vars.Add('bulk',
+ 'Set to 1 to enable USB Bulk controller support.', is_default)
+
+@@ -132,12 +135,15 @@ class Bulk(Feature):
+ if not self.enabled(build):
+ return
+
+- build.env.ParseConfig(
+- 'pkg-config libusb-1.0 --silence-errors --cflags --libs')
+- if (not conf.CheckLib(['libusb-1.0', 'usb-1.0']) or
+- not conf.CheckHeader('libusb-1.0/libusb.h')):
+- raise Exception(
+- 'Did not find the libusb 1.0 development library or its header file, exiting!')
++ if build.platform_is_linux:
++ build.env.ParseConfig(
++ 'pkg-config libusb-1.0 --silence-errors --cflags --libs')
++ if (not conf.CheckLib(['libusb-1.0', 'usb-1.0']) or
++ not conf.CheckHeader('libusb-1.0/libusb.h')):
++ raise Exception(
++ 'Did not find the libusb 1.0 development library or its header file, exiting!')
++ elif build.platform_is_bsd:
++ conf.CheckLib(['usb', 'libusb'])
+
+ build.env.Append(CPPDEFINES='__BULK__')
+
diff --git a/audio/mixxx20/files/patch-build_mixxx.py b/audio/mixxx20/files/patch-build_mixxx.py
new file mode 100644
index 000000000000..15bb70d2a829
--- /dev/null
+++ b/audio/mixxx20/files/patch-build_mixxx.py
@@ -0,0 +1,14 @@
+--- build/mixxx.py.orig 2015-12-29 16:10:41 UTC
++++ build/mixxx.py
+@@ -380,9 +380,9 @@ class MixxxBuild(object):
+ self.env['LINKFLAGS'] += SCons.Util.CLVar(os.environ['LDFLAGS'])
+
+ # Allow installation directories to be specified.
+- prefix = Script.ARGUMENTS.get('prefix', '/usr/local')
++ prefix = Script.ARGUMENTS.get('prefix', '%%PREFIX%%')
+ if os.environ.has_key('LIBDIR'):
+- self.env['LIBDIR'] = os.path.relpath(os.environ['LIBDIR'], prefix)
++ self.env['LIBDIR'] = 'lib' # os.path.relpath(os.environ['LIBDIR'], prefix)
+ if os.environ.has_key('BINDIR'):
+ self.env['BINDIR'] = os.path.relpath(os.environ['BINDIR'], prefix)
+ if os.environ.has_key('SHAREDIR'):
diff --git a/audio/mixxx20/files/patch-lib_hidapi-0.8.0-rc1_libusb_hid.c b/audio/mixxx20/files/patch-lib_hidapi-0.8.0-rc1_libusb_hid.c
new file mode 100644
index 000000000000..262647d3ea6f
--- /dev/null
+++ b/audio/mixxx20/files/patch-lib_hidapi-0.8.0-rc1_libusb_hid.c
@@ -0,0 +1,11 @@
+--- lib/hidapi-0.8.0-rc1/libusb/hid.c.orig 2015-12-29 16:10:41 UTC
++++ lib/hidapi-0.8.0-rc1/libusb/hid.c
+@@ -258,7 +258,7 @@ static int get_usage(uint8_t *report_des
+ Note that the data parameter is Unicode in UTF-16LE encoding.
+ Return value is the number of bytes in data, or LIBUSB_ERROR_*.
+ */
+-static inline int libusb_get_string_descriptor(libusb_device_handle *dev,
++inline int libusb_get_string_descriptor(libusb_device_handle *dev,
+ uint8_t descriptor_index, uint16_t lang_id,
+ unsigned char *data, int length)
+ {
diff --git a/audio/mixxx20/files/patch-src-encoder_encodermp3.cpp b/audio/mixxx20/files/patch-src-encoder_encodermp3.cpp
new file mode 100644
index 000000000000..67914779e1c1
--- /dev/null
+++ b/audio/mixxx20/files/patch-src-encoder_encodermp3.cpp
@@ -0,0 +1,11 @@
+--- src/encoder/encodermp3.cpp 2017-09-24 22:09:28.258505000 -0500
++++ src/encoder/encodermp3.cpp 2017-09-24 22:12:09.197474000 -0500
+@@ -76,7 +76,7 @@
+ */
+ QStringList libnames;
+ QString libname = "";
+-#ifdef __LINUX__
++#if defined(__LINUX__) || defined(__FreeBSD__)
+ libnames << "mp3lame";
+ #elif __WINDOWS__
+ libnames << "lame_enc.dll";
diff --git a/audio/mixxx20/files/patch-src_controllers_controllermanager.cpp b/audio/mixxx20/files/patch-src_controllers_controllermanager.cpp
new file mode 100644
index 000000000000..d83e88ba17b8
--- /dev/null
+++ b/audio/mixxx20/files/patch-src_controllers_controllermanager.cpp
@@ -0,0 +1,12 @@
+--- src/controllers/controllermanager.cpp.orig 2015-12-29 16:10:41 UTC
++++ src/controllers/controllermanager.cpp
+@@ -83,7 +83,9 @@ ControllerManager::ControllerManager(Con
+ m_pMainThreadPresetEnumerator = new PresetInfoEnumerator(presetSearchPaths);
+
+ // Instantiate all enumerators
++#ifdef __PORTMIDI__
+ m_enumerators.append(new PortMidiEnumerator());
++#endif
+ #ifdef __HSS1394__
+ m_enumerators.append(new Hss1394Enumerator());
+ #endif
diff --git a/audio/mixxx20/files/patch-src_controllers_controllerpresetfilehandler.cpp b/audio/mixxx20/files/patch-src_controllers_controllerpresetfilehandler.cpp
new file mode 100644
index 000000000000..464b33c32d4b
--- /dev/null
+++ b/audio/mixxx20/files/patch-src_controllers_controllerpresetfilehandler.cpp
@@ -0,0 +1,14 @@
+--- src/controllers/controllerpresetfilehandler.cpp.orig 2015-12-29 16:10:41 UTC
++++ src/controllers/controllerpresetfilehandler.cpp
+@@ -43,7 +43,11 @@ ControllerPresetPointer ControllerPreset
+ pHandler = new MidiControllerPresetFileHandler();
+ } else if (scriptPath.endsWith(HID_PRESET_EXTENSION, Qt::CaseInsensitive) ||
+ scriptPath.endsWith(BULK_PRESET_EXTENSION, Qt::CaseInsensitive)) {
++#if __HID__
+ pHandler = new HidControllerPresetFileHandler();
++#else
++ return ControllerPresetPointer();
++#endif
+ }
+
+ if (pHandler == NULL) {
diff --git a/audio/mixxx20/files/patch-src_musicbrainz_chromaprinter.cpp b/audio/mixxx20/files/patch-src_musicbrainz_chromaprinter.cpp
new file mode 100644
index 000000000000..f8bb7f198703
--- /dev/null
+++ b/audio/mixxx20/files/patch-src_musicbrainz_chromaprinter.cpp
@@ -0,0 +1,17 @@
+--- src/musicbrainz/chromaprinter.cpp.orig 2015-12-29 16:10:41 UTC
++++ src/musicbrainz/chromaprinter.cpp
+@@ -57,12 +57,12 @@ QString ChromaPrinter::calcFingerPrint(c
+ }
+ chromaprint_finish(ctx);
+
+- void* fprint = NULL;
++ unsigned int* fprint = NULL;
+ int size = 0;
+ int ret = chromaprint_get_raw_fingerprint(ctx, &fprint, &size);
+ QByteArray fingerprint;
+ if (ret == 1) {
+- void* encoded = NULL;
++ char* encoded = NULL;
+ int encoded_size = 0;
+ chromaprint_encode_fingerprint(fprint, size,
+ CHROMAPRINT_ALGORITHM_DEFAULT,
diff --git a/audio/mixxx20/files/patch-src_upgrade.cpp b/audio/mixxx20/files/patch-src_upgrade.cpp
new file mode 100644
index 000000000000..76525df942bc
--- /dev/null
+++ b/audio/mixxx20/files/patch-src_upgrade.cpp
@@ -0,0 +1,11 @@
+--- src/upgrade.cpp.orig 2015-12-29 16:10:41 UTC
++++ src/upgrade.cpp
+@@ -43,7 +43,7 @@ Upgrade::~Upgrade() {
+
+ // static
+ QString Upgrade::mixxx17HomePath() {
+-#ifdef __LINUX__
++#if defined(__LINUX__) || defined(__BSD__)
+ return QDir::homePath().append("/").append(".mixxx/");
+ #elif __WINDOWS__
+ return QDir::homePath().append("/").append("Local Settings/Application Data/Mixxx/");
diff --git a/audio/mixxx20/pkg-descr b/audio/mixxx20/pkg-descr
new file mode 100644
index 000000000000..ae834ad9daee
--- /dev/null
+++ b/audio/mixxx20/pkg-descr
@@ -0,0 +1,5 @@
+Mixxx is software for DJ'ing. You can use wave based audio files, Ogg Vorbis
+and MP3 files as audio input. Mixxx can be controlled through the GUI and
+with external controllers including MIDI devices, joysticks, and more.
+
+WWW: http://www.mixxx.org/
diff --git a/audio/mixxx20/pkg-plist b/audio/mixxx20/pkg-plist
new file mode 100644
index 000000000000..053fec2033cc
--- /dev/null
+++ b/audio/mixxx20/pkg-plist
@@ -0,0 +1,8 @@
+bin/mixxx
+%%FAAD%%lib/mixxx/plugins/soundsource/libsoundsourcem4a.so
+%%WAVPACK%%lib/mixxx/plugins/soundsource/libsoundsourcewv.so
+lib/mixxx/plugins/vamp/libmixxxminimal.so
+share/appdata/mixxx.appdata.xml
+share/applications/mixxx.desktop
+share/pixmaps/mixxx-icon.png
+@dir lib/mixxx/plugins/soundsource