mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
See https://github.com/macports/macports-ports/pull/26909#issuecomment-3339115770
144 lines
5.8 KiB
Tcl
144 lines
5.8 KiB
Tcl
# -*- 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
|
|
|
|
PortSystem 1.0
|
|
PortGroup cmake 1.1
|
|
PortGroup github 1.0
|
|
|
|
github.setup csound csound 6.18.1
|
|
github.tarball_from archive
|
|
revision 4
|
|
categories audio
|
|
license LGPL-2.1+
|
|
maintainers nomaintainer
|
|
|
|
homepage https://www.csound.com
|
|
|
|
description A language that is used to describe sound synthesizers.
|
|
|
|
long_description Csound is a computer programming language for dealing with \
|
|
sound. It is called Csound because it is written in the C \
|
|
programming language, as opposed to some of its \
|
|
predecessors. Csound was written at MIT by Barry Vercoe, \
|
|
based on an earlier language called Music360.
|
|
|
|
checksums rmd160 3702ec791eb5f98f807aed6ec3de7f4eb9deab77 \
|
|
sha256 b84be8237fa9258ef60fdddf36fae27b20c11665811bf5ed12540da9a9a4414e \
|
|
size 31925161
|
|
|
|
depends_build-append \
|
|
port:gettext \
|
|
port:flex \
|
|
port:bison
|
|
|
|
depends_lib port:curl \
|
|
port:gettext-runtime \
|
|
port:liblo \
|
|
port:libsndfile
|
|
|
|
patchfiles MAC_OS_X_VERSION.patch
|
|
patchfiles-append fix-opaddr-typo.patch
|
|
|
|
# https://github.com/csound/csound/pull/1732
|
|
# https://github.com/csound/csound/issues/1733#issuecomment-1668096257
|
|
patchfiles-append 0001-Use-correct-clang-options-in-CMakeLists.patch \
|
|
0002-patch-fix-Altivec.diff
|
|
|
|
compiler.cxx_standard 2011
|
|
|
|
configure.args-append -DBUILD_CXX_INTERFACE=ON \
|
|
-DBUILD_DSSI_OPCODES=OFF \
|
|
-DBUILD_JAVA_INTERFACE=OFF \
|
|
-DBUILD_LUA_INTERFACE=OFF \
|
|
-DBUILD_TESTS=OFF \
|
|
-DBUILD_UTILITIES=ON \
|
|
-DCS_FRAMEWORK_DEST=${frameworks_dir} \
|
|
-DFAIL_MISSING=ON \
|
|
-DUSE_ALSA=OFF \
|
|
-DUSE_CURL=ON \
|
|
-DUSE_DOUBLE=OFF \
|
|
-DUSE_GETTEXT=ON \
|
|
-DUSE_JACK=OFF \
|
|
-DUSE_PORTAUDIO=OFF \
|
|
-DUSE_PORTMIDI=OFF \
|
|
-DUSE_PULSEAUDIO=OFF
|
|
|
|
# CMake Error at CMakeLists.txt:146 (message): BUILD_TESTS is enabled, but BUILD_STATIC_LIBRARY="OFF"
|
|
# Building static lib does not hurt even without tests enabled, since dylib is still built as well.
|
|
configure.args-append -DBUILD_STATIC_LIBRARY=ON
|
|
|
|
if {${configure.build_arch} ni [list arm i386 ppc]} {
|
|
default_variants-append +double
|
|
}
|
|
|
|
if {${configure.build_arch} in [list ppc ppc64]} {
|
|
# We do not want to add -mcpu= here, that is not safe.
|
|
configure.optflags-append -mtune=native
|
|
# Absence of altivec is not automatically detected.
|
|
if {[catch {sysctl hw.vectorunit} result] || $result == 0} {
|
|
configure.cppflags-append \
|
|
-DPFFFT_SIMD_DISABLE
|
|
}
|
|
# In either case, enforce a local build.
|
|
archive_sites
|
|
}
|
|
|
|
if [variant_isset double] {
|
|
set libname CsoundLib64
|
|
} else {
|
|
set libname CsoundLib
|
|
}
|
|
|
|
set cs_framework_path ${libname}.framework/Versions/6.0
|
|
set csoundlib ${cs_framework_path}/${libname}
|
|
|
|
post-destroot {
|
|
# While this is not immediately obvious upon install, dylib and binaries are built with wrong paths:
|
|
# /opt/local/lib/CsoundLib64.framework/Versions/6.0/CsoundLib64
|
|
# At the same time this is installed correctly into the framework directory, so the path points to nothing.
|
|
# CMakeLists are a mess, and it is unclear what in particular breaks this. Fix paths in destroot:
|
|
system -W ${destroot}${frameworks_dir} "install_name_tool -id ${frameworks_dir}/${csoundlib} ./${csoundlib}"
|
|
system -W ${destroot}${prefix}/lib "install_name_tool -change ${prefix}/lib/${csoundlib} ${frameworks_dir}/${csoundlib} ./libcsnd6.6.0.dylib"
|
|
foreach bin [glob ${destroot}${prefix}/bin/*] {
|
|
system "install_name_tool -change ${prefix}/lib/${csoundlib} ${frameworks_dir}/${csoundlib} ${bin}"
|
|
}
|
|
# Existing targets also omit headers from /interfaces, which are needed for some dependents:
|
|
# https://github.com/CsoundQt/CsoundQt/issues/392
|
|
xinstall -d ${destroot}${prefix}/include/${name}
|
|
fs-traverse f ${worksrcpath}/interfaces {
|
|
if {[file isfile ${f}] && ([file extension ${f}] == ".h" || [file extension ${f}] == ".hpp")} {
|
|
copy ${f} ${destroot}${prefix}/include/${name}/
|
|
}
|
|
}
|
|
}
|
|
|
|
variant double description "Use double precision" {
|
|
# See: http://www.csounds.com/manual/html/MiscCsound64.html
|
|
configure.args-replace -DUSE_DOUBLE=OFF \
|
|
-DUSE_DOUBLE=ON
|
|
}
|
|
|
|
variant portaudio conflicts pulseaudio description "Use PortAudio" {
|
|
depends_build-append port:portaudio
|
|
configure.args-replace -DUSE_PORTAUDIO=OFF \
|
|
-DUSE_PORTAUDIO=ON
|
|
}
|
|
|
|
variant pulseaudio conflicts portaudio description "Use PulseAudio" {
|
|
depends_build-append port:pulseaudio
|
|
configure.args-replace -DUSE_PULSEAUDIO=OFF \
|
|
-DUSE_PULSEAUDIO=ON
|
|
}
|
|
|
|
variant tests description "Build tests" {
|
|
depends_build-append port:cunit
|
|
configure.args-replace -DBUILD_TESTS=OFF \
|
|
-DBUILD_TESTS=ON
|
|
|
|
# Otherwise libraries are looked for in the prefix, which fails, if the port has not been installed earlier.
|
|
test.env-append DYLD_LIBRARY_PATH=${cmake.build_dir}:${cmake.build_dir}/${cs_framework_path}
|
|
test.run yes
|
|
}
|
|
|
|
# Note: fltk functionality has moved to a separate 'plugins' repo upstream.
|
|
# Ports could be created for some or all of those plugins if desired.
|