Prune audio/clementine-player
[dports.git] / audio / csound / Makefile
1 # Created by: trevor
2 # $FreeBSD$
3
4 PORTNAME=       csound
5 PORTVERSION=    5.19.01
6 PORTREVISION=   4
7 CATEGORIES=     audio lang
8 MASTER_SITES=   SF/${PORTNAME}/${PORTNAME}5/${PORTNAME}${PORTVERSION:R} \
9                 SF/${PORTNAME}/${PORTNAME}5/${PORTNAME}${PORTVERSION:R}/manual:manual
10 DISTFILES=      ${PORTNAME:S/c/C/}${PORTVERSION}${EXTRACT_SUFX}
11 DIST_SUBDIR=    csound
12
13 MAINTAINER=     ports@FreeBSD.org
14 COMMENT=        Sound synthesizer
15
16 LICENSE=        LGPL21
17 LICENSE_FILE=   ${WRKSRC}/COPYING
18
19 BUILD_DEPENDS=  swig13>0:devel/swig13 \
20                 eigen>0:math/eigen3 \
21                 gmm++>0:math/gmm++
22 LIB_DEPENDS=    libsndfile.so:audio/libsndfile
23
24 PORTSCOUT=      limit:^5\.
25
26 CONFLICTS_INSTALL=      outguess-* csound6
27
28 WRKSRC=         ${WRKDIR}/${PORTNAME:S/c/C/}${PORTVERSION}
29
30 USES=           bison cpe gettext scons compiler:openmp python
31 CPE_VENDOR=     csounds
32 MAKE_ARGS=      instdir="${STAGEDIR}" prefix="${PREFIX}" \
33                 CC="${CC}" CXX="${CXX}" \
34                 buildCsoundAC=0 buildCsoundVST=0 buildInterfaces=1 \
35                 buildRelease=1 buildVirtual=1 dynamicCsoundLibrary=1 \
36                 install=1 noDebug=1 useDouble=1 \
37                 useGettext=1 usePortMIDI=0
38 USE_LDCONFIG=   yes
39 SSP_UNSAFE=     yes
40
41 CFLAGS+=        -fPIC -fopenmp -DUSE_OPENMP
42 LDFLAGS+=       -pthread -Wl,-export-dynamic
43 LINKFLAGS=      # empty
44
45 SUB_FILES=      pkg-message
46
47 OPTIONS_DEFINE= ALSA PNG DSSI FLTK FLUIDSYNTH JACK OSC PORTAUDIO PULSEAUDIO DOCS
48 OPTIONS_DEFAULT=FLTK
49 OPTIONS_SUB=    yes
50
51 ALSA_DESC=              ALSA I/O module
52 ALSA_LIB_DEPENDS=       libasound.so:audio/alsa-lib
53 ALSA_MAKE_ARGS=         useALSA=1
54 ALSA_MAKE_ARGS_OFF=     useALSA=0
55 ALSA_VARS=              ALSA_H=alsa/asoundlib.h
56 ALSA_VARS_OFF=          ALSA_H=##alsa/asoundlib.h##
57
58 PNG_DESC=               Image opcodes
59 PNG_LIB_DEPENDS=        libpng.so:graphics/png
60 PNG_MAKE_ARGS=          buildImageOpcodes=1
61 PNG_MAKE_ARGS_OFF=      buildImageOpcodes=0
62
63 DSSI_DESC=              DSSI/LADSPA host opcodes
64 DSSI_BUILD_DEPENDS=     dssi>=0:audio/dssi
65 DSSI_LIB_DEPENDS=       libasound.so:audio/alsa-lib
66 DSSI_RUN_DEPENDS=       dssi>=0:audio/dssi
67 DSSI_MAKE_ARGS=         buildDSSI=1
68 DSSI_MAKE_ARGS_OFF=     buildDSSI=0
69
70 FLUIDSYNTH_DESC=        FluidSynth opcodes
71 FLUIDSYNTH_LIB_DEPENDS= libfluidsynth.so:audio/fluidsynth
72 FLUIDSYNTH_VARS=        FLUIDSYNTH_H=fluidsynth.h
73 FLUIDSYNTH_VARS_OFF=    FLUIDSYNTH_H=##fluidsynth.h##
74
75 JACK_DESC=              Jack I/O module and opcodes
76 JACK_LIB_DEPENDS=       libjack.so:audio/jack
77 JACK_MAKE_ARGS=         useJack=1
78 JACK_MAKE_ARGS_OFF=     useJack=0
79
80 OSC_DESC=               OSC opcodes
81 OSC_LIB_DEPENDS=        liblo.so:audio/liblo
82 OSC_MAKE_ARGS=          useOSC=1
83 OSC_MAKE_ARGS_OFF=      useOSC=0
84
85 PORTAUDIO_DESC=         PortAudio I/O module
86 PORTAUDIO_LIB_DEPENDS=  libportaudio.so:audio/portaudio
87 PORTAUDIO_MAKE_ARGS=    usePortAudio=1
88 PORTAUDIO_MAKE_ARGS_OFF=usePortAudio=0
89
90 PULSEAUDIO_DESC=        PulseAudio I/O module
91 PULSEAUDIO_LIB_DEPENDS= libpulse-simple.so:audio/pulseaudio
92 PULSEAUDIO_VARS=        PULSEAUDIO_H=pulse/simple.h
93 PULSEAUDIO_VARS_OFF=    PULSEAUDIO_H=##pulse/simple.h##
94
95 FLTK_DESC=              FLTK plugin and GUI
96 FLTK_LIB_DEPENDS=       libfltk.so:x11-toolkits/fltk
97 FLTK_MAKE_ARGS=         buildCsound5GUI=1 buildCSEditor=1 buildWinsound=1 useFLTK=1
98 FLTK_MAKE_ARGS_OFF=     buildCsound5GUI=0 buildCSEditor=0 buildWinsound=0 useFLTK=0
99
100 DOCS_DISTFILES=         Csound${PORTVERSION:R}_manual_html.zip:manual
101
102 .include <bsd.port.pre.mk>
103
104 .if ${ARCH} == x86_64 || ${ARCH} == sparc64 || ${ARCH} == ia64
105 MAKE_ARGS+=     Word64=1
106 .endif
107
108 .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1000033
109 BUILD_DEPENDS+= flex>0:textproc/flex
110 MAKE_ENV+=      PATH=${LOCALBASE}/bin:$$PATH
111 .endif
112
113 .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000054
114 CXXLIB=         c++
115 .else
116 CXXLIB=         # empty
117 .endif
118
119 BROKEN_powerpc64=       Does not build
120
121 post-patch:
122         @${SED} -e "s|%%LOCALBASE%%|${LOCALBASE}|g; \
123                 s|%%PYTHON_INCLUDEDIR%%|${PYTHON_INCLUDEDIR}|" \
124                 < ${FILESDIR}/custom.py.in > ${WRKSRC}/custom.py
125         @${REINPLACE_CMD} -e "s|'unsupported'|'linux'|; \
126                 s|Exit(-1)|print \"\"|; \
127                 /CCFLAGS/s|\['-Wno-format'\]|Split('${CFLAGS}')|; \
128                 /CXXFLAGS/s|\['-Wno-format'\]|Split('${CXXFLAGS}')|; \
129                 s|/usr/local|${LOCALBASE}|; \
130                 s|/usr/X11R6|${LOCALBASE}|; \
131                 /LINKFLAGS/s|\['-Wl,-Bdynamic'\]|Split('${LDFLAGS}')|; \
132                 s|\"pthread\"|\"\"|; \
133                 s|'pthread'|''|; \
134                 s|\"boost/any.hpp\"|\"##boost/any.hpp##\"|; \
135                 s|\"alsa/asoundlib.h\"|\"${ALSA_H}\"|; \
136                 s|'xmlfile.h'|'##xmlfile.h##'|; \
137                 s|\"pulse/simple.h\"|\"${PULSEAUDIO_H}\"|; \
138                 s|\"m_pd.h\"|\"##m_pd.h##\"|; \
139                 s|\"tcl.h\"|\"##tcl.h##\"|; \
140                 s|'5.2'|'5'|; \
141                 s|'dl'|''|; \
142                 s|'stdc++'|'${CXXLIB}'|; \
143                 /linuxjoystick/s|^.*|    print \"\"|; \
144                 s|\"fluidsynth.h\"|\"${FLUIDSYNTH_H}\"|; \
145                 /mixer_main.c/s|'mixer'|'csmixer'|; \
146                 /jpluginEnvironment/s|'asound'|''|; \
147                 /portaudioEnvironment/s|'asound'|''|; \
148                 /jackEnvironment/s|'asound'|''|" ${WRKSRC}/SConstruct
149         @${REINPLACE_CMD} -e "s|linux/if.h|sys/types.h|" \
150                 ${WRKSRC}/OOps/remote.c
151         @${REINPLACE_CMD} -e "/Str/!s|fdclose|my_fdclose|" \
152                 ${WRKSRC}/OOps/*.c \
153                 ${WRKSRC}/Top/csound.c \
154                 ${WRKSRC}/Engine/auxfd.c \
155                 ${WRKSRC}/H/prototyp.h
156
157 post-install:
158         ${LN} -sf libcsound64.so.5 ${STAGEDIR}${PREFIX}/lib/libcsound64.so
159         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/* ${STAGEDIR}${PREFIX}/lib/*.so* \
160                 ${STAGEDIR}${PREFIX}/lib/csound/plugins64/*.so
161
162 post-install-DOCS-on:
163         @${MKDIR} ${STAGEDIR}${DOCSDIR}
164         (cd ${WRKDIR}/html && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
165
166 .include <bsd.port.post.mk>