- 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
This commit is contained in:
parent
699dfb8461
commit
8a30e1b2d0
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=468174
15 changed files with 335 additions and 0 deletions
|
@ -515,6 +515,7 @@
|
|||
SUBDIR += minitunes
|
||||
SUBDIR += mixer.app
|
||||
SUBDIR += mixmos
|
||||
SUBDIR += mixxx20
|
||||
SUBDIR += mixxx
|
||||
SUBDIR += mma
|
||||
SUBDIR += moc
|
||||
|
|
|
@ -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 \
|
||||
|
|
102
audio/mixxx20/Makefile
Normal file
102
audio/mixxx20/Makefile
Normal file
|
@ -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>
|
3
audio/mixxx20/distinfo
Normal file
3
audio/mixxx20/distinfo
Normal file
|
@ -0,0 +1,3 @@
|
|||
TIMESTAMP = 1483555438
|
||||
SHA256 (mixxx-2.0.0-src.tar.gz) = e1b8f33bba35046608578095ed3209967034579252d84c99e6bc03ec030f676d
|
||||
SIZE (mixxx-2.0.0-src.tar.gz) = 25300881
|
64
audio/mixxx20/files/patch-build_depends.py
Normal file
64
audio/mixxx20/files/patch-build_depends.py
Normal file
|
@ -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]
|
||||
|
60
audio/mixxx20/files/patch-build_features.py
Normal file
60
audio/mixxx20/files/patch-build_features.py
Normal file
|
@ -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__')
|
||||
|
14
audio/mixxx20/files/patch-build_mixxx.py
Normal file
14
audio/mixxx20/files/patch-build_mixxx.py
Normal file
|
@ -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'):
|
11
audio/mixxx20/files/patch-lib_hidapi-0.8.0-rc1_libusb_hid.c
Normal file
11
audio/mixxx20/files/patch-lib_hidapi-0.8.0-rc1_libusb_hid.c
Normal file
|
@ -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)
|
||||
{
|
11
audio/mixxx20/files/patch-src-encoder_encodermp3.cpp
Normal file
11
audio/mixxx20/files/patch-src-encoder_encodermp3.cpp
Normal file
|
@ -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";
|
|
@ -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
|
|
@ -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) {
|
17
audio/mixxx20/files/patch-src_musicbrainz_chromaprinter.cpp
Normal file
17
audio/mixxx20/files/patch-src_musicbrainz_chromaprinter.cpp
Normal file
|
@ -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,
|
11
audio/mixxx20/files/patch-src_upgrade.cpp
Normal file
11
audio/mixxx20/files/patch-src_upgrade.cpp
Normal file
|
@ -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/");
|
5
audio/mixxx20/pkg-descr
Normal file
5
audio/mixxx20/pkg-descr
Normal file
|
@ -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/
|
8
audio/mixxx20/pkg-plist
Normal file
8
audio/mixxx20/pkg-plist
Normal file
|
@ -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
|
Loading…
Reference in a new issue