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}
13 MAINTAINER= ports@FreeBSD.org
14 COMMENT= Sound synthesizer
17 LICENSE_FILE= ${WRKSRC}/COPYING
19 BUILD_DEPENDS= swig13>0:devel/swig13 \
22 LIB_DEPENDS= libsndfile.so:audio/libsndfile
26 CONFLICTS_INSTALL= outguess-* csound6
28 WRKSRC= ${WRKDIR}/${PORTNAME:S/c/C/}${PORTVERSION}
30 USES= bison cpe gettext scons compiler:openmp python
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
41 CFLAGS+= -fPIC -fopenmp -DUSE_OPENMP
42 LDFLAGS+= -pthread -Wl,-export-dynamic
45 SUB_FILES= pkg-message
47 OPTIONS_DEFINE= ALSA PNG DSSI FLTK FLUIDSYNTH JACK OSC PORTAUDIO PULSEAUDIO DOCS
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##
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
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
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##
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
81 OSC_LIB_DEPENDS= liblo.so:audio/liblo
82 OSC_MAKE_ARGS= useOSC=1
83 OSC_MAKE_ARGS_OFF= useOSC=0
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
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##
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
100 DOCS_DISTFILES= Csound${PORTVERSION:R}_manual_html.zip:manual
102 .include <bsd.port.pre.mk>
104 .if ${ARCH} == x86_64 || ${ARCH} == sparc64 || ${ARCH} == ia64
108 .if ${OPSYS} == FreeBSD && ${OSVERSION} < 1000033
109 BUILD_DEPENDS+= flex>0:textproc/flex
110 MAKE_ENV+= PATH=${LOCALBASE}/bin:$$PATH
113 .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1000054
119 BROKEN_powerpc64= Does not build
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\"|\"\"|; \
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##\"|; \
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|" \
153 ${WRKSRC}/Top/csound.c \
154 ${WRKSRC}/Engine/auxfd.c \
155 ${WRKSRC}/H/prototyp.h
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
162 post-install-DOCS-on:
163 @${MKDIR} ${STAGEDIR}${DOCSDIR}
164 (cd ${WRKDIR}/html && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR})
166 .include <bsd.port.post.mk>