- 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:
Jose Alonso Cardenas Marquez 2018-04-24 03:53:29 +00:00
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

View file

@ -515,6 +515,7 @@
SUBDIR += minitunes
SUBDIR += mixer.app
SUBDIR += mixmos
SUBDIR += mixxx20
SUBDIR += mixxx
SUBDIR += mma
SUBDIR += moc

View file

@ -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
View 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
View 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

View 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]

View 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__')

View 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'):

View 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)
{

View 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";

View file

@ -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

View file

@ -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) {

View 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,

View 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
View 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
View 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