diff --git a/audio/Makefile b/audio/Makefile index 49276f145864..194d4a836976 100644 --- a/audio/Makefile +++ b/audio/Makefile @@ -482,6 +482,7 @@ SUBDIR += mixer.app SUBDIR += mixertui SUBDIR += mixxx + SUBDIR += mixxx22 SUBDIR += mkcue SUBDIR += moc SUBDIR += modplug-tools diff --git a/audio/mixxx22/Makefile b/audio/mixxx22/Makefile new file mode 100644 index 000000000000..539a9fcc9920 --- /dev/null +++ b/audio/mixxx22/Makefile @@ -0,0 +1,116 @@ +# Created by: Jean-Yves Lefort + +PORTNAME= mixxx +DISTVERSIONPREFIX= release- +DISTVERSION= 2.2.4 +PORTREVISION= 5 +CATEGORIES= audio +PKGNAMESUFFIX?= 22 + +MAINTAINER= acm@FreeBSD.org +COMMENT= DJ mixing application (previous version) + +LICENSE= GPLv2+ +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= lv2>=1.14.0:audio/lv2 +LIB_DEPENDS= libchromaprint.so:audio/chromaprint \ + libFLAC.so:audio/flac \ + libfftw3.so:math/fftw3 \ + libhidapi.so:comms/hidapi \ + libid3tag.so:audio/libid3tag \ + libmad.so:audio/libmad \ + libmodplug.so:audio/libmodplug \ + libportaudio.so:audio/portaudio \ + libSoundTouch.so:audio/soundtouch \ + libebur128.so:audio/libebur128 \ + librubberband.so:audio/rubberband \ + libsndfile.so:audio/libsndfile \ + libvamp-sdk.so:audio/vamp-plugin-sdk \ + libogg.so:audio/libogg \ + libvorbisfile.so:audio/libvorbis \ + libtag.so:audio/taglib \ + libprotobuf.so:devel/protobuf \ + liblilv-0.so:audio/lilv + +USES= compiler:c++11-lang gl iconv qt:5 pkgconfig scons xorg +USE_XORG= x11 +USE_GL= gl glu +USE_GITHUB= yes +GH_ACCOUNT= mixxxdj +USE_QT= buildtools concurrent core dbus gui network opengl script scripttools \ + sql sql-sqlite3 svg testlib xml xmlpatterns linguisttools_build \ + qmake_build widgets + +CONFLICTS= mixxx-* + +MAKE_ARGS= qtdir="${PREFIX}" install_root="${PREFIX}" \ + build=release optimize=off ${GUI} battery=0 vamp=1 modplug=1 mad=1 +LATE_INSTALL_ARGS= --install-sandbox=${STAGEDIR} + +GUI= qt5=1 + +PORTDATA= * +PORTDOCS= * + +OPTIONS_DEFINE= DOCS FAAD FFMPEG GPERFTOOLS HID LAME OPUS SHOUTCAST WAVPACK +OPTIONS_DEFAULT= FAAD FFMPEG 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 +FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg +FFMPEG_MAKE_ARGS= ffmpeg=1 +FFMPEG_MAKE_ARGS_OFF= ffmpeg=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.svg|" \ + ${WRKSRC}/res/linux/mixxx.desktop + @${REINPLACE_CMD} -e "s,(Q_OS_LINUX),(Q_OS_LINUX) || defined(Q_OS_FREEBSD),g" \ + ${WRKSRC}/src/util/screensaver.h +.for i in midi/midimessage.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} + cd ${WRKSRC} && ${INSTALL_DATA} Mixxx-Manual.pdf \ + ${STAGEDIR}${DOCSDIR} + @${FIND} ${STAGEDIR}${PREFIX}/lib/mixxx/plugins/soundsource -type d -empty -delete + +.include diff --git a/audio/mixxx22/distinfo b/audio/mixxx22/distinfo new file mode 100644 index 000000000000..749dc9dd281a --- /dev/null +++ b/audio/mixxx22/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1593383731 +SHA256 (mixxxdj-mixxx-release-2.2.4_GH0.tar.gz) = 9372b43d5ec882845b4fe2350ef50dabb3f1e0cc029f182b0ed8aa4f4f3b2afa +SIZE (mixxxdj-mixxx-release-2.2.4_GH0.tar.gz) = 35480450 diff --git a/audio/mixxx22/files/patch-build_depends.py b/audio/mixxx22/files/patch-build_depends.py new file mode 100644 index 000000000000..4d0da8778a3d --- /dev/null +++ b/audio/mixxx22/files/patch-build_depends.py @@ -0,0 +1,159 @@ +--- build/depends.py 2018-12-24 01:37:23.000000000 -0500 ++++ build/depends.py 2018-12-26 22:17:54.336049000 -0500 +@@ -12,7 +12,7 @@ + if not conf.CheckLib('portaudio'): + raise Exception( + 'Did not find libportaudio.a, portaudio.lib, or the PortAudio-v19 development header files.') +- elif build.platform_is_linux: ++ elif build.platform_is_linux or build.platform_is_bsd: + build.env.ParseConfig('pkg-config portaudio-2.0 --silence-errors --cflags --libs') + + # Turn on PortAudio support in Mixxx +@@ -74,7 +74,8 @@ + + if (not conf.CheckLib('GLU') and + not conf.CheckLib('glu32') and +- not conf.CheckCHeader('OpenGL/glu.h')): ++ not conf.CheckCHeader('OpenGL/glu.h') and ++ not conf.CheckCHeader('GL/glu.h')): + raise Exception('Did not find GLU development files') + + +@@ -106,7 +107,7 @@ + class UPower(Dependence): + """UPower is used to get battery measurements on Linux.""" + def configure(self, build, conf): +- if not build.platform_is_linux: ++ if not build.platform_is_linux or not build.platform_is_bsd: + return + build.env.ParseConfig( + 'pkg-config upower-glib --silence-errors --cflags --libs') +@@ -185,15 +186,17 @@ + + class Qt(Dependence): + DEFAULT_QT4DIRS = {'linux': '/usr/share/qt4', +- 'bsd': '/usr/local/lib/qt4', ++ 'bsd': '%%LOCALBASE%%/share/qt4', + 'osx': '/Library/Frameworks', + 'windows': 'C:\\qt\\4.6.0'} + + DEFAULT_QT5DIRS64 = {'linux': '/usr/lib/x86_64-linux-gnu/qt5', ++ 'bsd': '%%LOCALBASE%%/lib/qt5', + 'osx': '/Library/Frameworks', + 'windows': 'C:\\qt\\5.11.1'} + + DEFAULT_QT5DIRS32 = {'linux': '/usr/lib/i386-linux-gnu/qt5', ++ 'bsd': '%%LOCALBASE%%/lib/qt5', + 'osx': '/Library/Frameworks', + 'windows': 'C:\\qt\\5.11.1'} + +@@ -324,9 +327,17 @@ + build.env.Append(CCFLAGS='-fPIC') + + elif build.platform_is_bsd: +- build.env.Append(LIBS=qt_modules) +- include_paths = ['$QTDIR/include/%s' % module +- for module in qt_modules] ++ qt_modules.extend(['QtDBus']) ++ if qt5: ++ qt5_modules = [w.replace('Qt', 'Qt5') for w in qt_modules] ++ build.env.Append(LIBS = qt5_modules) ++ build.env.Append(CCFLAGS='-fPIC') ++ include_paths = ['%%LOCALBASE%%/include/qt5/%s' % module ++ for module in qt_modules] ++ else: ++ build.env.Append(LIBS = qt_modules) ++ include_paths = ['%%LOCALBASE%%/include/qt4/%s' % module ++ for module in qt_modules] + build.env.Append(CPPPATH=include_paths) + elif build.platform_is_osx: + qtdir = build.env['QTDIR'] +@@ -492,7 +503,7 @@ + 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="-L" + framework_path) + + # Mixxx requires C++11 support. Windows enables C++11 features by +@@ -586,7 +597,7 @@ + if env is None: + env = build.env + +- if build.platform_is_linux: ++ if build.platform_is_linux or build.platform_is_bsd: + # Try using system lib + if conf.CheckForPKG('soundtouch', '2.0.0'): + # System Lib found +@@ -630,7 +641,7 @@ + # the files correctly. Adding this folder to the include path should fix + # it, though might cause issues. This is safe to remove once we + # deprecate Karmic support. rryan 2/2011 +- build.env.Append(CPPPATH='/usr/include/taglib/') ++ build.env.Append(CPPPATH='%%LOCALBASE%%/include/taglib/') + + if build.platform_is_windows and build.static_dependencies: + build.env.Append(CPPDEFINES='TAGLIB_STATIC') +@@ -1343,7 +1354,6 @@ + + if build.toolchain_is_gnu: + # Default GNU Options +- build.env.Append(CCFLAGS='-pipe') + build.env.Append(CCFLAGS='-Wall') + if build.compiler_is_clang: + # Quiet down Clang warnings about inconsistent use of override +@@ -1472,17 +1482,24 @@ + build.env.Append(CPPPATH=['/opt/local/include']) + + elif build.platform_is_bsd: ++ qt5 = Qt.qt5_enabled(build) ++ ++ if qt5: ++ qtdirectory = 'qt5' ++ else: ++ qtdirectory = 'qt4' ++ + build.env.Append(CPPDEFINES='__BSD__') + build.env.Append(CPPPATH=['/usr/include', +- '/usr/local/include', +- '/usr/X11R6/include/']) ++ '%%LOCALBASE%%/include', ++ '%%LOCALBASE%%/include/'+ qtdirectory]) + build.env.Append(LIBPATH=['/usr/lib/', +- '/usr/local/lib', +- '/usr/X11R6/lib']) ++ '%%LOCALBASE%%/lib', ++ '%%LOCALBASE%%/lib/'+ qtdirectory]) + build.env.Append(LIBS='pthread') + # why do we need to do this on OpenBSD and not on Linux? if we + # don't then CheckLib("vorbisfile") fails +- build.env.Append(LIBS=['ogg', 'vorbis']) ++ build.env.Append(LIBS=['ogg', 'vorbis','X11']) + + # Define for things that would like to special case UNIX (Linux or BSD) + if build.platform_is_bsd or build.platform_is_linux: +@@ -1515,7 +1532,7 @@ + # 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( +@@ -1526,10 +1543,10 @@ + CPPDEFINES=('UNIX_LIB_PATH', r'\"%s\"' % lib_path)) + + def depends(self, build): +- return [SoundTouch, ReplayGain, Ebur128Mit, PortAudio, PortMIDI, Qt, TestHeaders, +- FidLib, SndFile, FLAC, OggVorbis, OpenGL, TagLib, ProtoBuf, +- Chromaprint, RubberBand, SecurityFramework, CoreServices, Foundation, IOKit, +- QtScriptByteArray, Reverb, FpClassify, PortAudioRingBuffer, OSXFilePathUrlBackport] ++ return [SoundTouch, ReplayGain, Ebur128Mit, PortAudio, Qt, TestHeaders, ++ FidLib, SndFile, FLAC, OggVorbis, OpenGL, TagLib, ProtoBuf, ++ Chromaprint, RubberBand, SecurityFramework, CoreServices, IOKit, ++ QtScriptByteArray, Reverb, FpClassify, PortAudioRingBuffer] + + def post_dependency_check_configure(self, build, conf): + """Sets up additional things in the Environment that must happen diff --git a/audio/mixxx22/files/patch-build_features.py b/audio/mixxx22/files/patch-build_features.py new file mode 100644 index 000000000000..9b2c944f5779 --- /dev/null +++ b/audio/mixxx22/files/patch-build_features.py @@ -0,0 +1,102 @@ +--- build/features.py 2018-10-28 12:33:56.000000000 -0500 ++++ build/features.py 2018-11-06 14:58:04.915561000 -0500 +@@ -105,13 +105,24 @@ + # -pthread tells GCC to do the right thing regardless of system + build.env.Append(CCFLAGS='-pthread') + build.env.Append(LINKFLAGS='-pthread') ++ elif build.platform_is_bsd: ++ build.env.ParseConfig('pkg-config hidapi --silence-errors --cflags --libs') + ++ conf.CheckLib(['pthread', 'libpthread']) ++ conf.CheckLib(['rt', 'librt']) ++ ++ # -pthread tells GCC to do the right thing regardless of system ++ build.env.Append(CCFLAGS='-pthread') ++ build.env.Append(LINKFLAGS='-pthread') + else: + self.INTERNAL_LINK = True + if build.platform_is_windows and not conf.CheckLib(['setupapi', 'libsetupapi']): + 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__') + if self.INTERNAL_LINK: +@@ -129,7 +140,7 @@ + # 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')) +@@ -147,14 +158,14 @@ + 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) + +@@ -162,12 +173,15 @@ + 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__') + +@@ -396,7 +410,7 @@ + # If there is no system vamp-hostsdk is installed or if the version + # of the installed vamp-hostsdk is less than the bundled version, + # then we'll directly link the bundled vamp-hostsdk +- if not conf.CheckLib('vamp-hostsdk') or not conf.CheckForPKG('vamp-plugin-sdk', '2.7.1'): ++ if not conf.CheckLib('vamp-hostsdk') or not conf.CheckForPKG('vamp-sdk', '2.7.1'): + # For header includes + build.env.Append(CPPPATH=[self.INTERNAL_VAMP_PATH]) + self.INTERNAL_LINK = True +@@ -409,7 +423,7 @@ + # 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: ++ if have_fftw3_h and have_fftw3 and (build.platform_is_linux or build.platform_is_bsd) : + build.env.Append(CPPDEFINES='HAVE_FFTW3') + build.env.ParseConfig( + 'pkg-config fftw3 --silence-errors --cflags --libs') +@@ -1295,7 +1309,7 @@ + return ["util/battery/batterywindows.cpp"] + elif build.platform_is_osx: + return ["util/battery/batterymac.cpp"] +- elif build.platform_is_linux: ++ elif build.platform_is_linux or build.platform_is_bsd: + return ["util/battery/batterylinux.cpp"] + else: + raise Exception('Battery support is not implemented for the target platform.') diff --git a/audio/mixxx22/files/patch-build_mixxx.py b/audio/mixxx22/files/patch-build_mixxx.py new file mode 100644 index 000000000000..1ee0a37c9389 --- /dev/null +++ b/audio/mixxx22/files/patch-build_mixxx.py @@ -0,0 +1,27 @@ +--- build/mixxx.py 2018-04-15 13:30:27.000000000 -0500 ++++ build/mixxx.py 2018-04-21 22:31:31.694426000 -0500 +@@ -394,9 +394,9 @@ + 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 'LIBDIR' in os.environ: +- self.env['LIBDIR'] = os.path.relpath(os.environ['LIBDIR'], prefix) ++ self.env['LIBDIR'] = 'lib' # os.path.relpath(os.environ['LIBDIR'], prefix) + if 'BINDIR' in os.environ: + self.env['BINDIR'] = os.path.relpath(os.environ['BINDIR'], prefix) + if 'SHAREDIR' in os.environ: +@@ -429,10 +429,10 @@ + def install_options(self): + cachefile = os.path.join(self.get_cache_dir(), 'custom.py') + vars = Script.Variables(cachefile) +- vars.Add('prefix', 'Set to your install prefix', '/usr/local') ++ vars.Add('prefix', 'Set to your install prefix', '%%PREFIX%%') + vars.Add('virtualize', + 'Dynamically swap out the build directory when switching Git branches.', 1) +- vars.Add('qtdir', 'Set to your QT4 directory', '/usr/share/qt4') ++ vars.Add('qtdir', 'Set to your QT4 directory', '%%LOCALBASE%%/share/qt4') + vars.Add('qt_sqlite_plugin', 'Set to 1 to package the Qt SQLite plugin.' + '\n Set to 0 if SQLite support is compiled into QtSQL.', 0) + vars.Add('target', diff --git a/audio/mixxx22/files/patch-build_qt5.py b/audio/mixxx22/files/patch-build_qt5.py new file mode 100644 index 000000000000..d0927978bcd7 --- /dev/null +++ b/audio/mixxx22/files/patch-build_qt5.py @@ -0,0 +1,11 @@ +--- build/qt5.py.orig 2020-05-15 21:26:10 UTC ++++ build/qt5.py +@@ -43,7 +43,7 @@ import SCons.Scanner + import SCons.Tool + import SCons.Util + +-class ToolQt5Warning(SCons.Warnings.Warning): ++class ToolQt5Warning(SCons.Warnings.SConsWarning): + pass + + class GeneratedMocFileNotIncluded(ToolQt5Warning): diff --git a/audio/mixxx22/files/patch-lib_hidapi-0.8.0-rc1_libusb_hid.c b/audio/mixxx22/files/patch-lib_hidapi-0.8.0-rc1_libusb_hid.c new file mode 100644 index 000000000000..262647d3ea6f --- /dev/null +++ b/audio/mixxx22/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/mixxx22/files/patch-plugins_soundsourcem4a_soundsourcem4a.h b/audio/mixxx22/files/patch-plugins_soundsourcem4a_soundsourcem4a.h new file mode 100644 index 000000000000..d45a2ae4a508 --- /dev/null +++ b/audio/mixxx22/files/patch-plugins_soundsourcem4a_soundsourcem4a.h @@ -0,0 +1,11 @@ +--- plugins/soundsourcem4a/soundsourcem4a.h.orig 2019-07-19 22:36:09 UTC ++++ plugins/soundsourcem4a/soundsourcem4a.h +@@ -5,6 +5,8 @@ + + #include "util/readaheadsamplebuffer.h" + ++#include ++ + #ifdef __MP4V2__ + #include + #else diff --git a/audio/mixxx22/files/patch-src-encoder_encodermp3.cpp b/audio/mixxx22/files/patch-src-encoder_encodermp3.cpp new file mode 100644 index 000000000000..67914779e1c1 --- /dev/null +++ b/audio/mixxx22/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/mixxx22/files/patch-src-util_screensaver.cpp b/audio/mixxx22/files/patch-src-util_screensaver.cpp new file mode 100644 index 000000000000..a05c284ecba3 --- /dev/null +++ b/audio/mixxx22/files/patch-src-util_screensaver.cpp @@ -0,0 +1,27 @@ +--- src/util/screensaver.cpp 2018-04-22 02:22:56.333283000 -0500 ++++ src/util/screensaver.cpp 2018-04-22 02:24:03.836501000 -0500 +@@ -23,13 +23,13 @@ + # include "util/mac.h" + #elif defined(Q_OS_WIN) + # include +-#elif defined(Q_OS_LINUX) ++#elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + # include + #elif HAVE_XSCREENSAVER_SUSPEND + # include + #endif // Q_OS_WIN + +-#if defined(Q_OS_LINUX) || HAVE_XSCREENSAVER_SUSPEND ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) || HAVE_XSCREENSAVER_SUSPEND + # define None XNone + # define Window XWindow + # include +@@ -140,7 +140,7 @@ + s_enabled = false; + } + +-#elif defined(Q_OS_LINUX) ++#elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + const char *SCREENSAVERS[][4] = { + // org.freedesktop.ScreenSaver is the standard. should work for gnome and kde too, + // but I add their specific names too diff --git a/audio/mixxx22/files/patch-src_controllers_controllermanager.cpp b/audio/mixxx22/files/patch-src_controllers_controllermanager.cpp new file mode 100644 index 000000000000..7b2fc13b2c09 --- /dev/null +++ b/audio/mixxx22/files/patch-src_controllers_controllermanager.cpp @@ -0,0 +1,12 @@ +--- src/controllers/controllermanager.cpp 2018-04-15 13:30:27.000000000 -0500 ++++ src/controllers/controllermanager.cpp 2018-04-21 22:34:32.638474000 -0500 +@@ -127,7 +127,9 @@ + + // Instantiate all enumerators. Enumerators can take a long time to + // construct since they interact with host MIDI APIs. ++#ifdef __PORTMIDI__ + m_enumerators.append(new PortMidiEnumerator()); ++#endif + #ifdef __HSS1394__ + m_enumerators.append(new Hss1394Enumerator()); + #endif diff --git a/audio/mixxx22/files/patch-src_controllers_controllerpresetfilehandler.cpp b/audio/mixxx22/files/patch-src_controllers_controllerpresetfilehandler.cpp new file mode 100644 index 000000000000..464b33c32d4b --- /dev/null +++ b/audio/mixxx22/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/mixxx22/files/patch-vamp-plugins_SConscript b/audio/mixxx22/files/patch-vamp-plugins_SConscript new file mode 100644 index 000000000000..dfc658763c92 --- /dev/null +++ b/audio/mixxx22/files/patch-vamp-plugins_SConscript @@ -0,0 +1,11 @@ +--- vamp-plugins/SConscript 2018-11-06 14:08:42.093656000 -0500 ++++ vamp-plugins/SConscript 2018-11-06 14:08:56.517582000 -0500 +@@ -54,7 +54,7 @@ + # If there is no system vamp-sdk is installed or if the version + # of the installed vamp-sdk is less than the bundled version, + # then we'll directly link the bundled vamp-sdk. +- if not conf.CheckLib('vamp-sdk') or not conf.CheckForPKG('vamp-plugin-sdk', '2.7.1'): ++ if not conf.CheckLib('vamp-hostsdk') or not conf.CheckForPKG('vamp-sdk', '2.7.1'): + INTERNAL_VAMP_PATH = '#lib/vamp' + # For header includes + env.Append(CPPPATH=[INTERNAL_VAMP_PATH]) diff --git a/audio/mixxx22/pkg-descr b/audio/mixxx22/pkg-descr new file mode 100644 index 000000000000..1f4dd927512c --- /dev/null +++ b/audio/mixxx22/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: https://mixxx.org/ diff --git a/audio/mixxx22/pkg-plist b/audio/mixxx22/pkg-plist new file mode 100644 index 000000000000..f979cbcf6269 --- /dev/null +++ b/audio/mixxx22/pkg-plist @@ -0,0 +1,7 @@ +bin/mixxx +%%FAAD%%lib/mixxx/plugins/soundsourceqt5/libsoundsourcem4a.so +%%WAVPACK%%lib/mixxx/plugins/soundsourceqt5/libsoundsourcewv.so +lib/mixxx/plugins/vampqt5/libmixxxminimal.so +share/appdata/mixxx.appdata.xml +share/applications/mixxx.desktop +share/pixmaps/mixxx_icon.svg