2019-12-25 19:53:31 +00:00
|
|
|
# Maintainer: David Runge <dvzrv@archlinux.org>
|
2021-06-22 17:26:46 +00:00
|
|
|
# Maintainer: Brett Cornwall <ainola@archlinux.org>
|
2018-02-13 00:46:38 +00:00
|
|
|
# Contributor: speps
|
|
|
|
# Contributor: Bernardo Barros
|
|
|
|
|
|
|
|
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
|
|
# - disable NEON
|
2018-05-18 14:06:09 +00:00
|
|
|
# - disable java interface
|
2018-02-13 00:46:38 +00:00
|
|
|
# - skip aarch64 - incompatible with beta luajit
|
|
|
|
|
|
|
|
buildarch=22
|
|
|
|
|
|
|
|
pkgbase=csound
|
|
|
|
pkgname=('csound' 'csound-doc')
|
2021-06-22 17:26:46 +00:00
|
|
|
pkgver=6.16.0
|
2021-07-01 02:27:01 +00:00
|
|
|
pkgrel=5
|
2018-02-13 00:46:38 +00:00
|
|
|
pkgdesc="A programming language for sound rendering and signal processing."
|
|
|
|
arch=('x86_64')
|
2019-02-18 15:14:12 +00:00
|
|
|
url="https://csound.com"
|
2020-08-08 18:01:42 +00:00
|
|
|
license=('LGPL2.1')
|
2018-11-07 13:42:32 +00:00
|
|
|
# libpd needs to be packaged: https://github.com/libpd/libpd/releases
|
2019-07-13 21:51:34 +00:00
|
|
|
# gmm > 5.1 breaks linear-algebra opcode: https://github.com/csound/csound/issues/920
|
2021-07-01 02:27:01 +00:00
|
|
|
makedepends=(
|
|
|
|
'alsa-lib'
|
|
|
|
'cmake'
|
|
|
|
'doxygen'
|
|
|
|
'dssi'
|
|
|
|
'fluidsynth'
|
|
|
|
'hdf5'
|
|
|
|
'jack'
|
|
|
|
'java-environment'
|
|
|
|
'ladspa'
|
|
|
|
'libmusicxml'
|
|
|
|
'libsamplerate'
|
|
|
|
'libsndfile'
|
|
|
|
'libwebsockets'
|
|
|
|
'llvm'
|
|
|
|
'lua'
|
|
|
|
'openssl'
|
|
|
|
'portaudio'
|
|
|
|
'portmidi'
|
|
|
|
'portsmf'
|
|
|
|
'python' # Build checks for python sitepackages dir
|
|
|
|
'stk'
|
|
|
|
'strip-nondeterminism'
|
|
|
|
'swig'
|
|
|
|
'wiiuse'
|
|
|
|
)
|
2019-12-25 19:53:31 +00:00
|
|
|
checkdepends=('cunit')
|
2018-11-07 13:42:32 +00:00
|
|
|
source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/${pkgbase}/${pkgbase}/archive/${pkgver}.tar.gz"
|
|
|
|
"${pkgbase}.sh"
|
2018-02-13 00:46:38 +00:00
|
|
|
"https://github.com/${pkgbase}/${pkgbase}/releases/download/${pkgver}/Csound${pkgver}_manual_html.zip"
|
2019-07-13 21:51:34 +00:00
|
|
|
"https://github.com/${pkgbase}/${pkgbase}/releases/download/${pkgver}/Csound${pkgver}_manual_pdf.zip")
|
2021-06-22 17:26:46 +00:00
|
|
|
sha512sums=('218d26604ebc7761b77a19c2aebbf337085fe16ecb0fbefcbca2b4fdc721830e9bbf170a280d1b44534ac5f23e46ec88c01fd2bbbcf882cbca010ceb098d59eb'
|
2018-10-18 23:16:45 +00:00
|
|
|
'53a8ae1e61db2a3a492930ef0f0881b613ae47108c5e8de0a6e2aa28bcf7a5c93c7fea8b7fc2bbae29ab92e1e68bf94ba406be1255ad8ab5725ea9078c1fd6dc'
|
2021-06-22 17:26:46 +00:00
|
|
|
'e550a832e365ab186533045d110259699039d08a85ec2f53d4fe36aa31004725b1dc6732f71d9895fa19b3df5f4ec720af1b4f80856a14b0ffbd844c4ab2dbe3'
|
|
|
|
'18347ce7080ca7997e98f8addffcc492c7ec5d8e037e71a33bb46fdbc5b58ec26ee42f370689fc228d4150bd9dedc31c7824ec4c19f3243d512977f4380f9490')
|
|
|
|
b2sums=('708bf1e28078798863b8e347624eadb0ac215cfad3718bd651d6b4a54cafd844f516d5f06fad4cef3ece9f48398e46a6ac803e9385b1a2cc159f333613305a91'
|
2020-08-08 18:01:42 +00:00
|
|
|
'8a556685d0f9ee55c4de521b3d76fc729936e98e991e8ea860d64b29a1b09d142ab0a51548b2dddadb41ecb796e84ba1f8ed114494b4c67d7d6d8ab3475b2ede'
|
2021-06-22 17:26:46 +00:00
|
|
|
'3bf6e2202a42dfa826d39ef41282e1942f26cc3f6a3358e0de3a006f102b686342b4e1824a1c3a48ac37ffed31d9353e6946d948751dcc059819da649d63d9cb'
|
|
|
|
'7bb35f806568a80abbd84a4f4988217bea09f3174881d802f6d61505f044c8a26b59036dcb61ead5315e756a4512eb1fb56b2824f27f09899a8fe1664a386754')
|
2018-02-13 00:46:38 +00:00
|
|
|
|
|
|
|
prepare() {
|
2019-12-25 19:53:31 +00:00
|
|
|
# fix file permissions in html manual
|
|
|
|
find html/ -type f -exec chmod -c 644 {} \;
|
2018-02-13 00:46:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
build() {
|
2019-06-18 23:16:36 +00:00
|
|
|
local _java_major=$(java --version 2>/dev/null |grep 'openjdk'| cut -d ' ' -f2| cut -d '.' -f1)
|
2019-12-25 19:53:31 +00:00
|
|
|
cd "${pkgbase}-${pkgver}"
|
2019-08-05 18:23:31 +00:00
|
|
|
# it's not allowed to redistribute the scansyn opcodes: https://github.com/csound/csound/issues/1148
|
2019-12-25 19:53:31 +00:00
|
|
|
# the python plugin is not python3 compatible: https://github.com/csound/csound/issues/631
|
2018-11-07 13:42:32 +00:00
|
|
|
cmake -DCMAKE_INSTALL_PREFIX=/usr \
|
2020-08-08 18:01:42 +00:00
|
|
|
-DCMAKE_BUILD_TYPE='None' \
|
2019-08-05 18:23:31 +00:00
|
|
|
-DBUILD_SCANSYN_OPCODES=OFF \
|
2018-11-07 13:42:32 +00:00
|
|
|
-DCMAKE_CXX_FLAGS="-Wno-error -Wno-missing-field-initializers -DPFFFT_SIMD_DISABLE" \
|
|
|
|
-DCMAKE_C_FLAGS="-Wno-error -Wno-missing-field-initializers -DPFFFT_SIMD_DISABLE" \
|
|
|
|
-DBUILD_JAVA_INTERFACE=0 \
|
2019-12-25 19:53:31 +00:00
|
|
|
-DJAVA_AWT_LIBRARY="/usr/lib/jvm/java-${_java_major}-openjdk/jre/lib/libawt.so" \
|
|
|
|
-DJAVA_JVM_LIBRARY="/usr/lib/jvm/java-${_java_major}-openjdk/jre/lib" \
|
2019-07-13 21:51:34 +00:00
|
|
|
-DLUA_LIBRARY=/usr/lib/liblua.so \
|
2018-11-07 13:42:32 +00:00
|
|
|
-DBUILD_STATIC_LIBRARY=ON \
|
2020-08-08 18:01:42 +00:00
|
|
|
-W no-dev \
|
2019-12-25 19:53:31 +00:00
|
|
|
-B build \
|
|
|
|
-S .
|
|
|
|
make VERBOSE=1 -C build
|
2018-02-13 00:46:38 +00:00
|
|
|
}
|
|
|
|
|
2018-11-07 13:42:32 +00:00
|
|
|
check() {
|
2019-12-25 19:53:31 +00:00
|
|
|
cd "${pkgbase}-${pkgver}"
|
|
|
|
make test -C build
|
2018-11-07 13:42:32 +00:00
|
|
|
}
|
|
|
|
|
2018-02-13 00:46:38 +00:00
|
|
|
package_csound() {
|
2018-06-03 16:31:54 +00:00
|
|
|
groups=('pro-audio')
|
2020-01-30 01:06:22 +00:00
|
|
|
depends=('gcc-libs' 'glibc' 'libcurl.so' 'libsamplerate.so' 'libsndfile.so')
|
2019-12-25 19:53:31 +00:00
|
|
|
optdepends=('alsa-lib: for librtalsa plugin'
|
|
|
|
'csound-doc: for the canonical Csound Reference Manual'
|
2021-06-22 17:26:46 +00:00
|
|
|
# TODO: csound-plugins currently destabilizes csound. Once that
|
|
|
|
# package is pushed into the repos we can suggest it.
|
|
|
|
#'csound-plugins: for extra opcodes not shipped with Csound'
|
2019-12-25 19:53:31 +00:00
|
|
|
'csoundqt: for frontend/ editor with integrated help'
|
|
|
|
'hdf5: for hdf5ops plugin'
|
2019-07-13 21:51:34 +00:00
|
|
|
'java-runtime: java integration'
|
2020-08-08 18:01:42 +00:00
|
|
|
'fluidsynth: for libfluidOpcodes plugin'
|
|
|
|
'jack: for libjacko, librtjack and libjackTransport plugins'
|
|
|
|
'liblo: for libosc plugin'
|
|
|
|
'ncurses: for libfaustcsound plugin'
|
|
|
|
'portmidi: for libpmidi plugin'
|
|
|
|
'portaudio: for librtpa plugin'
|
2019-12-25 19:53:31 +00:00
|
|
|
'libpulse: for librtpulse plugin'
|
2020-08-08 18:01:42 +00:00
|
|
|
'stk: for libstkops plugin'
|
2019-12-25 19:53:31 +00:00
|
|
|
'libwebsockets: for libwebsocketIO plugin'
|
2020-08-08 18:01:42 +00:00
|
|
|
'wiiuse: for libwiimote plugin'
|
2019-12-25 19:53:31 +00:00
|
|
|
'libx11: for libwidgets plugin'
|
|
|
|
'lua: for LUA integration'
|
|
|
|
'openssl: for libfaustcsound plugin'
|
2019-07-13 21:51:34 +00:00
|
|
|
'vim-csound: vim integration'
|
2019-12-25 19:53:31 +00:00
|
|
|
'zlib: for libfaustcsound plugin')
|
|
|
|
provides=('libcsound64.so' 'libcsnd6.so')
|
|
|
|
cd "${pkgname}-${pkgver}"
|
2020-08-08 18:01:42 +00:00
|
|
|
make VERBOSE=1 DESTDIR="${pkgdir}/" install -C build
|
2018-02-13 00:46:38 +00:00
|
|
|
|
|
|
|
# export vars in profile.d
|
2018-05-18 14:06:09 +00:00
|
|
|
install -vDm 755 "${srcdir}/${pkgname}.sh" -t "${pkgdir}/etc/profile.d/"
|
2018-07-28 23:14:48 +00:00
|
|
|
# rename extract executable due to name conflict with libextractor
|
|
|
|
# https://github.com/csound/csound/issues/985
|
|
|
|
mv -v "${pkgdir}/usr/bin/extract" "${pkgdir}/usr/bin/${pkgname}-extract"
|
2019-06-18 23:16:36 +00:00
|
|
|
# moving csnd6.jar to /usr/share/java
|
|
|
|
#install -vdm 755 "${pkgdir}/usr/share/java/"
|
|
|
|
#mv -v "${pkgdir}/usr/lib/"*.jar "${pkgdir}/usr/share/java/"
|
2021-04-11 02:01:33 +00:00
|
|
|
|
|
|
|
# For reproducibility (See https://bugs.archlinux.org/task/70331)
|
|
|
|
find ${pkgdir} -name '*.jar' -exec strip-nondeterminism {} +
|
2018-02-13 00:46:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
package_csound-doc() {
|
2020-08-08 18:01:42 +00:00
|
|
|
license=('LGPL2.1' 'GPL')
|
2019-12-25 19:53:31 +00:00
|
|
|
install -vDm 644 "${srcdir}/Csound${pkgver}_manual.pdf" \
|
2018-05-18 14:06:09 +00:00
|
|
|
"${pkgdir}/usr/share/doc/${pkgname}/${pkgbase}-manual.pdf"
|
|
|
|
install -dv "${pkgdir}/usr/share/doc/${pkgname}/html"
|
2019-12-25 19:53:31 +00:00
|
|
|
cp -av "${srcdir}/html/"* "${pkgdir}/usr/share/doc/${pkgname}/html"
|
2018-02-13 00:46:38 +00:00
|
|
|
}
|
|
|
|
# vim:set ts=2 sw=2 et:
|