aboutsummaryrefslogtreecommitdiff
path: root/audio/audacity/Makefile
diff options
context:
space:
mode:
authorThomas Zander <riggs@FreeBSD.org>2016-03-05 18:10:09 +0000
committerThomas Zander <riggs@FreeBSD.org>2016-03-05 18:10:09 +0000
commitda10633945e4665d0e2c151277762c050fe6e013 (patch)
tree023978fc3f7d361f6aee43d55e4f89f0ef7a6c90 /audio/audacity/Makefile
parent5266845bbf762f0e2e5c4037023d7d4687cbe578 (diff)
Fix dependencies, CONFIGURE_ARGS, introduce DYNLOAD OPTION
DYNLOAD is added for run-time linking libmp3lame and libavformat. In future, this might allow for removal of LIB_DEPENDS on lame and ffmpeg. PR: 207307 Submitted by: tatsuki_makino@hotmail.com Reviewed by: xxjack12xx@gmail.com (maintainer) Approved by: xxjack12xx@gmail.com (maintainer)
Notes
Notes: svn path=/head/; revision=410194
Diffstat (limited to 'audio/audacity/Makefile')
-rw-r--r--audio/audacity/Makefile69
1 files changed, 43 insertions, 26 deletions
diff --git a/audio/audacity/Makefile b/audio/audacity/Makefile
index e93794af6e20..ca8bc2dae1f1 100644
--- a/audio/audacity/Makefile
+++ b/audio/audacity/Makefile
@@ -3,7 +3,7 @@
PORTNAME= audacity
PORTVERSION= 2.1.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= audio
MASTER_SITES= https://github.com/audacity/audacity/archive/
DISTNAME= Audacity-${PORTVERSION}
@@ -14,20 +14,21 @@ COMMENT= GUI editor for digital audio waveforms
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-BROKEN_powerpc64= Does not build
-
-LIB_DEPENDS= libsndfile.so:${PORTSDIR}/audio/libsndfile
-
-BUILD_DEPENDS+= autogen:${PORTSDIR}/devel/autogen \
+BUILD_DEPENDS= autogen:${PORTSDIR}/devel/autogen \
bash:${PORTSDIR}/shells/bash \
cmake:${PORTSDIR}/devel/cmake
+LIB_DEPENDS= libexpat.so:${PORTSDIR}/textproc/expat2 \
+ libsndfile.so:${PORTSDIR}/audio/libsndfile
+
+BROKEN_powerpc64= Does not build
WRKSRC= ${WRKDIR}/${PORTNAME}-Audacity-${PORTVERSION}
GNU_CONFIGURE= yes
-USES= compiler:c++11-lib cpe desktop-file-utils gmake pkgconfig shared-mime-info shebangfix dos2unix
+USES= compiler:c++11-lib cpe desktop-file-utils gmake iconv pkgconfig shared-mime-info shebangfix dos2unix
NLS_USES= gettext
NLS_CONFIGURE_ENABLE= nls
+NLS_CONFIGURE_WITH= libintl-prefix="${LOCALBASE}"
OPTIONS_SUB= yes
USE_WX= 3.0+
WX_COMPS= wx
@@ -36,7 +37,7 @@ PORTDOCS= README.txt
DOS2UNIX_GLOB= Makefile.* *.c* *.h
SHEBANG_FILES= lib-src/lv2/build
-OPTIONS_DEFINE= NLS DEBUG DOCS FFMPEG FLAC ID3TAG LADSPA LAME LV2 MAD \
+OPTIONS_DEFINE= NLS DEBUG DOCS DYNLOAD FFMPEG FLAC ID3TAG LADSPA LAME LV2 MAD \
SBSMS SOUNDTOUCH TWOLAME VAMP VORBIS VST
OPTIONS_DEFAULT= FLAC ID3TAG LADSPA MAD \
SBSMS SOUNDTOUCH TWOLAME VAMP VORBIS VST
@@ -47,6 +48,7 @@ OPTIONS_DEFAULT_amd64= SSE
OPTIONS_DEFAULT_i386= ${MACHINE_CPU:tu:MSSE}
DEBUG_DESC= Enable debug support
+DYNLOAD_DESC= Enable dynamic loading of lame and FFmpeg
LAME_DESC= Use lame for import and export support
LV2_DESC= Add LV2 plug-in support
MAD_DESC= Use libmad for mp2/3 decoding support
@@ -60,23 +62,37 @@ VST_DESC= VST plug-in support
CONFIGURE_ENV+= WX_CONFIG="${WX_CONFIG}"
-CONFIGURE_ARGS+= --with-lib-preference="local system" \
- --enable-portaudio --enable-unicode --with-libsoxr
+CONFIGURE_ARGS+= --enable-unicode \
+ ${ICONV_CONFIGURE_ARG} \
+ --with-lib-preference="local" \
+ --with-expat=system \
+ --with-libsndfile=system \
+ --with-libsoxr \
+ --with-portaudio \
+ --with-midi \
+ --with-widgetextra \
+ --with-portmixer=yes
-CONFIGURE_SHELL?=${LOCALBASE}/bin/bash
+CONFIGURE_SHELL?= ${LOCALBASE}/bin/bash
DEBUG_CONFIGURE_WITH= debug
DOCS_BUILD_DEPENDS= docbook-to-man:${PORTSDIR}/textproc/docbook-to-man \
docbook2man:${PORTSDIR}/textproc/docbook-utils
+DYNLOAD_BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/libavcodec.pc:${PORTSDIR}/multimedia/ffmpeg
+DYNLOAD_BUILD_DEPENDS= ${LOCALBASE}/include/lame/lame.h:${PORTSDIR}/audio/lame
+DYNLOAD_CONFIGURE_ENABLE= dynamic-loading
+DYNLOAD_CPPFLAGS= -I${LOCALBASE}/include # for audio/lame using
+DYNLOAD_LDFLAGS= -L${LOCALBASE}/lib # for audio/lame using
+
FFMPEG_CONFIGURE_WITH= ffmpeg=system
FFMPEG_LIB_DEPENDS= libavcodec.so:${PORTSDIR}/multimedia/ffmpeg
-FLAC_CONFIGURE_WITH= libflac
+FLAC_CONFIGURE_WITH= libflac=system
FLAC_LIB_DEPENDS= libFLAC.so:${PORTSDIR}/audio/flac
-ID3TAG_CONFIGURE_WITH= libid3tag
+ID3TAG_CONFIGURE_WITH= libid3tag=system
ID3TAG_LIB_DEPENDS= libid3tag.so:${PORTSDIR}/audio/libid3tag
JACK_LIB_DEPENDS= libjack.so:${PORTSDIR}/audio/jack
@@ -84,44 +100,45 @@ JACK_LIB_DEPENDS= libjack.so:${PORTSDIR}/audio/jack
LADSPA_CONFIGURE_ENABLE= ladspa
LADSPA_RUN_DEPENDS= listplugins:${PORTSDIR}/audio/ladspa
-MAD_CONFIGURE_WITH= libmad
+MAD_CONFIGURE_WITH= libmad=system
MAD_LIB_DEPENDS= libmad.so:${PORTSDIR}/audio/libmad
-LAME_CONFIGURE_WITH= lame
+LAME_CONFIGURE_ON= --with-lame=system
+LAME_CONFIGURE_OFF= --with-lame # --without-lame is broken
+LAME_CPPFLAGS= -I${LOCALBASE}/include
+LAME_LDFLAGS= -L${LOCALBASE}/lib
LAME_LIB_DEPENDS= libmp3lame.so:${PORTSDIR}/audio/lame
LV2_CONFIGURE_WITH= lv2
SBSMS_CONFIGURE_WITH= sbsms
-SOUNDTOUCH_CONFIGURE_WITH= soundtouch
+SOUNDTOUCH_CONFIGURE_WITH= soundtouch=system
SOUNDTOUCH_LIB_DEPENDS= libSoundTouch.so:${PORTSDIR}/audio/soundtouch
SSE_CONFIGURE_ENABLE= sse
-TWOLAME_CONFIGURE_WITH= libtwolame
+TWOLAME_CONFIGURE_WITH= libtwolame=system
TWOLAME_LIB_DEPENDS= libtwolame.so:${PORTSDIR}/audio/twolame
-VAMP_CONFIGURE_WITH= libvamp
+VAMP_CONFIGURE_WITH= libvamp=system
+VAMP_LIB_DEPENDS= libvamp-hostsdk.so:${PORTSDIR}/audio/vamp-plugin-sdk
-VORBIS_CONFIGURE_WITH= libvorbis
+VORBIS_CONFIGURE_WITH= libvorbis=system
VORBIS_LIB_DEPENDS= libvorbis.so:${PORTSDIR}/audio/libvorbis
VST_CONFIGURE_ENABLE= vst
-LDFLAGS+= -lpthread -L${LOCALBASE}/lib
-CPPFLAGS+= -I${WRKSRC}/lib-src/portsmf
-CXXFLAGS+= -I${WRKSRC}/lib-src/portsmf
-CFLAGS+= -I${WRKSRC}/lib-src/portsmf \
- -I${WRKSRC}/lib-src/portaudio-v19/include \
- -I${WRKSRC}/lib-src/lame -I${LOCALBASE}/include
-
.include <bsd.port.pre.mk>
.if ${CHOSEN_COMPILER_TYPE} == gcc
CXXFLAGS+= -std=c++11
.endif
+post-configure:
+ ${REINPLACE_CMD} -e '/SNDFILE_CFLAGS/s,%%LOCALBASE%%,${LOCALBASE},'\
+ ${WRKSRC}/lib-src/libnyquist/Makefile
+
post-install:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}