freebsd-ports/multimedia/qmmp-qt5/Makefile
Olivier Duchateau f3966fd6a7 Update to 1.0.5
PR:		205916
Submitted by:	<liangtai.s16@gmail.com> (maintainer)
2016-01-08 09:58:20 +00:00

348 lines
12 KiB
Makefile

# $FreeBSD$
PORTNAME= qmmp
PORTVERSION= 1.0.5
CATEGORIES= multimedia
MASTER_SITES= http://qmmp.ylsoftware.com/files/ \
SF/qmmp-dev/${PORTNAME}/
PKGNAMESUFFIX= -qt5
MAINTAINER= liangtai.s16@gmail.com
COMMENT= Qt5-based multimedia player
LICENSE= GPLv2
CONFLICTS= ${PORTNAME}-0.*
USES= cmake:outsource desktop-file-utils pkgconfig tar:bzip2
USE_QT5= core gui network widgets xml \
buildtools_build linguisttools_build qmake_build
USE_LDCONFIG= yes
OPTIONS_SUB= yes
OPTIONS_GROUP= DOCUMENTS PLUGIN_APPLICATION PLUGIN_FORMATS \
PLUGIN_DSP_EFFECTS PLUGIN_VISUAL_EFFECTS PLUGIN_OUTPUT \
PLUGIN_PLAYLIST PLUGIN_NETWORKING MISC
PLUGIN_APPLICATION_DESC= Main program view
OPTIONS_GROUP_PLUGIN_APPLICATION= GNOMEHOTKEY HOTKEY KDENOTIFY \
NOTIFIER QMMP_DIALOG QSUI SKINNEDUI STATICON
DOCUMENTS_DESC= Documentation and API Reference
OPTIONS_GROUP_DOCUMENTS= DOCS DOXYGEN
PLUGIN_FORMATS_DESC= Support various media formats
OPTIONS_GROUP_PLUGIN_FORMATS= CDDA FAAD FFMPEG FLAC GME MAD MODPLUG \
MUSEPACK OPUS SNDFILE VORBIS WAVPACK WILDMIDI
PLUGIN_DSP_EFFECTS_DESC= DSP effects
OPTIONS_GROUP_PLUGIN_DSP_EFFECTS= BS2B CROSSFADE LADSPA SRCONV STEREO
PLUGIN_VISUAL_EFFECTS_DESC= Visual effects
OPTIONS_GROUP_PLUGIN_VISUAL_EFFECTS= ANALYZER PROJECTM
PLUGIN_OUTPUT_DESC= Output sound systems
OPTIONS_GROUP_PLUGIN_OUTPUT= ALSA JACK NULLOUT OSS OSS4 PULSEAUDIO
PLUGIN_PLAYLIST_DESC= Playlist operation
OPTIONS_GROUP_PLUGIN_PLAYLIST= COPYPASTE DIR_ASSOC FILEOPS HAL \
TRACKCHANGE UDISKS2
PLUGIN_NETWORKING_DESC= Features via the Net
OPTIONS_GROUP_PLUGIN_NETWORKING= COVER CURL LYRICS MMS SB SCROBBLER
MISC_DESC= Other features
OPTIONS_RADIO= MPLAYER
OPTIONS_RADIO_MPLAYER= MPLAYER1 MPLAYER2
OPTIONS_GROUP_MISC= CONVERTER CUE ENCA MPLAYER MPRIS RGSCAN SID
OPTIONS_DEFAULT= ALSA ANALYZER BS2B CDDA CONVERTER COPYPASTE COVER \
CROSSFADE CUE CURL DIR_ASSOC ENCA FAAD FFMPEG FILEOPS FLAC \
GNOMEHOTKEY GME HAL HOTKEY JACK KDENOTIFY LADSPA LYRICS MAD \
MMS MODPLUG MPRIS MPLAYER MPLAYER1 MUSEPACK NOTIFIER NULLOUT \
OPUS OSS4 PROJECTM PULSEAUDIO QMMP_DIALOG QSUI RGSCAN \
SB SCROBBLER SID SKINNEDUI SNDFILE SRCONV STATICON STEREO \
TRACKCHANGE UDISKS2 VORBIS WAVPACK WILDMIDI
DOXYGEN_BUILD_DEPENDS= doxygen:${PORTSDIR}/devel/doxygen
QSUI_DESC= Simple UI based on standard widgets set
QSUI_CMAKE_ON= -DUSE_QSUI:BOOL=TRUE
QSUI_CMAKE_OFF= -DUSE_QSUI:BOOL=FALSE
SKINNEDUI_DESC= Skinned GUI
SKINNEDUI_USE= QT5=x11extras
SKINNEDUI_CMAKE_ON= -DUSE_SKINNED:BOOL=TRUE
SKINNEDUI_CMAKE_OFF= -DUSE_SKINNED:BOOL=FALSE
DIR_ASSOC_DESC= inode/directory mime type association
DIR_ASSOC_CMAKE_ON= -DUSE_DIR_ASSOC:BOOL=TRUE
DIR_ASSOC_CMAKE_OFF= -DUSE_DIR_ASSOC:BOOL=FALSE
JACK_LIB_DEPENDS= libjack.so:${PORTSDIR}/audio/jack
JACK_BUILD_DEPENDS= jackit>=0.121.2:${PORTSDIR}/audio/jack
JACK_CMAKE_ON= -DUSE_JACK:BOOL=TRUE
JACK_CMAKE_OFF= -DUSE_JACK:BOOL=FALSE
ALSA_LIB_DEPENDS= libasound.so:${PORTSDIR}/audio/alsa-lib
ALSA_CMAKE_ON= -DUSE_ALSA:BOOL=TRUE
ALSA_CMAKE_OFF= -DUSE_ALSA:BOOL=FALSE
BS2B_DESC= Support the Bauer stereophonic2binaural effect
BS2B_LIB_DEPENDS= libbs2b.so:${PORTSDIR}/audio/libbs2b
BS2B_CMAKE_ON= -DUSE_BS2B:BOOL=TRUE
BS2B_CMAKE_OFF= -DUSE_BS2B:BOOL=FALSE
PULSEAUDIO_LIB_DEPENDS= libpulse.so:${PORTSDIR}/audio/pulseaudio
PULSEAUDIO_CMAKE_ON= -DUSE_PULSE:BOOL=TRUE
PULSEAUDIO_CMAKE_OFF= -DUSE_PULSE:BOOL=FALSE
FLAC_LIB_DEPENDS= libFLAC.so:${PORTSDIR}/audio/flac \
libtag.so:${PORTSDIR}/audio/taglib
FLAC_CMAKE_ON= -DUSE_FLAC:BOOL=TRUE
FLAC_CMAKE_OFF= -DUSE_FLAC:BOOL=FALSE
MUSEPACK_LIB_DEPENDS= libmpcdec.so:${PORTSDIR}/audio/musepack \
libtag.so:${PORTSDIR}/audio/taglib
MUSEPACK_CMAKE_ON= -DUSE_MPC:BOOL=TRUE
MUSEPACK_CMAKE_OFF= -DUSE_MPC:BOOL=FALSE
GME_DESC= Support video game music files
GME_LIB_DEPENDS= libgme.so:${PORTSDIR}/audio/libgme
GME_CMAKE_ON= -DUSE_GME:BOOL=TRUE
GME_CMAKE_OFF= -DUSE_GME:BOOL=FALSE
FFMPEG_LIB_DEPENDS= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
FFMPEG_CMAKE_ON= -DUSE_FFMPEG:BOOL=TRUE
FFMPEG_CMAKE_OFF= -DUSE_FFMPEG:BOOL=FALSE
MODPLUG_LIB_DEPENDS= libmodplug.so:${PORTSDIR}/audio/libmodplug
MODPLUG_CMAKE_ON= -DUSE_MODPLUG:BOOL=TRUE
MODPLUG_CMAKE_OFF= -DUSE_MODPLUG:BOOL=FALSE
FAAD_LIB_DEPENDS= libfaad.so:${PORTSDIR}/audio/faad \
libtag.so:${PORTSDIR}/audio/taglib
FAAD_CMAKE_ON= -DUSE_AAC:BOOL=TRUE
FAAD_CMAKE_OFF= -DUSE_AAC:BOOL=FALSE
CDDA_LIB_DEPENDS= libcdio.so:${PORTSDIR}/sysutils/libcdio \
libcdio_cdda.so:${PORTSDIR}/sysutils/libcdio-paranoia
CDDA_CMAKE_ON= -DUSE_CDA:BOOL=TRUE
CDDA_CMAKE_OFF= -DUSE_CDA:BOOL=FALSE
ENCA_DESC= Support automatic character set detection
ENCA_LIB_DEPENDS= libenca.so:${PORTSDIR}/converters/enca
ENCA_CMAKE_ON= -DUSE_ENCA:BOOL=TRUE
ENCA_CMAKE_OFF= -DUSE_ENCA:BOOL=FALSE
MPLAYER1_DESC= mplayer-1.1.x (multimedia/mplayer)
MPLAYER2_DESC= mplayer-2.0.x (multimedia/mplayer2)
MPLAYER1_RUN_DEPENDS= mplayer:${PORTSDIR}/multimedia/mplayer
MPLAYER1_IMPLIES= MPLAYER
MPLAYER2_RUN_DEPENDS= mplayer:${PORTSDIR}/multimedia/mplayer2
MPLAYER2_IMPLIES= MPLAYER
MPLAYER_CMAKE_ON= -DUSE_MPLAYER:BOOL=TRUE
MPLAYER_CMAKE_OFF= -DUSE_MPLAYER:BOOL=FALSE
PROJECTM_DESC= Support the projectM music visualiser
PROJECTM_LIB_DEPENDS= libprojectM.so.2:${PORTSDIR}/graphics/libprojectm
PROJECTM_USE= QT5=opengl
PROJECTM_CMAKE_ON= -DUSE_PROJECTM:BOOL=TRUE
PROJECTM_CMAKE_OFF= -DUSE_PROJECTM:BOOL=FALSE
OSS_CMAKE_ON= -DUSE_OSS:BOOL=TRUE
OSS_CMAKE_OFF= -DUSE_OSS:BOOL=FALSE
OSS4_DESC= Open Sound System (ver4) support
OSS4_BUILD_DEPENDS= ${LOCALBASE}/lib/oss/include/sys/soundcard.h:${PORTSDIR}/audio/oss
OSS4_CMAKE_ON= -DUSE_OSS4:BOOL=TRUE
OSS4_CMAKE_OFF= -DUSE_OSS4:BOOL=FALSE
LADSPA_RUN_DEPENDS= analyseplugin:${PORTSDIR}/audio/ladspa
LADSPA_CMAKE_ON= -DUSE_LADSPA:BOOL=TRUE
LADSPA_CMAKE_OFF= -DUSE_LADSPA:BOOL=FALSE
WILDMIDI_DESC= Support to playback MIDI files
WILDMIDI_LIB_DEPENDS= libWildMidi.so:${PORTSDIR}/audio/wildmidi
WILDMIDI_CMAKE_ON= -DUSE_MIDI:BOOL=TRUE
WILDMIDI_CMAKE_OFF= -DUSE_MIDI:BOOL=FALSE
MAD_LIB_DEPENDS= libmad.so:${PORTSDIR}/audio/libmad \
libtag.so:${PORTSDIR}/audio/taglib
MAD_CMAKE_ON= -DUSE_MAD:BOOL=TRUE
MAD_CMAKE_OFF= -DUSE_MAD:BOOL=FALSE
OPUS_DESC= Enable reading opusfile tags
OPUS_LIB_DEPENDS= libopusfile.so:${PORTSDIR}/audio/opusfile \
libtag.so:${PORTSDIR}/audio/taglib
OPUS_CMAKE_ON= -DUSE_OPUS:BOOL=TRUE
OPUS_CMAKE_OFF= -DUSE_OPUS:BOOL=FALSE
RGSCAN_DESC= ReplayGain scanner
RGSCAN_LIB_DEPENDS= libtag.so:${PORTSDIR}/audio/taglib
RGSCAN_CMAKE_ON= -DUSE_RGSCAN:BOOL=TRUE
RGSCAN_CMAKE_OFF= -DUSE_RGSCAN:BOOL=FALSE
SNDFILE_LIB_DEPENDS= libsndfile.so:${PORTSDIR}/audio/libsndfile
SNDFILE_CMAKE_ON= -DUSE_SNDFILE:BOOL=TRUE
SNDFILE_CMAKE_OFF= -DUSE_SNDFILE:BOOL=FALSE
VORBIS_LIB_DEPENDS= libvorbis.so:${PORTSDIR}/audio/libvorbis \
libtag.so:${PORTSDIR}/audio/taglib
VORBIS_CMAKE_ON= -DUSE_VORBIS:BOOL=TRUE
VORBIS_CMAKE_OFF= -DUSE_VORBIS:BOOL=FALSE
WAVPACK_LIB_DEPENDS= libwavpack.so:${PORTSDIR}/audio/wavpack
WAVPACK_CMAKE_ON= -DUSE_WAVPACK:BOOL=TRUE
WAVPACK_CMAKE_OFF= -DUSE_WAVPACK:BOOL=FALSE
CURL_LIB_DEPENDS= libcurl.so:${PORTSDIR}/ftp/curl
CURL_CMAKE_ON= -DUSE_CURL:BOOL=TRUE
CURL_CMAKE_OFF= -DUSE_CURL:BOOL=FALSE
MMS_LIB_DEPENDS= libmms.so:${PORTSDIR}/net/libmms
MMS_CMAKE_ON= -DUSE_MMS:BOOL=TRUE
MMS_CMAKE_OFF= -DUSE_MMS:BOOL=FALSE
CUE_CMAKE_ON= -DUSE_CUE:BOOL=TRUE
CUE_CMAKE_OFF= -DUSE_CUE:BOOL=FALSE
NULLOUT_DESC= Support null output
NULLOUT_CMAKE_ON= -DUSE_NULL:BOOL=TRUE
NULLOUT_CMAKE_OFF= -DUSE_NULL:BOOL=FALSE
SRCONV_DESC= Support the sample rate converter
SRCONV_LIB_DEPENDS= libsamplerate.so:${PORTSDIR}/audio/libsamplerate
SRCONV_CMAKE_ON= -DUSE_SRC:BOOL=TRUE
SRCONV_CMAKE_OFF= -DUSE_SRC:BOOL=FALSE
CROSSFADE_DESC= Support cross-fade effect
CROSSFADE_CMAKE_ON= -DUSE_CROSSFADE:BOOL=TRUE
CROSSFADE_CMAKE_OFF= -DUSE_CROSSFADE:BOOL=FALSE
STEREO_DESC= Support stereo effect
STEREO_CMAKE_ON= -DUSE_STEREO:BOOL=TRUE
STEREO_CMAKE_OFF= -DUSE_STEREO:BOOL=FALSE
ANALYZER_DESC= Support spectrum analyzer visualization
ANALYZER_CMAKE_ON= -DUSE_ANALYZER:BOOL=TRUE
ANALYZER_CMAKE_OFF= -DUSE_ANALYZER:BOOL=FALSE
CONVERTER_DESC= Support file type converter
CONVERTER_LIB_DEPENDS= libtag.so:${PORTSDIR}/audio/taglib
CONVERTER_CMAKE_ON= -DUSE_CONVERTER:BOOL=TRUE
CONVERTER_CMAKE_OFF= -DUSE_CONVERTER:BOOL=FALSE
COPYPASTE_DESC= Enable copy/paste track infos between playlists
COPYPASTE_CMAKE_ON= -DUSE_COPYPASTE:BOOL=TRUE
COPYPASTE_CMAKE_OFF= -DUSE_COPYPASTE:BOOL=FALSE
MPRIS_DESC= Support the Media Player Remote
MPRIS_USE= QT5=dbus
MPRIS_CMAKE_ON= -DUSE_MPRIS:BOOL=TRUE
MPRIS_CMAKE_OFF= -DUSE_MPRIS:BOOL=FALSE
SCROBBLER_DESC= Support Libre.fm/Last.fm scrobbler feature
SCROBBLER_CMAKE_ON= -DUSE_SCROBBLER:BOOL=TRUE
SCROBBLER_CMAKE_OFF= -DUSE_SCROBBLER:BOOL=FALSE
SID_DESC= Support sid
SID_LIB_DEPENDS= libsidplayfp.so:${PORTSDIR}/audio/libsidplayfp
SID_CMAKE_ON= -DUSE_SID:BOOL=TRUE
SID_CMAKE_OFF= -DUSE_SID:BOOL=FALSE
STATICON_DESC= Support to show status icon
STATICON_CMAKE_ON= -DUSE_STATICON:BOOL=TRUE
STATICON_CMAKE_OFF= -DUSE_STATICON:BOOL=FALSE
SB_DESC= Browser for IceCast stream directory
SB_CMAKE_ON= -DUSE_SB:BOOL=TRUE
SB_CMAKE_OFF= -DUSE_SB:BOOL=FALSE
NOTIFIER_DESC= Support to popup notifier
NOTIFIER_CMAKE_ON= -DUSE_NOTIFIER:BOOL=TRUE
NOTIFIER_CMAKE_OFF= -DUSE_NOTIFIER:BOOL=FALSE
LYRICS_DESC= Support to show lyrics using lyrics.wikia.com
LYRICS_CMAKE_ON= -DUSE_LYRICS:BOOL=TRUE
LYRICS_CMAKE_OFF= -DUSE_LYRICS:BOOL=FALSE
HAL_USE= QT5=dbus
HAL_CMAKE_ON= -DUSE_HAL:BOOL=TRUE
HAL_CMAKE_OFF= -DUSE_HAL:BOOL=FALSE
HOTKEY_DESC= Support global shortcut keys
HOTKEY_USE= QT5=x11extras
HOTKEY_CMAKE_ON= -DUSE_HOTKEY:BOOL=TRUE
HOTKEY_CMAKE_OFF= -DUSE_HOTKEY:BOOL=FALSE
GNOMEHOTKEY_DESC= Support GNOME/Cinnamon shortcut keys
GNOMEHOTKEY_USE= QT5=dbus
GNOMEHOTKEY_CMAKE_ON= -DUSE_GNOMEHOTKEY:BOOL=TRUE
GNOMEHOTKEY_CMAKE_OFF= -DUSE_GNOMEHOTKEY:BOOL=FALSE
FILEOPS_DESC= Support file operation
FILEOPS_CMAKE_ON= -DUSE_FILEOPS:BOOL=TRUE
FILEOPS_CMAKE_OFF= -DUSE_FILEOPS:BOOL=FALSE
COVER_DESC= Support to show cover images
COVER_CMAKE_ON= -DUSE_COVER:BOOL=TRUE
COVER_CMAKE_OFF= -DUSE_COVER:BOOL=FALSE
KDENOTIFY_DESC= Support to popup notifier for KDE
KDENOTIFY_USE= QT5=dbus
KDENOTIFY_CMAKE_ON= -DUSE_KDENOTIFY:BOOL=TRUE
KDENOTIFY_CMAKE_OFF= -DUSE_KDENOTIFY:BOOL=FALSE
TRACKCHANGE_DESC= Enable to run external command each track
TRACKCHANGE_CMAKE_ON= -DUSE_TRACKCHANGE:BOOL=TRUE
TRACKCHANGE_CMAKE_OFF= -DUSE_TRACKCHANGE:BOOL=FALSE
UDISKS2_DESC= Support removable disc detection using UDisks
UDISKS2_USE= QT5=dbus
UDISKS2_CMAKE_ON= -DUSE_UDISKS2:BOOL=TRUE
UDISKS2_CMAKE_OFF= -DUSE_UDISKS2:BOOL=FALSE
QMMP_DIALOG_DESC= An original dialog
QMMP_DIALOG_CMAKE_ON= -DUSE_QMMP_DIALOG:BOOL=TRUE
QMMP_DIALOG_CMAKE_OFF= -DUSE_QMMP_DIALOG:BOOL=FALSE
.include <bsd.port.options.mk>
PLIST_SUB+= SHLIB_VER=${PORTVERSION:C/-.*//}
PORTDOCS= README README.RUS AUTHORS
INSTALLS_ICONS= yes
post-patch:
@${GREP} -L '${LOCALBASE}/lib/oss' \
${WRKSRC}/src/plugins/Output/oss4/CMakeLists.txt | ${XARGS} \
${REINPLACE_CMD} -e 's|/usr/local/|${LOCALBASE}/|'
@${GREP} -L 'libdata/pkgconfig' \
${WRKSRC}/src/qmmp/CMakeLists.txt \
${WRKSRC}/src/qmmpui/CMakeLists.txt | ${XARGS} \
${REINPLACE_CMD} -e '/pkgconfig/s|$${LIB_DIR}|libdata|'
pre-configure:
@${RM} -f ${BUILD_WRKSRC}/CMakeCache.txt
post-build-DOXYGEN-on:
cd ${WRKSRC}/doc && doxygen Doxyfile
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}; \
cd ${WRKSRC} && ${INSTALL_MAN} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
post-install-DOXYGEN-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}/html/search ; \
cd ${WRKSRC}/doc/html && \
${INSTALL_MAN} *.html *.png *.css ${STAGEDIR}${DOCSDIR}/html ; \
cd ${WRKSRC}/doc/html/search && \
${INSTALL_MAN} *.html *.png *.css *.js ${STAGEDIR}${DOCSDIR}/html/search ; \
${RM} -f ${WRKDIR}/PLIST.doc ; \
${FIND} ${STAGEDIR}${DOCSDIR}/html -type f | \
${SED} 's|${STAGEDIR}${PREFIX}/||' \
>> ${WRKDIR}/PLIST.doc ; \
cd ${WRKDIR} ; ${SED} -i -e '/PLIST.doc/ r PLIST.doc' ${TMPPLIST}
.include <bsd.port.mk>