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)
This commit is contained in:
Thomas Zander 2016-03-05 18:10:09 +00:00
parent 5266845bbf
commit da10633945
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=410194
7 changed files with 108 additions and 26 deletions

View file

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

View file

@ -0,0 +1,11 @@
--- lib-src/libnyquist/Makefile.am.orig 2016-01-08 22:05:48 UTC
+++ lib-src/libnyquist/Makefile.am
@@ -3,7 +3,7 @@
# Written by Richard Ash following Gary Vaughan's Autobook
PORTAUDIO_CFLAGS = -I${srcdir}/../portaudio-v19/include
-SNDFILE_CFLAGS = -I${builddir}/../libsndfile/src
+#SNDFILE_CFLAGS = -I${builddir}/../libsndfile/src
# tell aclocal that extra macros can be found in autotools/m4/
ACLOCAL_AMFLAGS = -I autotools/m4

View file

@ -0,0 +1,11 @@
--- lib-src/libnyquist/Makefile.in.orig 2016-01-08 22:05:48 UTC
+++ lib-src/libnyquist/Makefile.in
@@ -467,7 +467,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
PORTAUDIO_CFLAGS = -I${srcdir}/../portaudio-v19/include
-SNDFILE_CFLAGS = -I${builddir}/../libsndfile/src
+SNDFILE_CFLAGS = -I%%LOCALBASE%%/include
# tell aclocal that extra macros can be found in autotools/m4/
ACLOCAL_AMFLAGS = -I autotools/m4

View file

@ -0,0 +1,11 @@
--- lib-src/libnyquist/configure.ac.orig 2016-01-08 22:05:48 UTC
+++ lib-src/libnyquist/configure.ac
@@ -117,6 +117,8 @@ dnl Checks for typedefs, structures, and
AC_C_CONST
AC_TYPE_SIZE_T
+AC_SUBST([SNDFILE_CFLAGS])
+
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

View file

@ -0,0 +1,11 @@
--- lib-src/portmixer/configure.orig 2016-01-08 22:05:48 UTC
+++ lib-src/portmixer/configure
@@ -12028,7 +12028,7 @@ fi
#
cppflags_save="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS $PORTAUDIO_CFLAGS"
+CPPFLAGS="$PORTAUDIO_CFLAGS $CPPFLAGS"
have_oss=no
for ac_header in sys/soundcard.h linux/soundcard.h machine/soundcard.h

View file

@ -0,0 +1,11 @@
--- lib-src/portmixer/configure.ac.orig 2016-01-08 22:05:48 UTC
+++ lib-src/portmixer/configure.ac
@@ -43,7 +43,7 @@ PKG_CHECK_MODULES([PORTAUDIO], [portaudi
dnl The following tests need to have the header files of portaudio available.
cppflags_save="$CPPFLAGS"
-CPPFLAGS="$CPPFLAGS $PORTAUDIO_CFLAGS"
+CPPFLAGS="$PORTAUDIO_CFLAGS $CPPFLAGS"
have_oss=no
AC_CHECK_HEADERS([sys/soundcard.h linux/soundcard.h machine/soundcard.h], have_oss=yes)

View file

@ -0,0 +1,10 @@
--- m4/audacity_checklib_libsndfile.m4.orig 2016-01-08 22:05:48 UTC
+++ m4/audacity_checklib_libsndfile.m4
@@ -50,6 +50,7 @@ AC_DEFUN([AUDACITY_CONFIG_LIBSNDFILE], [
SNDFILE_LIBS='$(top_builddir)/lib-src/libsndfile/src/.libs/libsndfile.a'
AC_CONFIG_SUBDIRS([lib-src/libsndfile])
fi
+ export SNDFILE_CFLAGS
AC_SUBST([SNDFILE_CFLAGS])
AC_SUBST([SNDFILE_LIBS])