git: 032d9da08097 - main - audio/mixxx22: Copy audio/mixxx to audio/mixxx22

Jose Alonso Cardenas Marquez acm at FreeBSD.org
Sat Jul 17 17:26:58 UTC 2021


The branch main has been updated by acm:

URL: https://cgit.FreeBSD.org/ports/commit/?id=032d9da080973c0df0814423a07aa64a275d2aa9

commit 032d9da080973c0df0814423a07aa64a275d2aa9
Author:     Jose Alonso Cardenas Marquez <acm at FreeBSD.org>
AuthorDate: 2021-07-17 17:24:08 +0000
Commit:     Jose Alonso Cardenas Marquez <acm at FreeBSD.org>
CommitDate: 2021-07-17 17:26:45 +0000

    audio/mixxx22: Copy audio/mixxx to audio/mixxx22
    
    - Preparing for mixxx update
---
 audio/Makefile                                     |   1 +
 audio/mixxx22/Makefile                             | 116 +++++++++++++++
 audio/mixxx22/distinfo                             |   3 +
 audio/mixxx22/files/patch-build_depends.py         | 159 +++++++++++++++++++++
 audio/mixxx22/files/patch-build_features.py        | 102 +++++++++++++
 audio/mixxx22/files/patch-build_mixxx.py           |  27 ++++
 audio/mixxx22/files/patch-build_qt5.py             |  11 ++
 .../files/patch-lib_hidapi-0.8.0-rc1_libusb_hid.c  |  11 ++
 .../patch-plugins_soundsourcem4a_soundsourcem4a.h  |  11 ++
 .../mixxx22/files/patch-src-encoder_encodermp3.cpp |  11 ++
 audio/mixxx22/files/patch-src-util_screensaver.cpp |  27 ++++
 .../patch-src_controllers_controllermanager.cpp    |  12 ++
 ...src_controllers_controllerpresetfilehandler.cpp |  14 ++
 audio/mixxx22/files/patch-vamp-plugins_SConscript  |  11 ++
 audio/mixxx22/pkg-descr                            |   5 +
 audio/mixxx22/pkg-plist                            |   7 +
 16 files changed, 528 insertions(+)

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 <jylefort at brutele.be>
+
+PORTNAME=	mixxx
+DISTVERSIONPREFIX=	release-
+DISTVERSION=	2.2.4
+PORTREVISION=	5
+CATEGORIES=	audio
+PKGNAMESUFFIX?=	22
+
+MAINTAINER=	acm at 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 <bsd.port.mk>
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 <sys/types.h>
++
+ #ifdef __MP4V2__
+ #include <mp4v2/mp4v2.h>
+ #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 <windows.h>
+-#elif defined(Q_OS_LINUX)
++#elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD)
+ #  include <QtDBus>
+ #elif HAVE_XSCREENSAVER_SUSPEND
+ #  include <X11/extensions/scrnsaver.h>
+ #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 <X11/Xlib.h>
+@@ -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


More information about the dev-commits-ports-all mailing list