# Created by: trevor # $FreeBSD: head/audio/csound/Makefile 565857 2021-02-18 01:59:10Z yuri $ PORTNAME= csound DISTVERSION= 6.15.0 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 eigen:3 localbase ncurses python:build # is python needed: https://github.com/csound/csound/issues/1437 ? USE_GITHUB= yes USE_LDCONFIG= yes 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 .include .if ${ARCH} == "i386" BROKEN_FreeBSD_11= libcsound64.so.6.0: undefined reference to `__atomic_store_8' / undefined reference to `__atomic_load_8' .endif 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