aboutsummaryrefslogtreecommitdiffstats
path: root/audio/audacity/Makefile
blob: 2744f19fd45e0df7ad22fc3d6000c027aa9e84b4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Created by: Marc van Woerkom <3d@FreeBSD.org>
# $FreeBSD$

PORTNAME=   audacity
PORTVERSION=    2.0.5
PORTREVISION=   2
CATEGORIES= audio
MASTER_SITES=   GOOGLE_CODE \
        SF/${PORTNAME}/${PORTNAME}/${PORTVERSION}
DISTNAME=   ${PORTNAME}-minsrc-${PORTVERSION}

MAINTAINER= xxjack12xx@gmail.com
COMMENT=    GUI editor for digital audio waveforms

LICENSE=    GPLv2

LIB_DEPENDS=    libsndfile.so:${PORTSDIR}/audio/libsndfile

WRKSRC=     ${WRKDIR}/${PORTNAME}-src-${PORTVERSION}

USE_AUTOTOOLS=  aclocal autoconf
GNU_CONFIGURE=  yes
USES=       desktop-file-utils gmake gettext pkgconfig shared-mime-info
USE_XZ=     yes
USE_WX=     2.8
WX_UNICODE= yes
WX_COMPS=   wx
INSTALLS_ICONS= yes
PORTDOCS=   README.txt

OPTIONS_DEFINE= DEBUG DOCS FFMPEG FLAC ID3TAG LADSPA LAME MAD MIDI NYQUIST \
        PORTMIXER SBSMS SOUNDTOUCH TWOLAME VAMP VORBIS
OPTIONS_RADIO=  SAMPLERATED
OPTIONS_RADIO_SAMPLERATED=  RESAMPLE SAMPLERATE SOXR
OPTIONS_DEFAULT=    FFMPEG FLAC ID3TAG LADSPA MAD MIDI NYQUIST \
            PORTMIXER SBSMS SOUNDTOUCH SOXR TWOLAME VAMP VORBIS

DEBUG_DESC= Enable debug support
LAME_DESC=  Use lame for import and export support
MAD_DESC=   Use libmad for mp2/3 decoding support
MIDI_DESC=  Use portSMF for Midi support
NYQUIST_DESC=   Nyquist plug-in support
RESAMPLE_DESC=  Use libresample for sample rate conversion
SAMPLERATE_DESC=    Use libsamplerate for sample rate conversion
SAMPLERATED_DESC=   Default sample rate conversion support
PORTMIXER_DESC= Compile with PortMixer support
SBSMS_DESC= Use libsbsms for pitch and tempo changing
SOUNDTOUCH_DESC=    Use libSoundTouch for pitch and tempo changing
SOXR_DESC=  Use libsoxr for sample rate conversion
TAGLIB_DESC=    Use TagLib for metadata support
TWOLAME_DESC=   Use libtwolame for MP2 export support
VAMP_DESC=  Vamp plug-in support

ACLOCAL_ARGS+=  -I ${WRKSRC}/m4
AUTOCONF_ARGS+= -I ${WRKSRC}/m4

CONFIGURE_ARG+= --destdir=/

CONFIGURE_ENV+= WX_CONFIG="${WX_CONFIG}"

CONFIGURE_ARGS+=    --with-lib-preference="local system" \
            --with-portaudio --enable-unicode

.if ${MACHINE_CPU:Msse}
CONFIGURE_ARGS+=    --enable-sse
.else
CONFIGURE_ARGS+=    --disable-sse
.endif

DEBUG_CONFIGURE_WITH=   debug

FFMPEG_CONFIGURE_WITH=  ffmpeg
FFMPEG_RUN_DEPENDS= ffmpeg0:${PORTSDIR}/multimedia/ffmpeg0
FFMPEG_BUILD_DEPENDS=   ffmpeg0>=0:${PORTSDIR}/multimedia/ffmpeg0
FFMPEG_CFLAGS=      -I${LOCALBASE}/include/ffmpeg0
FFMPEG_CPPFLAGS=    -I${LOCALBASE}/include/ffmpeg0
FFMPEG_CXXFLAGS=    -I${LOCALBASE}/include/ffmpeg0

FLAC_CONFIGURE_WITH=    libflac
FLAC_LIB_DEPENDS=   libFLAC.so:${PORTSDIR}/audio/flac

ID3TAG_CONFIGURE_WITH=  libid3tag
ID3TAG_LIB_DEPENDS= libid3tag.so:${PORTSDIR}/audio/libid3tag

JACK_LIB_DEPENDS=   libjack.so:${PORTSDIR}/audio/jack

LADSPA_CONFIGURE_ENABLE=    ladspa
LADSPA_RUN_DEPENDS= listplugins:${PORTSDIR}/audio/ladspa

MAD_CONFIGURE_WITH= libmad
MAD_LIB_DEPENDS=    libmad.so:${PORTSDIR}/audio/libmad

MIDI_CONFIGURE_WITH=    midi

LAME_CONFIGURE_WITH=    lame
LAME_LIB_DEPENDS=   libmp3lame.so:${PORTSDIR}/audio/lame

NYQUIST_CONFIGURE_ENABLE=   nyquist

PORTMIXER_CONFIGURE_WITH=   portmixer

RESAMPLE_CONFIGURE_WITH=    libresample

SAMPLERATE_CONFIGURE_WITH=  libsamplerate
SAMPLERATE_LIB_DEPENDS= libsamplerate.so:${PORTSDIR}/audio/libsamplerate

SBSMS_CONFIGURE_WITH=   sbsms

SOUNDTOUCH_CONFIGURE_WITH=  soundtouch
SOUNDTOUCH_LIB_DEPENDS= libSoundTouch.so:${PORTSDIR}/audio/soundtouch

SOXR_CONFIGURE_WITH=    libsoxr
SOXR_BUILD_DEPENDS= cmake:${PORTSDIR}/devel/cmake

TWOLAME_CONFIGURE_WITH= libtwolame
TWOLAME_LIB_DEPENDS=    libtwolame.so:${PORTSDIR}/audio/twolame

VAMP_CONFIGURE_WITH=    libvamp

VORBIS_CONFIGURE_WITH=  libvorbis
VORBIS_LIB_DEPENDS= libvorbis.so:${PORTSDIR}/audio/libvorbis

.include <bsd.port.pre.mk>

LDFLAGS+=   -L${LOCALBASE}/lib ${PTHREAD_LIBS}
CPPFLAGS+=  -I${WRKSRC}/lib-src/portsmf -I${WRKSRC}/lib-src/portaudio-v19/include -I${LOCALBASE}/include ${PTHREAD_CFLAGS}
CXXFLAGS+=  -I${WRKSRC}/lib-src/portsmf -I${WRKSRC}/lib-src/portaudio-v19/include -I${LOCALBASE}/include ${PTHREAD_CFLAGS}
CFLAGS+=    -I${WRKSRC}/lib-src/portsmf -I${WRKSRC}/lib-src/portaudio-v19/include -I${LOCALBASE}/include ${PTHREAD_CFLAGS}

post-patch:
#audacity links to some dependencies if present, even if explicitly disabled.
#these must be patched out for the case when they are installed but
#option-disabled to avoid unrecorded dependencies.

.if empty(PORT_OPTIONS:MSAMPLERATE)
    @${REINPLACE_CMD} -e 's|libresample.a -lsamplerate $(LIBS)|libresample.a $(LIBS)|' ${WRKSRC}/lib-src/libresample/Makefile.in
.endif

    @${REINPLACE_CMD} -e 's|inline void|static inline void|' ${WRKSRC}/lib-src/libnyquist/nyquist/ffts/src/fftlib.c

post-install:
    @${MKDIR} ${STAGEDIR}${DOCSDIR}
    cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}

.include <bsd.port.post.mk>