diff options
author | acm <acm@FreeBSD.org> | 2018-04-24 11:53:29 +0800 |
---|---|---|
committer | acm <acm@FreeBSD.org> | 2018-04-24 11:53:29 +0800 |
commit | 4c1a5c1a6f3d7ed3df13ea441acdb1cd54907b77 (patch) | |
tree | dafb7c203487cc5792578c0d61a8f0970f394eb9 | |
parent | 5b32b47903001a3fc4f8ec85ece47187e688d042 (diff) | |
download | freebsd-ports-gnome-4c1a5c1a6f3d7ed3df13ea441acdb1cd54907b77.tar.gz freebsd-ports-gnome-4c1a5c1a6f3d7ed3df13ea441acdb1cd54907b77.tar.zst freebsd-ports-gnome-4c1a5c1a6f3d7ed3df13ea441acdb1cd54907b77.zip |
- 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
-rw-r--r-- | audio/Makefile | 1 | ||||
-rw-r--r-- | audio/mixxx/Makefile | 2 | ||||
-rw-r--r-- | audio/mixxx20/Makefile | 102 | ||||
-rw-r--r-- | audio/mixxx20/distinfo | 3 | ||||
-rw-r--r-- | audio/mixxx20/files/patch-build_depends.py | 64 | ||||
-rw-r--r-- | audio/mixxx20/files/patch-build_features.py | 60 | ||||
-rw-r--r-- | audio/mixxx20/files/patch-build_mixxx.py | 14 | ||||
-rw-r--r-- | audio/mixxx20/files/patch-lib_hidapi-0.8.0-rc1_libusb_hid.c | 11 | ||||
-rw-r--r-- | audio/mixxx20/files/patch-src-encoder_encodermp3.cpp | 11 | ||||
-rw-r--r-- | audio/mixxx20/files/patch-src_controllers_controllermanager.cpp | 12 | ||||
-rw-r--r-- | audio/mixxx20/files/patch-src_controllers_controllerpresetfilehandler.cpp | 14 | ||||
-rw-r--r-- | audio/mixxx20/files/patch-src_musicbrainz_chromaprinter.cpp | 17 | ||||
-rw-r--r-- | audio/mixxx20/files/patch-src_upgrade.cpp | 11 | ||||
-rw-r--r-- | audio/mixxx20/pkg-descr | 5 | ||||
-rw-r--r-- | audio/mixxx20/pkg-plist | 8 |
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 |