# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
github.setup grame-cncm faust fda4ac1ee139558ce805dbdb394992bd0b1b89a8
# When updating faust2-devel to a new version, please rebuild faustlive-devel
# simultaneously by increasing its revision or updating it to a new version.
checksums rmd160 b9e6ef758b57fcb4ac63b0956bf190db87a2c727 \
sha256 001136f31baddfe208279cfed69446ea4fbbe1be23b5482e20699f48b5e6b1c6
conflicts faust faust-devel
maintainers ryandesign gmail.com:aggraef
homepage http://faust.grame.fr/
description functional programming language for realtime audio
long_description Faust is a functional programming language \
specifically designed for realtime audio applications \
and plugins. This is the Faust2 branch which offers \
additional backends for C, Java and LLVM bitcode.
if {${os.platform} eq "darwin" && ${os.major} > 14} {
# clang 3.4 isn't supported in the latest macOS versions any more, go with LLVM 3.9 instead.
set llvm_prefix ${prefix}/libexec/llvm-${llvm_version}
build.env PATH=${llvm_prefix}/bin:$env(PATH)
depends_build port:pkgconfig
depends_lib port:clang-${llvm_version} \
port:llvm-${llvm_version} \
path:lib/libssl.dylib:openssl
reinplace "s|/usr/local/|/usr/./local/|g" \
${worksrcpath}/tools/faust2appls/faust2faustvst
reinplace "s|/usr/local|${prefix}|g" \
${worksrcpath}/compiler/parser/enrobage.cpp \
${worksrcpath}/compiler/tlib/compatibility.cpp \
${worksrcpath}/tools/scbuilder/scbuilder \
{*}[glob ${worksrcpath}/tools/faust2appls/faust2*]
fs-traverse f ${worksrcpath} {
switch [file rootname [file tail ${f}]] {
reinplace "s|/usr/local|${prefix}|g" ${f}
reinplace "s|/opt/local|${prefix}|g" ${f}
reinplace "s|/usr/./local/|/usr/local/|g" \
${worksrcpath}/tools/faust2appls/faust2faustvst