blob: 8ab6dc4eca5ada6bf14e837f01ff7c5507a25743 (
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
|
# Created by: trevor
PORTNAME= csound
DISTVERSION= 6.15.0
PORTREVISION= 3
CATEGORIES= audio lang
MAINTAINER= yuri@FreeBSD.org
COMMENT= Sound synthesizer
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= boost-libs>0:devel/boost-libs \
swig:devel/swig \
gmm++>0:math/gmm++
LIB_DEPENDS= libsamplerate.so:audio/libsamplerate \
libsndfile.so:audio/libsndfile
USES= alias bison cmake compiler:c++11-lib cpe eigen:3 localbase ncurses python:build # is python needed: https://github.com/csound/csound/issues/1437 ?
USE_GITHUB= yes
USE_LDCONFIG= yes
CPE_VENDOR= csounds
CONFLICTS_INSTALL= clearsilver go-cs libextractor outguess
CFLAGS_powerpc= -maltivec
CFLAGS_powerpcspe= -DPFFFT_SIMD_DISABLE
CFLAGS_powerpc64= -maltivec
CMAKE_ARGS= -DBUILD_CSOUNDVST:BOOL=OFF \
-DBUILD_PD_CLASS:BOOL=OFF \
-DPYTHON_MODULE_INSTALL_DIR:PATH="${PYTHONPREFIX_SITELIBDIR}" \
-DOPSYS:STRING="${OPSYS}"
CMAKE_OFF= USE_ALSA BUILD_JAVA_INTERFACE BUILD_TESTS
SSP_UNSAFE= yes
LDFLAGS+= -lexecinfo
SUB_FILES= pkg-message
OPTIONS_DEFINE= CURL FLTK HDF5 NLS OPENMP PORTAUDIO PULSEAUDIO
OPTIONS_GROUP= OPCODES # list is in Opcodes/CMakeLists.txt
OPTIONS_GROUP_OPCODES= BUCHLA CHUA COUNTER DSSI EXCITER FAUST FLUIDSYNTH IMAGE JACK LUA LINALG MP3OUT OSC P5GLOVE PADSYNTH PLATEREV PVSGENDY PYTHON SCANSYN SELECT SERIAL STACK STK VST4CS WIIMOTE # Opcodes/CMakeLists.txt, Opcodes/stk/CMakeLists.txt
OPTIONS_DEFAULT= FLTK OPENMP
OPTIONS_DEFAULT+= BUCHLA CHUA DSSI EXCITER FAUST IMAGE JACK LINALG OSC P5GLOVE PADSYNTH PLATEREV SCANSYN SELECT SERIAL STACK STK # for OPCODES
OPTIONS_SUB= yes
OPCODES_DESC= Build/install opcodes
BUCHLA_DESC= Build the Buchla filter opcode
BUCHLA_CMAKE_BOOL= BUILD_BUCHLA_OPCODES
CHUA_DESC= Build the chua opcodes
CHUA_CMAKE_BOOL= BUILD_CHUA_OPCODES
COUNTER_DESC= Build the serial opcode
COUNTER_CMAKE_BOOL= BUILD_COUNTER_OPCODES
CURL_CMAKE_BOOL= USE_CURL # see https://github.com/csound/csound/issues/1067
CURL_LIB_DEPENDS= libcurl.so:ftp/curl
DSSI_DESC= Build DSSI opcodes
DSSI_BUILD_DEPENDS= dssi>0:audio/dssi
DSSI_LIB_DEPENDS= libdssialsacompat.so:audio/libdssialsacompat
DSSI_RUN_DEPENDS= dssi>0:audio/dssi
DSSI_CMAKE_BOOL= BUILD_DSSI_OPCODES
DSSI_CFLAGS= -isystem ${LOCALBASE}/include/dssi
EXCITER_DESC= Build the exciter opcode
EXCITER_CMAKE_BOOL= BUILD_EXCITER_OPCODES
FLTK_DESC= Build FLTK plugin and GUI
FLTK_USES= xorg
FLTK_USE= XORG=ice,sm,x11,xext
FLTK_LIB_DEPENDS= libfltk.so:x11-toolkits/fltk
FLTK_CMAKE_ON= -DBUILD_WINSOUND:BOOL=ON
FLTK_CMAKE_OFF= -DBUILD_CSOUND_AC:BOOL=OFF \
-DBUILD_VIRTUAL_KEYBOARD:BOOL=OFF \
-DUSE_FLTK:BOOL=OFF
FAUST_DESC= Build the Faust opcodes
FAUST_USES= ssl
FAUST_LLVM_VERSION= 11 # should be the same as in audio/faust
FAUST_LIB_DEPENDS= libfaust.so:audio/faust
FAUST_CMAKE_BOOL= BUILD_FAUST_OPCODES
FAUST_CMAKE_ON= -DFAUST_LLVM_VERSION:STRING=${FAUST_LLVM_VERSION}
FLUIDSYNTH_DESC= Building FluidSynth opcodes
FLUIDSYNTH_LIB_DEPENDS= libfluidsynth.so:audio/fluidsynth
FLUIDSYNTH_CMAKE_BOOL= BUILD_FLUID_OPCODES
FLUIDSYNTH_BROKEN= FluidSynth 2.x is broken upstream: https://github.com/csound/csound/issues/1078#issuecomment-441459803
HDF5_DESC= Build HDF5 read/write plugin
HDF5_LIB_DEPENDS= libhdf5.so:science/hdf5 \
libsz.so:science/szip
HDF5_CMAKE_BOOL= BUILD_HDF5_OPCODES
JACK_DESC= Build the JACK related opcodes
JACK_LIB_DEPENDS= libjack.so:audio/jack
JACK_CMAKE_BOOL= BUILD_JACK_OPCODES USE_JACK
LINALG_DESC= Build the linear algebra opcodes
LINALG_CMAKE_BOOL= BUILD_LINEAR_ALGEBRA_OPCODES
LINALG_CXXFLAGS= -DGMM_VERSION=x # workaround based on https://github.com/csound/csound/issues/1069#issuecomment-439648756
LUA_DESC= Build Lua Interface and module
LUA_LIB_DEPENDS= libluajit-5.1.so:lang/luajit
LUA_CMAKE_BOOL= BUILD_CSOUND_AC_LUA_INTERFACE BUILD_LUA_INTERFACE BUILD_LUA_OPCODES
NLS_USES= gettext
NLS_CMAKE_OFF= -DGETTEXT_MSGFMT_EXECUTABLE:FILEPATH="" \
-DGETTEXT_MSGMERGE_EXECUTABLE:FILEPATH="" \
-DLIBINTL_LIBRARY:FILEPATH="" \
-DUSE_GETTEXT:BOOL=OFF
OPENMP_CMAKE_BOOL= USE_OPEN_MP
MP3OUT_DESC= Build MP3OUT opcodes
MP3OUT_CMAKE_BOOL= BUILD_MP3OUT_OPCODE
OSC_DESC= Build OSC opcodes
OSC_LIB_DEPENDS= liblo.so:audio/liblo
OSC_CMAKE_BOOL= BUILD_OSC_OPCODES
PADSYNTH_DESC= Build the Padsynth opcode
PADSYNTH_CMAKE_BOOL= BUILD_PADSYNTH_OPCODES
IMAGE_DESC= Build Image opcodes
IMAGE_LIB_DEPENDS= libpng.so:graphics/png
IMAGE_CMAKE_BOOL= BUILD_IMAGE_OPCODES
P5GLOVE_DESC= Build PortAudio I/O module
P5GLOVE_CMAKE_BOOL= BUILD_P5GLOVE_OPCODES
PORTAUDIO_DESC= Build PortAudio I/O module
PORTAUDIO_LIB_DEPENDS= libportaudio.so:audio/portaudio
PORTAUDIO_CMAKE_BOOL= USE_PORTAUDIO
PULSEAUDIO_DESC= Build PulseAudio I/O module
PULSEAUDIO_LIB_DEPENDS= libpulse-simple.so:audio/pulseaudio
PULSEAUDIO_CMAKE_BOOL= USE_PULSEAUDIO
PLATEREV_DESC= Build the platerev opcode
PLATEREV_CMAKE_BOOL= BUILD_PLATEREV_OPCODES
PVSGENDY_DESC= Build the pvsgendy opcode
PVSGENDY_CMAKE_BOOL= BUILD_PVSGENDY_OPCODE
PYTHON_DESC= Build the Python opcodes
PYTHON_USES= python
PYTHON_CMAKE_BOOL= BUILD_PYTHON_OPCODES
SCANSYN_DESC= Build the select opcodes
SCANSYN_CMAKE_BOOL= BUILD_SCANSYN_OPCODES
SELECT_DESC= Build the select opcode
SELECT_CMAKE_BOOL= BUILD_SELECT_OPCODE
SERIAL_DESC= Build the serial opcode
SERIAL_CMAKE_BOOL= BUILD_SERIAL_OPCODES
STACK_DESC= Build the stack opcodes
STACK_CMAKE_BOOL= BUILD_STACK_OPCODES
STK_DESC= Build the stk opcodes
STK_CMAKE_BOOL= BUILD_STK_OPCODES
STK_LIB_DEPENDS= libstk.so:audio/stk
VST4CS_DESC= Build the vst4cs opcodes
VST4CS_CMAKE_BOOL= BUILD_VST4CS_OPCODES
WIIMOTE_DESC= Build the Wiimote opcodes
WIIMOTE_CMAKE_BOOL= BUILD_WIIMOTE_OPCODES
WIIMOTE_BROKEN= Need to port wiiuse: https://github.com/rpavlik/wiiuse
post-patch:
@${REINPLACE_CMD} -e \
's|/usr/include/Python2.7|${PYTHON_INCLUDEDIR}| ; \
s|/usr/local|${LOCALBASE}| ; \
/linuxjoystick/s|^|#| ; \
s| dl)|)|' \
${WRKSRC}/Opcodes/CMakeLists.txt
@${REINPLACE_CMD} -e \
'/CMAKE_SYSTEM_NAME/s|"Linux"|"${OPSYS}"|' \
${WRKSRC}/Frontends/CMakeLists.txt
@${REINPLACE_CMD} -e \
's| mixer)| csmixer)|' \
${WRKSRC}/util/CMakeLists.txt
post-install:
@${LN} -sf libcsnd6.so.6.0 ${STAGEDIR}${PREFIX}/lib/libcsnd6.so.6
@${LN} -sf libcsound64.so.6.0 ${STAGEDIR}${PREFIX}/lib/libcsound64.so.6
post-install-FLTK-on:
@${LN} -sf libCsoundAC.so.6.0 ${STAGEDIR}${PREFIX}/lib/libCsoundAC.so.6
.include <bsd.port.mk>
|